以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  如何让元素的顺序可以按照如下规则排列??  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=9391)


--  作者:chestin
--  发布时间:8/16/2004 4:19:00 PM

--  如何让元素的顺序可以按照如下规则排列??
下面的定义为一个Nodes的节点下含有的元素,并且按一定顺序排列
<xs:element name="Nodes">
       <xs:complexType>
 <xs:sequence>
      <xs:element name="startNode" >
      <xs:element name="firstNode" >
      <xs:element name="secondNode" >
      <xs:element name="lastNode" >
              </xs:sequence>
      <xs:complexType>
</xs:element>
现在我希望除了"StartNode"和"lastNode"排列在第一个和最后一个,中间的节点顺序可以打乱,并且可以重复出现.
例如:
<Nodes>
  <startNode></startNode>
  <secondNode></secondNode>
  <firstNode></firstNode>
  <secondNode></secondNode>
  <secondNode></secondNode>
  <firstNode></firstNode>
  <lastNode></lastNode>
</Nodes>

--  作者:chestin
--  发布时间:8/17/2004 11:35:00 AM

--  
自己解决了,可以通过
<xs:sequence minOccurs="" marxOccurs="">的嵌套来实现
解决方法:
<xs:element name="Nodes">
       <xs:complexType>
             <xs:sequence>
                 <xs:element name="startNode" >
   <xs:sequence minOccurs="1" maxOccurs="unbounded">
                   <xs:element name="firstNode" minOccurs="0">
                 <xs:element name="secondNode" minOccurs="0">
                 </xs:sequence>
      <xs:element name="lastNode" >
             </xs:sequence>
      <xs:complexType>
</xs:element>


--  作者:zhangsf
--  发布时间:9/1/2004 10:58:00 PM

--  
精彩,还有更好的法子吗?
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
47.852ms