Schema模式简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Schema模式简介相关的知识,希望对你有一定的参考价值。

一、 Schema概述

    在XML技术成为万维网推荐标准之后,DTD体现出的不少局限性,万维网协会又推出了用于描述、约束、检验XML文档的新方法:Schema(XML架构)。Schema也是用来定义XML文档、并利用该定义验证XML文档是否符合要求的一种技术。Schema对XML文档结构的定义和描述主要作用是用来约束XML文档,并验证XML文档有效性。

     Schema文档中的元素通过使用element关键字来声明。元素声明定义了元素名称、内容和数据类型等属性。按照元素在Schema中的位置来分,在架构中处于“schema”根元素下的元素,称为“顶层元素”(Top-level elements)。在顶层元素下,包含更多的元素,这些元素和顶层元素一起使用。顶层元素包含以下几项内容。

(1)声明元素和属性(element、attribute和attributeGroup)。

(2)定义数据类型、元素组(complexType、simpleType和group)。

(3)声明表示法(notation)。

(4)注释文档(annotation)。

    对XML的数据结构进行限制有两种方式:使用文档类型定义DTD(Document Type Definition)和XML Schema模式。

    XML Schema模式是一个特殊的XML文件 XML Schema模式较DTD的一个最大的优势就是它能约束标记中包含的内容的数据类型 。

1、XML Schema模式是扩展名为“.xsd”的一个文本文件,使用XML语法来编写,保存时所选择的编码必须和所约束的XML文件一致

2   XML Schema模式的特点

XML Schema模式可以约束标记包含的文本的数据类型,这里所说的数据类型是指文本的表示形式。

比如,一个标记包含的文本被约束为int型,那么该标记包含的文本必须是由数字型字符组成。

3   根标记

XML Schema模式的根标记必须是schema,使用的名称空间必须是:

http://www.w3.org/2001/XMLSchema

名称空间的前缀是xsd。例如:

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

   … …

   </xsd:schema>

4   元素标记

XML Schema模式用“element”标记来约束XML文件中的标记。“element”标记是XML Schema模式中根标记中最重要的子孙标记。

 

  对于XML文件的中没有子标记的标记,XML Schema模式使用“简单类型”元素来给予约束。XML Schema中“简单类型”元素的格式为:<xsd:element name="标记名称" type="简单数据类型"/>

 对于XML文件中有子标记的标记,XML Schema模式文件使用“复杂类型”元素来约束。XML Schema中“复杂类型”元素的格式为:

<xsd:element name="标记名称" >

  <xsd:complexType>

    … ….

   </xsd:complexType>

</xsd:element>

5   属性标记

对于XML文件中的属性,XML Schema模式使用“attribue”标记来约束。

二、元素与属性

1、对于XML文件的中没有子标记的标记,即只有文本数据的标记,XML Schema模式可以使用内建的“简单类型”元素来约束。

<xsd:element name=“标记名称” type=“简单数据类型”/>

2、

    对于XML文件中有子标记的标记,XML Schema模式使用“复杂类型”元素来给予约束。XML Schema中“复杂类型”元素的格式为:

<xsd:element name="标记名称" >

     <xsd:complexType>

        对子标记约束的元素

     </xsd:complexType>

    <xsd:element>

3、

对于XML文件中的属性,XML Schema模式使用“attribue”标记来约束,该标记的格式如下:

<xsd:attribute name=“属性名字” type=“基本数据类型” use=“条件” />

其中use可取值"required”、“optional”、“fixed”、“default”。

 “attribue”标记必须在“复杂类型”元素中使用,指出“复杂类型”元素约束的XML标记应当有怎样的属性。

以上是关于Schema模式简介的主要内容,如果未能解决你的问题,请参考以下文章

xml约束技术---schema

Json Schema简介

数据库schema的简介

MYSQL中information_schema简介

MYSQL中information_schema简介

无法从模式拼接中的另一个 schema.graphql 文件中的其他 schema.graphql 文件访问共享模式