怎么写xsd文件

2022-11-17 16:13:59 浏览数 (1)

w3shool也有点击打开链接

1.最简单的Schema文档

如何写一个最简单的XML Schema文档呢?

首先,我们写出一个最简单的XML文档。

hello.xml

——————-

<?xml version=”1.0″?>

<greeting>Hello World!!</greeting>

<!–一个根元素:greeting;且这个元素不含属性,无子元素,内容是字符串。–>

hello.xsd

----------

<?xml version=”1.0″?>

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

<xsd:element name=”greeting” type=”xsd:string”/> </xsd:schema>

XML Schema文档后缀名是.xsd,完全符合XML语法,根元素是schema,命名空间xmlns:xsd=” http://www.w3.org/2001/XMLSchema,用元素<element>定义实例文档中的元素,如greeting。

2. 含子元素的Schema文档

假设实例文档是如下的:

customer.xml

———–

<customer>

<name>teiki</name>

<address>No.237, Road Waitan, Shanghai</address>

</customer>

则可以写出以下的XML Schema文档:

customer.xsd

—————-

<?xml version=”1.0″?>

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

<xsd:element name=”customer”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”name” type=”xsd:string”/>

<xsd:element name=”address” type=”xsd:string” />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

实例文档customer.xml中,<customer>元素含有两个子元素,所以我们在Schema文档中采用ComplexType来定义该元素。sequence表示子元素依次出现的顺序。

3. 含子元素和孙元素的Schema文档

这次我们给出一个更加复杂一些的文档:

customer.xml

—————

<customer>

<name>Teiki</name>

<address>

<!– address追加一个地址子元素 –>

<prefecture>Zhejiang</prefecture>

<city>Hangzhou</city>

<street>Xilu Road, No.121, 7F</street>

</address>

</customer>

为此,我们需要一个更加复杂一点的Schema文档:

address.xsd

—————–

<?xml version=”1.0″?>

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

<xsd:element name=”customer”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”name” type=”xsd:string”/>

<!– 追加子元素address–>

<xsd:element name=”address”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”prefecture” type=”xsd:string”/>

<xsd:element name=”city” type=”xsd:string” />

<xsd:element name=”street” type=”xsd:string” />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

不过,我们还可以采用ref元素来重新编写这个Schema文档:

address2.xsd

———————-

<?xml version=”1.0″?>

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

<xsd:element name=”customer”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”name” type=”xsd:string”/>

<xsd:element ref=”address”/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name=”address”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”prefecture” type=”xsd:string”/>

<xsd:element name=”city” type=”xsd:string” />

<xsd:element name=”street” type=”xsd:string” />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

使用ref元素可以直接将其指向另一个模块,使文档更加具有可读性。

原文 点击打开链接 。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/219137.html原文链接:https://javaforall.cn

0 人点赞