以文本方式查看主题

-  中文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=6658)


--  作者:freefalcon
--  发布时间:4/12/2004 11:07:00 AM

--  会Schema的高手请帮忙
我要实现一个自定义枚举类型Enum,它的第一个子元素为elementType,用于指定Enum子元素的类型,这些类型用户可以自己定义,接下来的元素便是一个或多个element,这里我就不明白了:我怎么才能限制element的类型就是elementType指定的类型呢?
<xsd:complexType name="Enum">
  <xsd:sequence>
   <xsd:element name="elementType" type="xsd:QName"/>
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
     <xsd:element name="element" type="????"/>
   </xsd:sequence>
  </xsd:sequence>
</xsd:complexType>

比如,用户可能定义
<Enum>
   <elementType>Long</elementType> //Long类型由用户自己定义的
   <element>1</element>        //这里element的类型必须为前面指定的Long类型
   <element>2</element>
</Enum>


--  作者:admin
--  发布时间:4/12/2004 11:53:00 AM

--  
好像不能根据一个元素的值来识别元素类型。
必须这样用:
<enum xsi:type="long">
   <elementtype>long</elementtype>
   <element>1</element>        
   <element>2</element>
</enum>


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