学习schema文档内容还是很多的,不过都是比较容易的框架和语法。所以不必把所有的内容都学会,这是学习任何东西的窍门。如何想把一门本事全部学会,再去应用,绝对是没有必要的。毛泽东打天下成功的诀窍就是从战争学习战争。现在所有的电脑编程方法,都是能够完成任务的,相信人家能编,你一定也能做到。没必要把什么都学会,再去实践。
学习schema文档也是,最好挑选容易学习的,懂个轮廓,知道它能做什么,将来用到时现学现用,绝对是没有什么问题的。
今天我们学习一个混合元素标记的定义。我们使用官网的例子,例如我们实现下面的一段XML文档。
<letter>
亲爱的<name>张三</name>先生:
你的订单编号为:<orderid>1032</orderid>
装船起运时间<shipdate>2020-3-8</shipdate>。
</letter>
怎么用schema文档定义元素标记?实现方法用到mixed指令。例如:
<xs:element name="letter">
<xs:complexType mixed=“true”>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="orderid" type="xs:positiveInteger"/>
<xs:element name="shipdate" type="xs:date"/>
</xs:sequence>
</xs:complexType>
</xs:element>
这里转船序列号的用“positiveinteger”是指仅包含正值的整数。而混合(mixed)指令就是说明<letter></letter>标记内部是有混合元素的。
还有一种方法,就是符合元素(complextype)起个名字,然后用letter引用这个名字。例如:
<xs:elementname="letter" type=“lettertype”/>
<xs:complexType name=“lettertype”mixed=“true”>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="orderid" type="xs:positiveInteger"/>
<xs:element name="shipdate" type="xs:date"/>
</xs:sequence>
</xs:complexType>
这种方法非常好,定义了一个complextype 类型,其他元素都可以引用。
北荒客
2020.3.8