Xml 如何使用xsd命名空间
我在许多地方搜索了名称空间,但没有得到满意的答案 对于以下xsd文件Xml 如何使用xsd命名空间,xml,xsd,namespaces,Xml,Xsd,Namespaces,我在许多地方搜索了名称空间,但没有得到满意的答案 对于以下xsd文件 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/schema" xmlns="http://www.w3.org/2001/XMLSchema"
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/schema"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="product"/>
</xs:schema>
对于以上代码,以下是我的理解。如果我错了,请纠正我。此外,我对同样的问题有一些疑问:
xmlns:xs=”http://www.w3.org/2001/XMLSchema“
是存储我在当前文档中使用的所有元素和数据类型的定义的地方targetNamespace=”http://www.example.org/schema
实际上是存储当前文件的包名xmlns=”http://www.w3.org/2001/XMLSchema“
:不知道这是什么xmlns:tns**
与targetNamespace相同。那么我们为什么要单独使用它呢首先,两项声明:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.w3.org/2001/XMLSchema"
指出前缀为“xs”的名称和非固定名称都表示W3C XSD规范中定义的名称。这使您可以选择编写
或简单地编写
。声明这两种名称没有特别的原因;最好一致地使用一种形式或另一种形式
属性targetNamespace=”http://www.example.org/schema“
表示此架构正在定义名称空间中元素(可能还有属性)的结构,该名称空间可能是您作为设计控件的名称空间(我的意思是,除了在示例中,您不应该使用特定的名称空间,因为它不是您的名称空间)
这样的声明很常见
xmlns:tns="http://www.example.org/schema"
将前缀(在本例中为“tns”)绑定到架构的目标命名空间的。如果有一个架构组件引用同一目标命名空间中的另一个架构组件(例如引用类型的元素声明),则有两种方法:
(1) <xs:element name="e" type="t"/>
(1)
当“xs”前缀绑定到“”并且默认名称空间与目标名称空间相同时,此方法有效
(2) <element name="e" type="tns:t"/>
(2)
当默认名称空间为“”,且“tns”前缀绑定到目标名称空间时,此操作有效。首先,两个声明:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.w3.org/2001/XMLSchema"
(2) <element name="e" type="tns:t"/>
指出前缀为“xs”的名称和非固定名称都表示W3C XSD规范中定义的名称。这使您可以选择编写
或简单地编写
。声明这两种名称没有特别的原因;最好一致地使用一种形式或另一种形式
属性targetNamespace=”http://www.example.org/schema“
表示此架构正在定义名称空间中元素(可能还有属性)的结构,该名称空间可能是您作为设计控件的名称空间(我的意思是,除了在示例中,您不应该使用特定的名称空间,因为它不是您的名称空间)
这样的声明很常见
xmlns:tns="http://www.example.org/schema"
将前缀(在本例中为“tns”)绑定到架构的目标命名空间的。如果有一个架构组件引用同一目标命名空间中的另一个架构组件(例如引用类型的元素声明),则有两种方法:
(1) <xs:element name="e" type="t"/>
(1)
当“xs”前缀绑定到“”并且默认名称空间与目标名称空间相同时,此方法有效
(2) <element name="e" type="tns:t"/>
(2)
当默认名称空间为“”,且“tns”前缀绑定到目标名称空间时,此选项有效。请尝试W3Schools教程。这不是接受XML名称空间等基础知识培训的地方。请尝试W3Schools教程。这不是接受XML名称空间等基础知识培训的地方。
(2) <element name="e" type="tns:t"/>