XML Scheme的职责与Xml DTD一样,都是用来定义Xml文件标准的。Xml Scheme是基于xml格式的,这点与Xml Dtd不同。
如何定义节点?
定义节点的语法为:<element name="元素名" type="元素类型"/>
这里的类型可以分为:自定义的简单型(SimpleType)和自定义的复杂型(ComplexType)及系统自带的类型。
如何定义含子节点的节点?
定义语法为:
该scheme对应的xml格式为:
如何定义含属性的节点?
该Scheme对应的xml文件:
<node attribute1="" attribute2="" attribute3=""/>
如何定义包含属性和子节点的节点?
定义语法为:
对应的xml文件为:
如何定义自己的类型?
在Scheme中,我们可以自定义SimpleType和ComplexType。我们可以将自己定义的类型,指派到相应的节点上。
自定义SimpleType:
我们定义了hello类型,它是从系统自带的string类型派生的。并且hello类型的字符串长度只能在10~20个字符之间。
自定义ComplexType:
/还不是很明白/
一些让你的Scheme文件更灵活的定义语法:
<sequence>:包含在该标记里面的子节点必须按定义的顺序出现
<choice>:包含在该标记里面的子节点只能出现一个
<all>:包含在该标记里面的子节点必须全部出现,不必按顺序
<list>:列表类型,用来扩展简单类型的标记
<union>:用来扩展简单类型的标记,让元素<root></root>中的值类型可以是多样的
mixed属性:用在<complextype>标记上的,让ComplexType类型不但能有子节点,自己也能有文本内容
minOccurs属性:最小出现次数 用在 <element>标记上
maxOccurs属性:最大出现次数 用在 <element>标记上
default属性:用在 <element>,<attribute>标记上
fix属性:用在 <element>,<attribute>标记上
ref属性:用在 <element>标记上 引用在其他地方定义的<element>元素
substitutionGroup属性:用在 <element>标记上
use属性:用在<attribute>标记上 用来设置该属性 是否可选(optional),必须(required),禁止(prohibited)
ExamplesA
XSD
<xs:element name="field" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
XML
<field name='donotbulkemail'>true</field>
1934

被折叠的 条评论
为什么被折叠?



