在学习spring
的时候需要配置一个xml
文件。大概是这样的。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<context:component-scan base-package="****" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath">
<value>/WEB-INF/vm/</value>
</property>
<property name="velocityProperties">
<props>
<prop key="input.encoding">utf-8</prop>
<prop key="output.encoding">utf-8</prop>
</props>
</property>
</bean>
</beans>
以前没怎么学习过xml
文件,学过之后做个笔记。
参考文献:
命名空间解决的问题
XML的元素名字是不固定的,当两个不同的文档使用同样的名称描述两个不同类型的元素的时候,或者一个同样的标记表示两个不同含义的内容的时候,就会发生命名冲突。
命名空间(Namespace
),对于每一套特定应用的DTD,给它一个独一无二的标志来代表,如果在XML中使用DTD中定义的元素,需将DTD的标志和元素名,属性连在一起使用,相当于指明了元素来自什么地方,这样就不会同其他同名元素混淆了。在XML中,采用现成的,在全球范围唯一的域名作为Namespace
,即URL
作为XML的Namespace
。
命名空间的语法
xmlns:[prefix]="url"
其中xmlns:
是必须的属性。prefix
是命名空间的别名,它的值不能为xml。如果没有别名,则为默认默认命名空间。
- 默认
Namespace
xmlns="url" - 指定了父元素的命名空间,子元素希望用自己的命名空间,可以在子元素中指定命名空间的别名。
- 属性也可以有自己的命名空间。
这些命名空间都有一些规范,包括含有什么元素、属性等,这些规范写在命名空间为http://www.w3.org/2001/XMLSchema-instance
(即xsi
)的schemaLocation
(xsi:"schemaLocation"
)元素中。
xsi:schemaLocation
XML Schema提供了两个在实例文档中使用的特殊属性,用于指出模式文档的位置。这两个属性是:xsi:schemaLocation
和xsi:noNamespaceSchemaLocation
,前者用于声明了目标名称空间的模式文档,后者用于没有目标名称空间的模式文档,它们通常在实例文档中使用。
它定义了XML Namespace
和对应的 XSD
(Xml Schema Definition)文档的位置的关系。它的值由一个或多个URI引用对组成,两个URI之间以空白符分隔(空格和换行均可)。第一个URI是定义的 XML Namespace的值,第二个URI给出Schema文档的位置,Schema处理器将从这个位置读取Schema文档,该文档的targetNamespace
必须与第一个URI相匹配。
xsd
文件示例:
<!--?xml version="1.0" encoding="UTF-8"?-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.sunxin.org/book"
targetnamespace="http://www.sunxin.org/book"
elementformdefault="qualified">
<xs:element name="book" type="bookType"></xs:element>
<xs:complextype name="bookType">
<xs:sequence>
<xs:element name="title" type="xs:string"></xs:element>
<xs:element name="author" type="xs:string"></xs:element>
</xs:sequence>
</xs:complextype>
</xs:schema>
对应xml
文件示例:
<!--?xml version="1.0" encoding="GB2312"?-->
<book xmlns="http://www.sunxin.org/book" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.sunxin.org/book http://www.sunxin.org/
book.xsd">
<title>《Struts 2深入详解》</title>
<author>孙鑫</author>
</book>