XML——XML Schema
【0】README0.0)本文文字描述转自 core java volume 2 , 旨在理解 XML——XML Schema 的基础知识 ;(本文不涉及源代码, 很遗憾,以后会补充) 【1】XML Schema 相关1.0)为什么引入XML Schema? 如果要指定文档结构,可以提供一个文档类型定义(DTD)或一个 XML Schema定义;DTD 或 schema 包含了用于解释文档应该如何构成的规则, 这些规则指定了每个元素的合法子元素和和属性; (干货——为什么引入XML Schema) 1.1)如果要在文档中引用 Schema 文件, 需要在 根元素中添加属性, 例如: <?xml version="1.0"?>
<configuration xmlns:xsi="http://www.w2.org/2001.XMLSchema-instance" xsi:noNamespaceSchemaLocation="config.xsd">
</configuration>
1.2)Schema使用命名空间定义了每个元素的类型。类型可以是简单类型,即有格式限制的字符串或复杂类型。 (干货——Schema使用命名空间定义了每个元素的类型。)
xsd : string
xsd : int
xsd : boolean
Attention)
<xsd: simpleType name="StyleType">
<xsd: restriction base="xsd:string">
<xsd: enumeration value="PLAIN">
<xsd: enumeration value="BOLD">
<xsd: enumeration value="ITALIC">
<xsd: enumeration value="BOLD_ITALIC">
</xsd: restriction>
</xsd: simpleType>
<xsd: element name="name" type="xsd:string" />
<xsd: element name="size" type="xsd:int" />
<xsd: element name="style" type="StyleType" />
<size>10</size>
<style>PLAIN</style>
<size>default</size>
<style>SLANTED</style>
<xsd:complexType name="FontType">
<xsd:sequence>
<xsd:element ref="name"/>
<xsd:element ref="size"/>
<xsd:element ref="style"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FontType">
<xsd:sequence>
<xsd: element name="name" type="xsd:string" />
<xsd: element name="size" type="xsd:int" />
<xsd: element name="style" type="StyleType" />
<xsd: simpleType> // 而不是<xsd: simpleType name="StyleType">, 请注意这叫匿名定义;
<xsd: restriction base="xsd:string">
<xsd: enumeration value="PLAIN">
<xsd: enumeration value="BOLD">
<xsd: enumeration value="ITALIC">
<xsd: enumeration value="BOLD_ITALIC">
</xsd: restriction>
</xsd: simpleType>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="contactinfo">
<xsd:choice>
<xsd:element ref="email">
<xsd:element ref="phone">
</xsd:choice>
</xsd:complexType>
同:
<xsd:complexType name="contactinfo">
<xsd:element ref="email | phone">
</xsd:complexType>
<xsd:element name=szie>
<xsd:complexType>
...
<xsd:attribute name="unit" type="xsd:string" use = "optional" default="cm"/>
</xsd:complexType>
</xsd:element>
<xsd: schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
</xsd: schema>
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |