`
冯瑞芳
  • 浏览: 28761 次
  • 性别: Icon_minigender_2
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

Schema总结

阅读更多

一、基础知识

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>

<!--EndFragment-->
分享到:
评论

相关推荐

    \"java xml 二\"之Schema总结

    "Java XML 二"之Schema总结,主要关注的是XML Schema,它是XML文档结构和数据类型的一种规范,用于提供比DTD(Document Type Definition)更强大的验证功能。以下是对该主题的详细概述: 1. **XML Schema定义** ...

    RFC2256LDAPv3使用X500用户schema总结中文版

    标题"RFC2256 LDAPv3使用X500用户schema总结中文版"表明本文档是关于在 Lightweight Directory Access Protocol (LDAP) 第3版(LDAPv3)中应用X.500用户模式(schema)的中文版概述。X.500是一套国际标准,定义了...

    RFC2256LDAPv3使用X500用户schema总结.pdf

    RFC2256文档是一份关于LDAPv3与X.500(96)用户模式整合的协议备忘录。文档主要讲述了LDAPv3与X.500用户模式结合的使用方法,并对文档的版权信息、状态以及IESG的注意事项进行了说明。 文档强调了其作为Internet标准...

    DB2 Schema操作总结

    标题与描述均提及了“DB2 Schema操作总结”,这表明文章将聚焦于IBM DB2数据库管理系统中的模式(Schema)管理操作。以下是对标题、描述、标签以及部分内容中提及的关键知识点的详细阐述: ### 显式建立Schema 在...

    Schema学习总结

    细致全面的Schema的学习总结,适合与初学者

    XML Schema教程

    - **XSD 总结**:概括 XML Schema 的主要特性和用法。 #### 三、XML Schema 的使用场景 - **在应用程序中读取和创建 XML Schema**:了解如何解析和生成 XML Schema 文件对于开发基于 XML 的应用至关重要。 - **在...

    Schema_Workbench

    总结,Schema_Workbench作为Pentaho BI平台的一部分,是企业构建数据仓库、实施BI项目的重要工具。通过熟练掌握其功能和使用技巧,用户可以更高效地管理和分析数据,从而为企业决策提供有力的支持。

    oracle中schema指的是什么意思

    总结来说,Oracle中的Schema是数据库对象的容器,它提供了命名空间,用于区分不同用户或不同业务模块的数据。每个用户都有一个默认的Schema,可以拥有和访问多个Schema中的对象。理解Schema的概念对于管理和维护大型...

    XmlSchema-1.4.7.jar

    总结起来,XmlSchema-1.4.7.jar是用于处理XML Schema的Java库,它提供了XML文档验证、类型转换等功能,并可能在Web服务框架中得到应用。了解并熟练使用这个库,对于Java开发者来说,能够提高他们在处理XML数据时的...

    performance schema学习总结1

    **五、总结** 在数据库管理过程中,性能问题难以避免。通过利用MySQL的Performance Schema工具,管理员可以有效地监控数据库的运行状态,及时发现和解决性能问题。同时,正确配置监控参数,可以帮助管理员获取到最...

    Spring AOP之基于Schema配置总结与案例

    **Spring AOP:基于Schema配置的总结与案例** 在Java企业级开发中,Spring框架以其强大的功能和灵活性深受开发者喜爱。其中,Spring AOP(面向切面编程)是解决横切关注点问题的一个重要工具,它允许我们把业务逻辑...

    xml schema的内置类型

    XML Schema 内置类型详解 XML Schema 内置类型是 XML 文档中使用的基本数据类型,它们可以分为基础类型和派生类型两类。基础类型是解析系统直接支持的原始类型,而派生类型是对基础类型或其他内置派生类型加以限制...

    pdm(用工具生成schema和dbsvr以及blsvr)

    总结来说,使用特定工具进行PDM工作,可以有效提升数据管理的效率和质量。通过图形化界面设计Schema,自动化部署DBSVR,以及构建和管理BLSVR,企业可以构建起强大而灵活的数据基础设施,支撑其核心业务流程。在实际...

    MySQL中information_schema是什么

    #### 五、总结 `information_schema`是MySQL中一个非常有用的工具,它可以帮助用户快速了解整个数据库系统的架构和状态。通过对`information_schema`的深入研究和应用,不仅可以提高数据库管理效率,还能有效提升...

    XML Schema初窥

    总结来说,XML Schema提供了一种强大且灵活的方式,用于定义和验证XML文档的结构和内容,其丰富的特性使其在XML应用中占据重要地位。通过学习和熟练掌握XML Schema,开发者能够更好地控制和管理XML文档的规范性,...

    Schema Compare 使用手册

    十、总结 PLSQL Developer的Schema Compare功能是数据库管理的强大工具,它简化了模式同步的过程,提高了工作效率。通过熟练掌握这一工具,你可以更好地管理和维护数据库架构,确保开发、测试和生产环境的一致性。

    Schema教程 xml

    总结,XML Schema是XML文档结构描述的首选方式,其强大的数据类型支持、可扩展性和与其他XML技术的兼容性使其成为现代XML应用的标准。通过学习和使用XML Schema,开发者可以创建更规范、更易于维护的XML文档,提高...

    前端项目-z-schema.zip

    总结来说,"前端项目-z-schema.zip"提供了一个强大的工具,帮助前端开发者在客户端进行JSON数据的验证,提高了应用程序的健壮性和用户体验。通过学习和使用z-schema,开发者可以更好地控制和保护他们应用中的数据,...

    spring-framework-4.2.5-schema

    总结来说,Spring Framework 4.2.5的schema提供了一套完整的配置体系,覆盖了从基础的bean管理到复杂的企业级特性。这些schema简化了开发者的工作,使得Spring应用的构建和维护更加高效和便捷。通过深入理解和熟练...

Global site tag (gtag.js) - Google Analytics