美文网首页
简单定义schema元素(XML入门10)

简单定义schema元素(XML入门10)

作者: 北荒客 | 来源:发表于2020-03-01 00:56 被阅读0次

       我们学习使用schema文档来取代DTD文档配合XML文档,就是要因为schema文档功能强大,而且与XML文档定义方法类似。一个schema文档,就是开头声明时略加麻烦一点,但是这是必不可少的声明。

       Schema文档声明主要有四个目的。都是为了名字空间而设。用属性的方法,给名字空间预留内存空间。

       第一个属性,为schema留一个空间,这个名字空间是所有以schema为根的名字空间。我们定义的是xs为名字空间。以schema为根。

如:<xs:schema  xmlns:xs=“http://www.w3.org/2001/xmlschema”>

       第二个属性是为运行XML文档的目标环境,开辟一个名字空间,用于装载schema文档。这个区域空间也用属性的办法在schema为根内开辟。

如:<xs:schema  targetNamespace=“http://www.w3.cschools.com”>

        第三个属性是定义一个没有取名字的名字空间,与目标名字空间在一个区域。

如:<xs:schema  xmlns=“http://www.w3.cschools.com”>

         第四个属性是生命XML文档必须使用名字空间

如:<xs:schema  elementFormDefault=“qualified”>

         把以上四个属性写在一个标记内即可。

        完成了上面的schema文档声明后,就可以定义元素标记了。见下面例子如下:

Schema文档的文件名为:note.xsd

 <?XML version=“1.0”encoding=“UTF-8”?>

<xs:schema  xmlns:xs=“http://www.w3.org/2001/xmlschema”

            targetNamespace=“http://www.w3.cschools.com”

            xmls=“http://www.w3cschools.com”

            elementFormDefault=“qualified”>

<xs:element

name="note">

 <xs:complexType><xs:sequence>

<xs:element name="to" type="xs:string"/><xs:element name="from" type="xs:string"/><xs:element name="heading" type="xs:string"/><xs:element name="body" type="xs:string"/></xs:sequence></xs:complexType></xs:element></xs:schema>

       定义元素(element)标记的方法,比DTD简单,与写XML文档格式一样。我们看看上变官网note标记的定义方法。

      第一步:定义note元素。例如:

    开始标记:<xs:element  name = "note">

     结束标记:</xs:element>

       第二步,因为note标记是根标记,还有子标记,所以这个note标记是一个复杂标记,需要在note标记定义之中加一个表示复杂标记的嵌套。例如:

      开始标记: <xs:complexType>结束标记:</xs:complexType>

       第三步,要求子标记按顺序出现。也象写复杂标记的方法,在嵌套一层,用于声明。例如:

       开始标记:  <xs:sequence>

      结束标记:   </xs:sequence>

         完成了note复杂标记的要求之后,就可以直接定义元素了,例如:

  <xs:element name="to" type="xs:string"/>

<xs:element name="from" type="xs:string"/>

<xs:element name="heading" type="xs:string"/>

<xs:element name="body" type="xs:string"/>

       格式非常简单:用属性的方法定义。type 和string是内部命令。type为类型的意思。sting为数据类型。schema强大地方就是可以定义内部数据类型,例如:string为字符串类象。与编程一样的数理类象。这个DTD是没有的。

       定义元素(element)的格式归结为:

        <xs:element name="子元素名" type="xs:数据类型名"/>

          Schema文档的数据类型内部定义的有:字符串(string),日期(date),数值(numberic)以及布尔、二进制,浮点数,网址数据等。而且还允许自己定义数据类型。Schema文档继承了XML文档的所有优点,允许使用者根据XML规则自己扩展功能。

          北荒客

          2020.3.1

相关文章

网友评论

      本文标题:简单定义schema元素(XML入门10)

      本文链接:https://www.haomeiwen.com/subject/xcanhhtx.html