一、基础知识
XML Schema 文件自身就是一个XML文件,但它的扩展名通常为.xsd。
一个XML Schema文档通常称之为模式文档(约束文档),遵循这个文档书写的xml文件称之为实例文档。
和XML文件一样,一个XML Schema文档也必须有一个根结点,但这个根结点的名称为Schema。
编写了一个XML Schema约束文档后,通常需要把这个文件中声明的元素绑定到一个URI地址上,在XML Schema技术中有一个专业术语来描述这个过程,即把XML Schema文档声明的元素绑定到一个名称空间上,以后XML文件就可以通过这个URI(即名称空间)来告诉解析引擎,xml文档中编写的元素来自哪里,被谁约束。
举例如下:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www. itcast.cn"
elementFormDefault="qualified">
<xs:element name='书架' >
<xs:complexType> //复杂的类型
<xs:sequence maxOccurs='unbounded' >//有顺序 没有下标
<xs:element name='书' >
<xs:complexType>
<xs:sequence>
<xs:element name='书名' type='xs:string' />
<xs:element name='作者' type='xs:string' />
<xs:element name='售价' type='xs:string' />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
二、使用名称空间引入Schema
为了在一个XML文档中声明它所遵循的Schema文件的具体位置,通常需要在Xml文档中的根结点中使用schemaLocation属性来指定,例如:
<itcast:书架 xmlns:itcast="http://www.itcast.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=“http://www.itcast.cn book.xsd">
schemaLocation此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置,两者之间用空格分隔。
注意,在使用schemaLocation属性时,也需要指定该属性来自哪里。
举例如下
1、不使用名称空间引入XML Schema文档
文件清单:xmlbook.xml
<?xml version="1.0" encoding="UTF-8"?>
<书架 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="xmlbook.xsd">
<书>
<书名>JavaScript网页开发</书名>
<作者>redarmy</作者>
<售价>28.00元</售价>
</书>
</书架>
2、在XML Schema文档中声明名称空间
文件清单:xmlbook.xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www. itcast.cn"
elementFormDefault="qualified">
<xs:schema>
targetNamespace元素用于指定schema文档中声明的元素属于哪个名称空间。
elementFormDefault元素用于指定,该schema文档中声明的根元素及其所有子元素都属于targetNamespace所指定的名称空间。
综合案例如下:
文件清单:shiper.xml
<?xml version="1.0" encoding="UTF-8"?>
<csdn:shiporder xmlns:csdn="http://www.csdn.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.csdn.net shiper.xsd"
orderid="0001">
<csdn:orderperson/>
<csdn:shipto>
<csdn:name>xxx</csdn:name>
<csdn:address>xxx</csdn:address>
<csdn:city>xx</csdn:city>
<csdn:country>xxx</csdn:country>
</csdn:shipto>
<csdn:item>
<csdn:title>xx</csdn:title>
<csdn:note>xxx</csdn:note>
<csdn:quantity>12000</csdn:quantity>
<csdn:price>1200.0</csdn:price>
</csdn:item>
<csdn:item>
<csdn:title>xx</csdn:title>
<csdn:quantity>12000</csdn:quantity>
<csdn:price>1200.0</csdn:price>
</csdn:item>
</csdn:shiporder>
文件清单:在shiper.xsd中
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.csdn.net" xmlns="http://www.csdn.net"
elementFormDefault="qualified">
<xs:element name="shiporder">
<xs:complexType>
<xs:sequence>
<xs:element name="orderperson" type="xs:string" />
<xs:element name="shipto">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="country" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" />
<xs:element name="note" type="xs:string" minOccurs="0" />
<xs:element name="quantity" type="xs:positiveInteger" />
<xs:element name="price" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="orderid" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
相关推荐
"Java XML 二"之Schema总结,主要关注的是XML Schema,它是XML文档结构和数据类型的一种规范,用于提供比DTD(Document Type Definition)更强大的验证功能。以下是对该主题的详细概述: 1. **XML Schema定义** ...
标题"RFC2256 LDAPv3使用X500用户schema总结中文版"表明本文档是关于在 Lightweight Directory Access Protocol (LDAP) 第3版(LDAPv3)中应用X.500用户模式(schema)的中文版概述。X.500是一套国际标准,定义了...
RFC2256文档是一份关于LDAPv3与X.500(96)用户模式整合的协议备忘录。文档主要讲述了LDAPv3与X.500用户模式结合的使用方法,并对文档的版权信息、状态以及IESG的注意事项进行了说明。 文档强调了其作为Internet标准...
标题与描述均提及了“DB2 Schema操作总结”,这表明文章将聚焦于IBM DB2数据库管理系统中的模式(Schema)管理操作。以下是对标题、描述、标签以及部分内容中提及的关键知识点的详细阐述: ### 显式建立Schema 在...
细致全面的Schema的学习总结,适合与初学者
- **XSD 总结**:概括 XML Schema 的主要特性和用法。 #### 三、XML Schema 的使用场景 - **在应用程序中读取和创建 XML Schema**:了解如何解析和生成 XML Schema 文件对于开发基于 XML 的应用至关重要。 - **在...
总结,Schema_Workbench作为Pentaho BI平台的一部分,是企业构建数据仓库、实施BI项目的重要工具。通过熟练掌握其功能和使用技巧,用户可以更高效地管理和分析数据,从而为企业决策提供有力的支持。
总结来说,Oracle中的Schema是数据库对象的容器,它提供了命名空间,用于区分不同用户或不同业务模块的数据。每个用户都有一个默认的Schema,可以拥有和访问多个Schema中的对象。理解Schema的概念对于管理和维护大型...
总结起来,XmlSchema-1.4.7.jar是用于处理XML Schema的Java库,它提供了XML文档验证、类型转换等功能,并可能在Web服务框架中得到应用。了解并熟练使用这个库,对于Java开发者来说,能够提高他们在处理XML数据时的...
**五、总结** 在数据库管理过程中,性能问题难以避免。通过利用MySQL的Performance Schema工具,管理员可以有效地监控数据库的运行状态,及时发现和解决性能问题。同时,正确配置监控参数,可以帮助管理员获取到最...
**Spring AOP:基于Schema配置的总结与案例** 在Java企业级开发中,Spring框架以其强大的功能和灵活性深受开发者喜爱。其中,Spring AOP(面向切面编程)是解决横切关注点问题的一个重要工具,它允许我们把业务逻辑...
XML Schema 内置类型详解 XML Schema 内置类型是 XML 文档中使用的基本数据类型,它们可以分为基础类型和派生类型两类。基础类型是解析系统直接支持的原始类型,而派生类型是对基础类型或其他内置派生类型加以限制...
总结来说,使用特定工具进行PDM工作,可以有效提升数据管理的效率和质量。通过图形化界面设计Schema,自动化部署DBSVR,以及构建和管理BLSVR,企业可以构建起强大而灵活的数据基础设施,支撑其核心业务流程。在实际...
#### 五、总结 `information_schema`是MySQL中一个非常有用的工具,它可以帮助用户快速了解整个数据库系统的架构和状态。通过对`information_schema`的深入研究和应用,不仅可以提高数据库管理效率,还能有效提升...
总结来说,XML Schema提供了一种强大且灵活的方式,用于定义和验证XML文档的结构和内容,其丰富的特性使其在XML应用中占据重要地位。通过学习和熟练掌握XML Schema,开发者能够更好地控制和管理XML文档的规范性,...
十、总结 PLSQL Developer的Schema Compare功能是数据库管理的强大工具,它简化了模式同步的过程,提高了工作效率。通过熟练掌握这一工具,你可以更好地管理和维护数据库架构,确保开发、测试和生产环境的一致性。
总结,XML Schema是XML文档结构描述的首选方式,其强大的数据类型支持、可扩展性和与其他XML技术的兼容性使其成为现代XML应用的标准。通过学习和使用XML Schema,开发者可以创建更规范、更易于维护的XML文档,提高...
总结来说,"前端项目-z-schema.zip"提供了一个强大的工具,帮助前端开发者在客户端进行JSON数据的验证,提高了应用程序的健壮性和用户体验。通过学习和使用z-schema,开发者可以更好地控制和保护他们应用中的数据,...
总结来说,Spring Framework 4.2.5的schema提供了一套完整的配置体系,覆盖了从基础的bean管理到复杂的企业级特性。这些schema简化了开发者的工作,使得Spring应用的构建和维护更加高效和便捷。通过深入理解和熟练...