XML名称空间
若自身并不使用重用组件,仅供外部使用的话,则只定义targetNameSpace 就可以,不用指定别名。
通过上面的例子,我们可以很深刻的理解targetNameSpace 。targetNamespace 定义了Schema 定义的新元素与属性的名称空间。而"http://www.w3.org/2001/XMLSchema"名称空间则定义了element, attribute, complexType, group, simpleType等元素。
6. schemaLocation
schemaLocation 属性引用具有目标名称空间的 XML 架构文档(.xsd )。
该属性将具有目标名称空间的 XML 架构文档(.xsd )与实例文档(.xml )相关联。不要求 XML 架构有名称空间。
若要为没有目标名称空间的 XML 架构指定位置,请使用 noNamespaceSchemaLocation 属性。此属性中引用的 XML 架构不能有目标名称空间。因为此属性不接受 URL 列表,所以只能指定一个架构位置。
将具有目标名称空间的架构文档与实例文档相关联。可以列出多对 URI 引用,每一对都有不同的名称空间名称部分。
根据万维网联合会 (W3C) XML 架构建议,XML 实例文档可以同时指定
xsi:schemaLocation 和 xsi:noNamespaceSchemaLocation 属性。此外,还可以多次列出同一个命名空间。
以下示例显示如何使用 xsi:schemaLocation 属性为多个 XML 架构文档提供位置信息。
xmlns:p="http://contoso.com/People"
xmlns:v="http://contoso.com /Vehicles"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://contoso.com/People
"> John
28
59
Red
4
2
7.noNamespaceSchemaLocation
noNamespaceSchemaLocation 属性引用没有目标名称空间的 XML 架构文档。
不要求 XML 架构有名称空间。若要为没有目标名称空间的 XML 架构指定位置,请使用 noNamespaceSchemaLocation 属性。此属性中引用的 XML 架构不能有目标名称空间。因为此属性不接受 URL 列表,所以只能指定一个架构位置。