1. 最简单的Schema文档
hello.xml
<?xml version="1.0"?>
<greeting>Hello World!!</greeting>
hello.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="greeting" type="xsd:string"/>
</xsd:schema>
说明:XML Schema文档后缀名是.xsd,完全符合XML语法,根元素是schema,命名空间
xmlns:xsd="http://www.w3.org/2001/XMLSchema,用元素<element>定义实例文档中的元素,如greeting。
2、含子元素的Schema文档
customer.xml
<customer>
<name>teiki</name>
<address>No.237, Road Waitan, Shanghai</address>
</customer>
customer.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="address" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
说明:实例文档customer.xml中,<customer>元素含有两个子元素,所以我们在Schema文档中采用ComplexType来定义该元素。sequence表示子元素依次出现的顺序。
3、含子元素和孙元素的Schema文档
customer.xml
<customer>
<name>Teiki</name>
<address>
<prefecture>Zhejiang</prefecture>
<city>Hangzhou</city>
<street>Xilu Road, No.121, 7F</street>
</address>
</customer>
address.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<!-- 追加子元素address-->
<xsd:element name="address">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="prefecture" type="xsd:string"/>
<xsd:element name="city" type="xsd:string" />
<xsd:element name="street" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
不过,我们还可以采用ref元素来重新编写这个Schema文档:
address2.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element ref="address"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="address">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="prefecture" type="xsd:string"/>
<xsd:element name="city" type="xsd:string" />
<xsd:element name="street" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
使用ref元素可以直接将其指向另一个模块,使文档更加具有可读性。
分享到:
相关推荐
XML Schema是目前国际标准的XML建模工具,本文将对XML Schema进行详细的介绍,帮助读者初步掌握XML Schema的使用方法和XML Schema文档实例的具体语义。 1. 命名空间的使用 XML Schema中命名空间的使用是非常重要的...
在Java中,XML Schema的验证可以使用javax.xml.validation包,提供了独立于模式语言的验证服务接口。该包提供了三个类来验证文档:SchemaFactory、Schema和Validator。 在实际应用中,XML Schema可以用于: 1. ...
2. **验证XML文档**:通过编译的XSD模型,可以验证XML文档是否符合定义的模式,确保数据的有效性。 3. **类型转换**:XML Schema定义了丰富的数据类型,库提供了将XML数据转换为Java对象,以及反之的功能。 4. **...
6. **模式和模式组合**:XML Schema支持模式(schema)的组合,可以将多个小的模式组合成一个大的模式,便于管理和重用。例如,你可以创建一个通用的`contactInfo`模式,然后在其他多个模式中引用它。 7. **重复组*...
- **模式验证**:通过模式验证工具检查XML文档是否符合定义的模式。 - **继承和重用**:允许定义通用类型,并在此基础上创建更具体的类型。 #### 五、总结 XML Schema作为一种强大的工具,不仅能够精确描述XML文档...
3. **XSModelGroup**:表示XML Schema中的模式组,用于组合其他模式元素,如选择(`<choice>`)、序列(`<sequence>`)和所有(`<all>`)。 4. **XSComplexTypeDefinition** 和 **XSSimpleTypeDefinition**:这两个...
* 入门位于 w3.org/TR/xmlschema-0,它介绍了 XML 模式文档及其设计用途 * 文档结构的标准位于 w3.org/TR/xmlschema-1,它说明了如何定义 XML 文档的结构 * 数据类型的标准位于 w3.org/TR/xmlschema-2,它定义了一些...
5. **约束和验证**:XML Schema提供了强大的约束机制,包括最大出现次数、最小出现次数、长度、模式匹配等,这些约束用于验证XML文档是否符合Schema的规定。验证过程可以帮助捕获错误,确保数据的准确性和完整性。 ...
模式文档是XML Schema的实现,它定义了一组规则来验证XML文档的结构。模式文档通常以`.xsd`为扩展名,根元素是`<xs:schema>`,并需要声明`http://www.w3.org/2001/XMLSchema`名称空间。名称空间的使用使得XML Schema...
此外,由于 Xerces-J 支持 XML Schema 1.1,开发者可以利用这个版本的新特性,如交替模式、断言、自定义数据类型等,提高 XML 文档处理的灵活性和准确性。 综上所述,Xerces-XML-Schema 是一个强大且灵活的 XML ...
1. **命名空间**:XML Schema支持命名空间,使得可以在同一文档中定义多个独立的XML模式,避免了元素和属性名的冲突。 2. **数据类型**:XML Schema提供了丰富的内置数据类型,如字符串、整数、浮点数、日期等,还...
4. **模式约束**:XML Schema提供了模式约束,如必须性、最大出现次数、最小出现次数等,可以指定元素或属性是否必需,以及它们可以出现的次数范围。 5. **复杂类型与简单类型**:复杂类型定义可以包含其他元素、...
XML Schema 1.1引入了一些新特性,如交替模式、断言、多选组和更多数据类型。 ### 5. 错误处理和调试 `xmlschema`库提供了详细的错误报告和调试工具,包括验证失败时的定位信息,这对于开发和调试非常有帮助。 ...
《XML》实验任务书 【2】 XML Schema [实验目的] 1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素...
在Java开发中,XML(可扩展标记语言)常用于数据交换和配置文件,而XSD(XML Schema Definition)则是用于定义XML文档结构的规范。JavaBean是Java编程中的一种面向对象的设计模式,常用于封装数据并提供易于使用的...
### XML Schema 定义详解 XML Schema是一种用于描述XML文档结构和内容的规范,它提供了比DTD(Document Type Definition)更强大的数据类型和结构控制能力。通过使用XML Schema,开发者可以定义XML文档中的元素和...
8. **模式文档的实例化**:阐述如何创建符合XML Schema定义的XML文档实例,以及如何验证这些实例是否有效。 9. **错误处理和警告**:讨论XML Schema验证过程中的错误和警告,以及如何调试和修复问题。 10. **工具...
10. **导入和包含(Import and Include)**:XML Schema允许通过`import`引入其他命名空间的定义,`include`则可以在一个模式中包含另一个模式的定义。 《Addison Wesley - The XML Schema Complete Reference ...
4. 包含和导入:一个XML Schema可以包含或导入另一个XML Schema,实现模式的模块化。 XML Schema 提供了强大的验证功能,确保XML文档符合业务需求和数据规范。在处理XML数据时,使用XML Schema可以显著提高数据处理...