XML 是满足一组良好定义规则的格式化文本,主要由标签和文本构成,可以被储存和展现为诸如通过 HTTP 传输的消息、编程语言中的字符串、数据库中的 CLOB等文本数据形式。 【注】为了方便起见,XML 文档也被用来指应用之间的字节流、数据库中的字段、XML 信息集中的对象集合。
XML 文档为树状结构
满足 5+1 规则的 XML 被称为格式良好的 XML。
<![CDATA[...]]>
进行包装,XML 解析器不做处理,只按照字面处理<?xml version="1.0" ?>
,可添加键值对属性)合法的 XML 文档持有一个额外的词汇表,并遵循该词汇表所定义的结构化规则用 DTD 或 XML Schema 进行定义,XML 解析器可以选择是否使用词汇表进行合法性检查(比如类型检查等)。
由于领域孤岛可能交互,故该方法不可行
<http://www.library.com/books:title>
)books="http://www.library.com/books"
然后直接使用 <books:title>
)<prefix:localname>
prefix
是名称空间的别名(比如: <books:title>
,books
为名称空间别名)<prefix:elementName xmlns:prefix='URL'> ··· </prefix:elementName>
使用名称空间声明定义元素:
<books:title xmlns:books='http://www.library.com/books'>
···
</books:title>
使用名称空间定义属性:
<books:book xmlns:books='http://www.library.com/books' books:hardcover='true'>
···
</books:book>
<elementName xmlns='URI'> ··· </elementName>
在默认名称空间的作用域内,可以使用 QName 来定义隶属于其他名称空间的元素
<book
xmlns = 'http://www.library.com/books'
xmlns:amazon = 'http://www.amazon.com/products'>
···
<amazon:skuNo>A25</amazon:skuNo>
···
</book>
xmlns = ""
定义没有名称空间的元素【注】targetNamespace 指定该 XML Schema 所定义的元素所隶属的名称空间。
<xsd:simpleType name="quantityType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="2"/>
<xsd:maxInclusive value="5"/>
</xsd:restriction>
</xsd:simpleTyped>
<xsd:element name='quantity'
type='xsd:nonNegativeInteger'
minOccurs='1' maxOccurs='1'/>
其中,name 指定元素名称,type 指定元素值的类型,minOccurs、maxOccurs指定元素至少、至多出现的次数。
<xsd:sequence>
<xsd:element name='firstName' type='xsd:string'/>
<xsd:element name='lastName' type='xsd:string'/>
</xsd:sequence>
<xsd:choice>
<xsd:element name='maidenName' type='xsd:string'/>
<xsd:element name='cityOfBirth' type='xsd:string'/>
</xsd:choice>
<xsd:all>
<xsd:element name='height' type='xsd:float'/>
<xsd:element name='weight' type='xsd:float'/>
</xsd:all>
2.声明属性
<xsd:element name='blank'>
<xsd:complexType>
<xsd:attribute name='temperature' type='xsd:decimal' fixed='32.0'/>
</xsd:complexType>
</xsd:element>
其中,属性由 <xsd:attribute name='temperature' type='xsd:decimal' fixed='32.0'/>
指出。
该属性指出,如果 XML 文档中的属性不是数值类型,或数值不为 32.0 ,则无法通过 XML Schema 验证。
使用 xsi:schemaLocation
或 xsi:noNamespaceSchemaLocation
来指定当前 XML 可以获取到对应 XML Schema 位置(可指定也可不指定)。
<quatity xmlns="http:www.ibm.com/WD03/Schema/XML"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/WD03/Schema/schema.xsd">25</quantity>