XSD中的targetNameSpace解释
程序员文章站
2022-04-24 08:29:11
...
参考链接:http://blog.csdn.net/colin1014/article/details/357694
xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找:
例如:以下xsd文件,就出现了该错误,即便是在一个xsd中,也必须从定义的名字空间中找重用组建:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="AAA" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Student" type="stu"/>
<xs:complexType name="stu">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Class" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
以上代码中,复杂类型stu是找不到的,因为你定义了一个名字空间AAA,该复杂类型存在于AAA中,因此应该修改代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="AAA" xmlns:student="AAA" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Student" type="student:stu"/>
<xs:complexType name="stu">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Class" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
若自身并不是用重用组建,仅供外部使用的话,则只定义targetNameSpace就可以,不用指定别名。
xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找:
例如:以下xsd文件,就出现了该错误,即便是在一个xsd中,也必须从定义的名字空间中找重用组建:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="AAA" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Student" type="stu"/>
<xs:complexType name="stu">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Class" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
以上代码中,复杂类型stu是找不到的,因为你定义了一个名字空间AAA,该复杂类型存在于AAA中,因此应该修改代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="AAA" xmlns:student="AAA" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Student" type="student:stu"/>
<xs:complexType name="stu">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Class" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
若自身并不是用重用组建,仅供外部使用的话,则只定义targetNameSpace就可以,不用指定别名。
上一篇: G盘格式化了,要怎样找回文件
下一篇: XSD和XML中的命名空间
推荐阅读
-
关于链表初始化中为何使用二级指针(指向指针的指针)的对比解释
-
Linux rpm包中的64位、32位、i386、i586、Noarch名词解释
-
用实例解释Python中的继承和多态的概念
-
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
-
Python中对于GIL全局解释器锁的一点理解
-
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
-
Python中几个比较常见的名词解释
-
荐 java基础中的--------构造方法+静态+代码块+主方法解释
-
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
-
Java中名词的解释