以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (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=45228)


--  作者:ainogod
--  发布时间:4/11/2007 12:42:00 PM

--  如何用定义一种类型是某些复杂类型的枚举类型啊
如 : 现有类型A,B,C。打算定义类型D 为ABC的枚举类型,请问该如何定义。
谢谢~~
--  作者:gemingke
--  发布时间:4/11/2007 3:18:00 PM

--  
具体说说,你想达到什么效果
--  作者:ainogod
--  发布时间:4/11/2007 3:53:00 PM

--  
就是 我想定义一个枚举类型 比如DataType 它包含 Static Dynamic 两种自定义的类型
Static Dynamic 两种类型已经定义。
该如何实现?谢谢
--  作者:ainogod
--  发布时间:4/11/2007 4:01:00 PM

--  
也就是如何枚举自定义的类型。
谢谢啦~~每次都是你来帮着解决问题,赞一个!!
--  作者:gemingke
--  发布时间:4/11/2007 4:18:00 PM

--  
呃,抱歉,还是没能完全理解

能不能把你想要得xml片断给我看看


--  作者:ainogod
--  发布时间:4/11/2007 4:38:00 PM

--  
好的
<xs:complexType name="Static">
    <xs:annotation>
        <xs:documentation>常量</xs:documentation>
  </xs:annotation>
 <xs:attribute name="InitialVal" type="xs:double" use="required"/>
 <xs:attribute name="Unit" type="Units" use="required"/>
</xs:complexType>

<xs:complexType name="Dynamic">
  <xs:annotation>
   <xs:documentation>变量</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element ref="ns1:math"/>
  </xs:sequence>
  <xs:attribute name="Unit" type="Units" use="required"/>
 </xs:complexType>

<xs:simpleType name="DataType">
  <xs:annotation>
   <xs:documentation></xs:documentation>
  </xs:annotation>
              </xs:restriction>
           枚举 Static Dynamic两类
 </xs:simpleType>


--  作者:ainogod
--  发布时间:4/11/2007 4:40:00 PM

--  
就是我想 定义一个类型来 枚举前面定义过的两个类型
--  作者:gemingke
--  发布时间:4/11/2007 5:24:00 PM

--  
目前搞不定

我说一下自己的心得

1.complexType不能互相包容,使用choice这条路就断了

2.union只能使用simpleType,对complexType无效。这条路也断了


你之所以想到用DataType来枚举前面两个complexType,是不是想在具体应用时会发生如下情况:
假若不能确定某个元素该使用哪一种Type,就采用枚举的办法来自行判断?


--  作者:ainogod
--  发布时间:4/11/2007 5:59:00 PM

--  
是这样的,我定义一个Length 元素,但这种元素,有的给定初值,也就没有后面的math模块,有的是通过math计算得来的。所以定义了前面两种类型。我想赋予Length  DataType类型。然后根据具体情况选择
--  作者:ainogod
--  发布时间:4/11/2007 6:15:00 PM

--  
如果 我定义 简单的枚举
<xs:simpleType name="DataType">
  <xs:annotation>
   <xs:documentation>枚举出数据类型</xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
   <xs:enumeration value="Dynamic"/>
   <xs:enumeration value="Static"/>
  </xs:restriction>
 </xs:simpleType>
有方法把Dynamic 与 Static 关联到先前定义的 complextype 吗?
先谢谢了,总是麻烦你
--  作者:gemingke
--  发布时间:4/11/2007 6:51:00 PM

--  
还没有想到啊

你的问题也不好解决


--  作者:ainogod
--  发布时间:4/12/2007 3:20:00 PM

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