根据Schema编写XML文档实例

XML
在日常开发中,需要使用XML编写配置文件,如:MyBatis的配置信息都是放到XML文档中的,为了使开发人员编写的配置文件是合法的、有效的且MyBatis框架能够解析,于是MyBatis框架提供了DTD或者Schema校验文件。开发人员需要根据DTD或Schema来编写配置文件;

在日常开发中,需要使用XML编写配置文件,如:MyBatis的配置信息都是放到XML文档中的,为了使开发人员编写的配置文件是合法的、有效的且MyBatis框架能够解析,于是MyBatis框架提供了DTD或者Schema校验文件。开发人员需要根据DTD或Schema来编写配置文件;

下面将会通过一个实例说明怎样根据已经存在的Schema来编写有效的XML文档;

已经存在的Schema文件名称(company.xsd)如下:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="contacts">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="contact" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="company" type="xs:string" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="contact">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="name"/>
                <xs:element ref="phone"/>
                <xs:element ref="address"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="phone" type="xs:string"/>
    <xs:element name="address">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="street"/>
                <xs:element ref="city"/>
                <xs:element ref="state"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="street" type="xs:string"/>
    <xs:element name="city">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="成都市"/>
                <xs:enumeration value="深圳市"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="state">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="四川省"/>
                <xs:enumeration value="广东省"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
</xs:schema>

第一步:分析 Schema 文档

a、根节点元素:contacts(包含子元素contact、属性company),company属性是必须填写的;

b、contact元素含name、phone、address三个个子元素,这三个元素出现的顺序必须是name、phone、address;

c、adrees元素含有三个子元素:street、city(只能选择“成都市”和“深圳市”两个值)和state(只能选择“四川省”和“广东省”两个值)。注意:这三个元素出现的属性必须是street、city、state;

通过上面简单的分析,现在我们是不是在头脑里面对文档基本机构有个比较清楚的认识呢?接下来就是编写XML文档;

第二步:根据上述Schema编写XML文档,示例:

<?xml version="1.0" encoding="UTF-8" ?>
<contacts xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="company.xsd"
    company="奇强网络公司">
    <contact>
        <name>张三</name>
        <phone>021-5555666</phone>
        <address>
            <street>二环路南四段20号五栋四单元10号</street>
            <city>成都市</city>
            <state>四川省</state>
        </address>
    </contact>
    <contact>
        <name>王三</name>
        <phone>021-5555777</phone>
        <address>
            <street>天晖中路曙光国际18-15(高新地铁站C口)</street>
            <city>成都市</city>
            <state>四川省</state>
        </address>
    </contact>
</contacts>

上述XML文档根据Schema创建了两个联系人信息,分别是:张三和王三

真理惟一可靠的标准就是永远自相符合。 —— 欧文
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号