广告位联系
返回顶部
分享到

XML编程中的模式定义XSD的详解

xml/xslt 来源:互联网搜集 作者:酷站 发布时间:2018-04-26 12:13:58 人浏览
摘要

XML 模式通常被称为 XML 模式定义(XSD)。它被用来描述和验证 XML 数据的结构和内容。XML 模式定义元素,属性和数据类型。模式元素也支持命名空间。它类似于描述数据库中数据的数据库模式。 语法 我们需要在 XML 文档中声明模式,如下所示: xs:schemaxmlns

XML 模式通常被称为 XML 模式定义(XSD)。它被用来描述和验证 XML 数据的结构和内容。XML 模式定义元素,属性和数据类型。模式元素也支持命名空间。它类似于描述数据库中数据的数据库模式。

语法  XML教程

我们需要在 XML 文档中声明模式,如下所示:

     <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">  

示例
 

下面的示例展示了如何使用模式:

    <?xml version="1.0" encoding="UTF-8"?>  
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">  
    <xs:element name="contact">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="name" type="xs:string" />  
                <xs:element name="company" type="xs:string" />  
                <xs:element name="phone" type="xs:int" />  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  
    </xs:schema>  


XML 模式背后的基本思想就是描述 XML 文档可以接受的合法格式。
 

元素

正如我们在 XML 元素 一章中所看到的,元素就是 XML 文档构建块。在 XSD 内可以像下面这样定义元素:

 

  <xs:element name="x" type="y"/>  

定义类型

我们可以按照以下方式定义 XML 模式元素:

 

简单类型:简单类型的元素只能用于文本上下文中。一些预定义的简单类型有:xs:integer,xs:boolean,xs:string,xs:data。例如:

    <xs:element name="phone_number" type="xs:int" />  


复杂类型:复杂类型就是其他元素定义的容器。允许我们指定哪个元素可以包含子元素以便为 XML 文档提供一些结构。例如:
    <xs:element name="Address">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="name" type="xs:string" />  
                <xs:element name="company" type="xs:string" />  
                <xs:element name="phone" type="xs:int" />  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  

上面的例子中,Address 元素由子元素组成。它是其他 <xs:element> 定义的容器,允许我们在 XML 文档中构建一个简单的层级元素。
 

全局类型:对于全局类型,我们可以在文档中定义独立的类型,它还可以使用所有其他引用。例如,假设我们想针对不同的公司地址概括 person 和 company。这种情况下,我们可以定义一个如下所示的通用类型:

     <xs:element name="AddressType">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="name" type="xs:string" />  
                <xs:element name="company" type="xs:string" />  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  

然后在下面的示例中使用这个类型:

     <xs:element name="Address1">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="address" type="AddressType" />  
                <xs:element name="phone1" type="xs:int" />  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  
    <xs:element name="Address2">  
        <xs:complexType>  
            <xs:sequence>  
                <xs:element name="address" type="AddressType" />  
                <xs:element name="phone2" type="xs:int" />  
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  

不再需要定义 name 和 compacny 两次(一次是给 Address1,一次给 Address2),现在我们拥有一个独立的定义。这让维护变得更简单,例如,如果我们决定给地址添加一个 "Postcode" 元素,只需要在一个地方添加即可。


属性

XSD 中的属性提供了元素的额外信息。带 name 和 type 属性(property)的属性(attribute)如下所示:

      <xs:attribute name="x" type="y"/>  




版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • MIME类型中application/xml与text/xml的区别介绍
    RFC2376文档 定义了application/xml 和 text/xml 媒体类型。 RFC7303文档 也定义了application/xml 媒体类型。 RFC3023文档 一次定义了application/xml 和 text/x
  • Element UI里的autosize textarea设置高度方法
    把Element UI里的textarea input设置为autosize之后,文本框的默认高度为33,并不符合设计 默认样式 在浏览器中查检元素,发现 高度是由textarea的
  • 详解XML中的标签与元素的如何使用
    本篇文章给大家介绍XML中的标签与元素的如何使用 标签 我们来了解一下 XML 最重要的部分之一,XML 标签。XML 标签是 XML 的基
  • 解析XML中的DTD文档类型定义
    XML 文档类型定义,俗称 DTD,它是一种准确描述 XML 语言的方式。DTDs 根据适当 XML 语言的语法规则检查 XML 文档的词汇和结构的有效性。 XM
  • XML编程中的模式定义XSD的详解
    XML 模式通常被称为 XML 模式定义(XSD)。它被用来描述和验证 XML 数据的结构和内容。XML 模式定义元素,属性和数据类型。模式元素也支持
  • 解析XML中的树形结构与DOM文档对象模型
    树结构 XML 文档始终是描述性的。树状结构通常被称为 XML 树,它在描述 XML 文档的过程中扮演一个重要的角色。 这个树结构包含根(父)元
  • 简单了解XML中的命名空间
    命名空间就是一组唯一名称。命名空间是确定哪个元素和属性名可以被分配到某个组的一种机制。命名空间通过 URI(统一资源标示符)识别
  • 简介XML文档的阅读与编辑
    这篇文章主要介绍了XML文件的阅读与编辑,最常用的工具当然还是浏览器中的控制台与源代码查看,需要的朋友可以参考下 阅读器 以使用简单
  • 详解XML中的模式Schema

    详解XML中的模式Schema
    XML中拥有Schema特性,能够比DTD更加强大地引入元素结构,下面我们就来详解XML中的模式Schema的概念及作用和用法,需要的朋友可以参考下 文档定
  • 淘宝开了个引流通道 15秒抖出电商爆款
    不知最近大家有没有被海底捞的抖音吃法刷屏,魔性的音乐节奏、风骚的DIY操作,让抖音一时间变成了舌尖上的抖音。 不知最近派友们有没
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计