一、背景
在大型的项目开发中,我们往往要是用xml进行一些规范化的处理。这时候就需要有高手先做好上层的一些规则。这时候往往就会用到schema对xml进行一个规范化的校验
二、代码实践
我们以公司和员工为例来实践一下。
1、创建公司校验schema:CompanySchema.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/company"
xmlns:tns="http://www.example.org/company">
<xsd:element name="emp" type="tns:empType"/>
<xsd:complexType name="empType">
<xsd:sequence>
<xsd:element name="empName" type="xsd:string"/>
<xsd:element name="empId" type="tns:empIdType"/>
<xsd:element name="sex" type="tns:sexType"/>
<xsd:element name="age" type="tns:ageType" />
<xsd:element name="email" type="tns:emailType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="empIdType">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="1" />
<xsd:maxExclusive value="100000" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="sexType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="男" />
<xsd:enumeration value="女" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ageType">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="1" />
<xsd:maxExclusive value="120" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="emailType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="(\w+\.*)*\w+@\w+\.[A-Za-z]{2,6}" />
<xsd:minLength value="6" />
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
2、创建员工校验schema:EmpSchema.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/company"
xmlns:tns="http://www.example.org/company">
<xsd:element name="emp" type="tns:empType"/>
<xsd:complexType name="empType">
<xsd:sequence>
<xsd:element name="empName" type="xsd:string"/>
<xsd:element name="empId" type="tns:empIdType"/>
<xsd:element name="sex" type="tns:sexType"/>
<xsd:element name="age" type="tns:ageType" />
<xsd:element name="email" type="tns:emailType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="empIdType">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="1" />
<xsd:maxExclusive value="100000" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="sexType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="男" />
<xsd:enumeration value="女" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ageType">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="1" />
<xsd:maxExclusive value="120" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="emailType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="(\w+\.*)*\w+@\w+\.[A-Za-z]{2,6}" />
<xsd:minLength value="6" />
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
3、创建公司xml:Company.xml
<?xml version="1.0" encoding="UTF-8"?>
<Company xmlns="http://www.example.org/company" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/company">
<companyName>中国实业集团</companyName>
<comppanyAddress>北京市朝阳区呼家楼</comppanyAddress>
<companyEmail>gxsenjoy@163.com</companyEmail>
<emp>
<empName>王刚</empName>
<empId>12345</empId>
<sex>男</sex>
<age>100</age>
<email>wanggang@sino.com</email>
</emp>
<emp>
<empName>瓜瓜</empName>
<empId>100</empId>
<sex>男</sex>
<age>100</age>
<email>guagua@sino.com</email>
</emp>
</Company>
4、注意点
要将EmpSchema.xsd,CompanySchema.xsd的命名空间定义成一样的
分享到:
相关推荐
综上所述,"通过Schema验证XML文件格式是否正确"这个主题涵盖的内容广泛,涉及到XML基础、Schema规范、C#编程以及XML处理的技巧,对于开发和维护涉及XML数据的应用来说,这些都是必不可少的知识点。
2. **验证XML文档**:使用XML解析器或者XML Schema处理器(如Java的JAXB、Apache XMLBeans等)来检查XML文档是否符合XSD的定义。验证过程能发现并报告不符合规范的元素或属性。 3. **根据XML Schema生成XML**:在...
### Java通过XML Schema校验XML #### 背景与挑战 XML(可扩展标记语言)作为一种标准的数据交换格式,在Web服务、配置文件以及其他多种应用领域有着广泛的应用。随着XML的普及,对于XML数据有效性的校验变得越来越...
标题"XML 验证器 - C#中的Schema验证XML"着重强调了使用C#来验证XML文档是否符合预定义的XML Schema。XML Schema是W3C标准,用于定义XML文档的结构和数据类型,确保数据的一致性和准确性。 描述中提到的"博文链接:...
XML Schema定义(XSD)使用XML语法,使得XML文档的验证和处理更加方便。在这个教程中,我们将深入探讨XML Schema的核心概念、优势以及如何在实际应用中使用。 1. XML Schema简介 XML Schema的主要目标是定义XML文档...
XML Schema是XML文档的验证工具,它定义了一种形式化的语言来描述XML文档的结构和数据类型。XML Schema组成元素包括: - **数据类型**:如字符串、整数、日期等,用于限制元素或属性的值。 - **元素声明**:定义元素...
XML Schema是目前国际标准的XML建模工具,本文将对XML Schema进行详细的介绍,帮助读者初步掌握XML Schema的使用方法和XML Schema文档实例的具体语义。 1. 命名空间的使用 XML Schema中命名空间的使用是非常重要的...
本篇文章将深入探讨如何根据XML文件生成对应的XSD schema文件,以便更好地管理和验证XML文档。 首先,我们需要理解XSD的作用。XSD文件定义了一系列规则,这些规则描述了XML文档应该包含哪些元素、属性,以及它们...
1. 验证XML文档是否符合预期的形式 2. 快速检查输入是否大体上符合预期的形式 3.Early detection of problems in data 4. 提高数据的可靠性和一致性 在Java中,XML Schema的验证可以使用javax.xml.validation包,...
- **在应用程序中使用 XML Schema**:XML Schema 可以用于验证 XML 数据的有效性,确保其符合预期的结构和格式要求。 #### 四、XML Schema 标准 - **XML Schema 是 W3C 标准**:XML Schema 在 2001 年成为了万维网...
3. 验证 XML 文档:XML 解析器或验证工具会根据 Schema 对文档进行验证,发现并报告任何不符合 Schema 规则的问题。 例如,一个简单的 XML 文档可能如下所示: ```xml <?xml version="1.0"?> ...
XML Schema可以直接使用XML工具处理,无需额外学习新的语法,同时也继承了XML的自描述性和可扩展性。这种一致性还使得XML Schema能够与被描述的XML文档一起存储,便于管理和模式交换。此外,XML Schema的合法性验证...
XMLSpy是一款流行的XML编辑器和开发工具,支持创建、编辑和验证XML Schema文档。它提供了图形化界面,方便用户编写和管理模式文档,提高了开发效率。 总结来说,XML Schema提供了一种强大且灵活的方式,用于定义和...
* 文档验证:XML Schema可以用于验证XML文档的正确性,确保文档符合预定义的结构和内容。 * 数据存储:XML Schema可以用于定义数据存储的格式和结构,确保数据的正确性和一致性。 XML Schema的优点: * 提高数据...
同时,本实验也可以帮助学生更好地理解XML文档的结构和约束,并掌握如何使用XML Schema来描述和验证XML文档。 知识点: 1. XML Schema的定义和应用 XML Schema是一种基于XML的模式语言,用于定义XML文档的结构和...
至于XML Schema,C#提供了`System.Xml.Schema.XmlSchemaSet`类来加载和验证XML文档的XSD。以下是如何加载并验证XML文档的示例: ```csharp using System.Xml.Schema; // 创建XmlSchemaSet实例 XmlSchemaSet schema...
在Java中,XML Schema(XSD)用于定义和验证XML文档的结构和数据类型,确保文档遵循特定的规范。XML Schema文档使用XML语法定义了一系列规则,这些规则描述了有效XML文档应该具有的元素、属性、数据类型以及它们之间...
[实验目的]: 1、掌握使用XMLSpy软件创建DTD和Schema文档 2、掌握在XML文档如何引入DTD和Schema,并验证有效 3、掌握DTD中声明元素、属性的方法 4、掌握Schema中声明元素,属性,类型的方法
手册还将详细介绍如何在实际应用中验证XML文档是否符合Schema定义,以及处理错误和警告的方法。 XML Schema对于XML的规范化和结构化处理有着至关重要的作用,特别是在企业级应用程序、Web服务和数据交换等场景中。...