<?xml version="1.0" encoding="UTF-8"?>
<!--
	- DispatcherServlet application context for PetClinic's web tier.
-->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxm="http://www.springframework.org/schema/oxm"
       xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm.xsd
		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--
    - The ContentNegotiatingViewResolver delegates to the InternalResourceViewResolver and BeanNameViewResolver,
    - and uses the requested media type (determined by the path extension) to pick a matching view. 
    - When the media type is 'text/html', it will delegate to the InternalResourceViewResolver's JstlView, 
    - otherwise to the BeanNameViewResolver.
    -->
    <mvc:view-resolvers>
        <mvc:content-negotiation use-not-acceptable="true">
            <mvc:default-views>
                <bean class="org.springframework.web.servlet.view.JstlView">
                    <property name="url" value=""/>
                </bean>
            </mvc:default-views>
        </mvc:content-negotiation>

        <!-- Registering BeanNameViewResolver and InternalViewResolver -->
        <mvc:bean-name/>
        <mvc:jsp prefix="/WEB-INF/jsp/" suffix=".jsp"/>
    </mvc:view-resolvers>

    <!-- Renders an XML view. Used by the BeanNameViewResolver  -->
    <bean id="vets/vetList.xml" class="org.springframework.web.servlet.view.xml.MarshallingView">
        <property name="marshaller" ref="marshaller"/>
    </bean>

    <oxm:jaxb2-marshaller id="marshaller">
        <!-- Object-XML mapping declared using annotations inside 'Vets' -->
        <oxm:class-to-be-bound name="org.springframework.samples.petclinic.model.Vets"/>
    </oxm:jaxb2-marshaller>

</beans>
