<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://www.csdn.net/blog/"
<!-- 定义目标名称空间,意指:所有在该文档中定义之元素,统归该名称空间所辖 -->
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
<!-- 指定xsd为名称空间[http://www.w3.org/2001/XMLSchema]之别名 -->
<!-- 该名称空间所辖之元素,均可由xsd为前缀代为引出,例如开头:<xsd:schema> -->
xmlns<!-- :别名 -->="http://www.csdn.net/blog"
<!-- 同上xsd之语义 -->
<!-- 如无别名指定, 则该名称空间(即"="之后所指)内所有元素 -->
<!-- 可直接引出(即前缀为空可引出) -->
<!-- 不难发现此处所指之名称空间与targetNamespace同 -->
<!-- 意即:可在本schema内引用业已定义之元素,需留意别名 -->
<!-- 如下:<xsd:complexType name="datasource"> -->
elementFormDefault="qualified">
<!-- xsd内有全局和局部元素之分,如下:-->
<!-- config和ds均为全局元素,config内所定义之bean即为局部元素 -->
<!-- 若elementFormDefault="qualified", 则在任何引用此xsd之xml,对全局和局部元素均可见 -->
<!-- 若elementFormDefault="unqualified",则在任何引用此xsd之xml,仅全局元素可见 -->
...
<xsd:complexType name="datasource">
<xsd:sequence>
<xsd:element name="dburl" type="xsd:string"/>
<xsd:element name="username" type="xsd:string"/>
<xsd:element name="password" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="config">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="bean" maxOccurs="unbounded" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element ref="<!--别名:-->ds"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ds" type="<!--别名:-->datasource"></xsd:element>
...
</xsd:schema>
XML Schema
最新推荐文章于 2022-11-18 00:45:34 发布