在定义XML Schema时,通常我们会定义一些命名空间,例如:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.liulutu.com/students/"
targetNamespace="http://www.liulutu.com/students/">
...
</schema>
(以下我的理解,错了别怪我)
其中:
- xmlns:定义了默认的命令空间,也就是在当前schema中元素的默认命名空间。例如"schema"元素,由于没有给出一个名称空间前缀,所以默认的命名空间就是由"xmlns"给出的值http://www.w3.org/2001/XMLSchema。
- targetNamespace:目标元素的命名空间。所谓的目标元素是指符合这份schema定义的xml文档里的元素,例如:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.liulutu.com/students/"
targetNamespace="http://www.liulutu.com/students/">
<element name="students">
<complexType>
<sequence>
<element name="student" type="tns:StudentType" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<simpleType name="SexType">
<restriction base="string">
<enumeration value="Male"></enumeration>
<enumeration value="Female"></enumeration>
</restriction>
</simpleType>
<complexType name="StudentType">
<attribute name="sex" type="tns:SexType"></attribute>
<attribute name="name" type="string"></attribute>
</complexType>
</schema>
对应的一份可能的目标xml内容为:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:students xmlns:ns2="http://www.liulutu.com/students/">
<student name="aaa" sex="Male"/>
<student name="bbb" sex="Female"/>
</ns2:students>
那个这个targetNamespace就是用来定义students和student元素的名称空间
- xmlns:tns:一份Xml schema里有时可能不止引用一个名称空间,因此就使用"xmlns:XXX"格式来定义一些其他的名称空间,然后引用些空间里的元素如下:"XXX:name"
要声明一个schema的地址,可以如下做:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd"
其中schemaLocation的namespace需要是XMLSchema的名称空间,每个Location是一对值,其中前半部分代表这个schema的名称空间,后半部分值代码schema文件的路径
分享到:
相关推荐
XML Schema中命名空间的使用是非常重要的,命名空间可以使我们能够从不同的词汇表中区分定义以及声明。目标命名空间使我们能够区分在XML Schema语言词汇表中的元素声明和在一个其他的假定的化学语言词汇表中的元素...
4. **命名空间管理**:XML Schema支持命名空间,库能有效地管理和处理命名空间,确保正确解析和引用元素和属性。 5. **错误报告**:在验证过程中,如果发现不符合规范的地方,会生成详细的错误信息,帮助开发者调试...
- **XML 以及 XML 命名空间**:熟悉 XML 的基本概念和命名空间的使用。 - **DTD 的基本了解**:尽管 XML Schema 是 DTD 的替代品,但了解 DTD 的基本原理有助于更好地理解 XML Schema 的优势和特点。 通过上述内容...
5. **命名空间管理**:处理XML文档中的命名空间,使得可以正确解析包含多个命名空间的文档。 与"xfire"标签相关,可能表明这个库常用于与XFire(现已被Apache CXF替代)这样的Web服务框架集成。XFire是一个基于Java...
【XML与XMLSchema】 XML,全称可扩展标记语言(eXtensible Markup Language),是一种基于标准通用标记语言SGML的简化版本,由万维网联盟(W3C)于1996年开始制定,并在1998年2月10日发布了XML 1.0规范。它的设计...
XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用...XML Schema 支持命名空间
- 处理命名空间:API支持处理XML文档中的命名空间,以便正确解析和验证具有多个命名空间的文档。 在实际开发中,Apache XML Schema API通常与DOM(Document Object Model)、SAX(Simple API for XML)或StAX...
2. **命名空间**:XML Schema支持命名空间,这使得在同一文档中可以使用相同的名字而不引起冲突。通过使用`xmlns`属性,我们可以为元素和类型指定独特的命名空间前缀。 3. **约束和验证**:XML Schema提供了一套...
4. **命名空间**:XML Schema支持命名空间,这是解决XML文档中相同元素名称冲突的关键机制。通过使用命名空间,不同的XML文档或Schema可以共享相同的元素和属性名称,而不会产生混淆。 5. **约束和验证**:XML ...
目标命名空间(Target Namespace)是XML Schema定义的命名空间,它标识了XML文档中元素和属性的来源。通过指定目标命名空间,我们可以确保不同源的元素和属性可以共存且互不干扰。 在XML Schema中,我们可以通过...
4. 命名空间(Namespace):用于区分相同名称但来自不同来源的元素和属性。 5. 限制和约束(Constraints):如最大长度、最小值、枚举值等,用于规定元素或属性的具体规则。 接下来,你需要掌握如何创建XML文档。...
1. **命名空间**:XML Schema支持命名空间,使得可以在同一文档中定义多个独立的XML模式,避免了元素和属性名的冲突。 2. **数据类型**:XML Schema提供了丰富的内置数据类型,如字符串、整数、浮点数、日期等,还...
<note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://example.com/note.xsd"> <to>George <from>John <heading>Reminder <body>Don't forget the meeting! ``` 对应的 ...
在C#中,我们通常使用System.Xml.Schema命名空间下的类来处理XML Schema。以下是一些关键类: 1. **XmlSchema**: 这是XML Schema的根对象,用于表示整个XML Schema文档。 2. **XmlSchemaSet**: 用于存储和加载多个...
在Java环境中,`xmlschema-1.4.5.jar`是一个关键组件,它提供了一系列API供开发者使用,以便在应用程序中解析、验证XML文档。这个库通常被集成到那些需要处理XML数据,比如Web服务、数据交换或配置文件的应用中。它...
XML Schema支持命名空间,允许在不同的组织和领域中重用元素和属性,同时它引入了数据类型系统,可以对XML元素和属性进行类型约束,如整数、日期、浮点数等。 以下是XML Schema的一些核心概念和特性: 1. **元素...
3. **命名空间支持**:XML Schema支持名称空间,能够处理多个不同来源的元素和属性,避免命名冲突。DTD不支持名称空间。 4. **更强大的约束机制**:XML Schema提供了更多的方式来约束元素和属性,如最大长度、最小...