以文本方式查看主题

-  计算机科学论坛  (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=43426)


--  作者:lao_cai
--  发布时间:2/26/2007 10:10:00 AM

--  请再帮我找找错误
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://your_namespace"
        xmlns="http://your_namespace">
        <xsd:element name="qq">
        <xsd:complexType>
         <xsd:sequence>
          <xsd:element name="w" type="xsd:string" minOccurs="0"/>
    <xsd:element name="t" type="xsd:string" minOccurs="0"/>  
         </xsd:sequence>
   <xsd:all>
    <xsd:element name="q" type="xsd:string" minOccurs="0"/>
    <xsd:element name="s" type="xsd:string" minOccurs="0"/>
   </xsd:all>  
        </xsd:complexType>
        </xsd:element>
</xsd:schema>
上面这个schema中all元素有错误,如何实现前面几个元素固定顺序,而后面几个元素任意顺序?
--  作者:flyfoxs
--  发布时间:3/6/2007 8:31:00 PM

--  
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://your_namespace" targetNamespace="http://your_namespace">
 <xsd:element name="qq">
  <xsd:complexType>

   <xsd:sequence>
    <xsd:element name="w" type="xsd:string" minOccurs="0"/>
    <xsd:element name="t" type="xsd:string" minOccurs="0"/>
    <xsd:choice minOccurs="1" >      
       <xsd:element name="q" type="xsd:string" minOccurs="0"/>
       <xsd:element name="s" type="xsd:string" minOccurs="0"/>         
    </xsd:choice>

   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
</xsd:schema>


不知道这样可行,以前看论坛到过,你的需求肯定能实现的,我就是根据记忆来实现的。

希望对你有所帮助或提示。


--  作者:lao_cai
--  发布时间:5/11/2007 11:49:00 AM

--  
choice是两个子元素中选一个,不是都出现,而且要以任意顺序,不管怎么说,先谢谢
--  作者:gemingke
--  发布时间:5/11/2007 12:34:00 PM

--  
如果只有两个元素,就把minOccurs="2"
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
42.969ms