以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]这个Schema怎么写  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=41516)


--  作者:lango2006
--  发布时间:12/22/2006 4:11:00 PM

--  [求助]这个Schema怎么写
有 个 元素 a
值为 type1 或者 type2 或者 type3 只能其中 一个
当选择 type3 时  它又有 个 值  value1 可以有或者无
xsd  应该怎么写
光用 enumeration 实现不了
又不可以嵌套

只要功能就行,格式随便


--  作者:hgpimac
--  发布时间:12/25/2006 1:18:00 PM

--  
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test.xsd">
 <a>
  <type1/>
 </a>
 <a>
  <type2/>
 </a>
 <a>
  <type3 att="value1"/>
 </a>
</root>

schema文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--W3C Schema generated by XMLSpy v2006 sp2 U (http://www.altova.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 <xs:element name="a">
  <xs:complexType>
   <xs:choice>
    <xs:element ref="type1"/>
    <xs:element ref="type2"/>
    <xs:element ref="type3"/>
   </xs:choice>
  </xs:complexType>
 </xs:element>
 <xs:element name="root">
  <xs:complexType>
   <xs:sequence>
    <xs:element ref="a" maxOccurs="unbounded"/>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
 <xs:element name="type1" type="xs:string"/>
 <xs:element name="type2" type="xs:string"/>
 <xs:element name="type3">
  <xs:complexType>
   <xs:attribute name="att" use="required">
    <xs:simpleType>
     <xs:restriction base="xs:string">
      <xs:enumeration value="value1"/>
     </xs:restriction>
    </xs:simpleType>
   </xs:attribute>
  </xs:complexType>
 </xs:element>
</xs:schema>


这是用xml spy自动产生的,大体意思就这样,不知能不能满足你的要求


--  作者:hgpimac
--  发布时间:12/25/2006 1:23:00 PM

--  
type3的value1也可以作为type3的子节点
即:
  <type3>
         <value />
   </type3>
--  作者:lango2006
--  发布时间:12/25/2006 4:53:00 PM

--  
谢谢 ,不过我直接这样了
<type1/>

<type2/>


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