以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]XML简单,SCHEMA约束复杂的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=53950)


--  作者:danielhy
--  发布时间:10/17/2007 12:14:00 PM

--  [求助]XML简单,SCHEMA约束复杂的问题
联系方式
MSN OCEAN2004 @ 163.COM

QQ 13786322
<Location>

            <L_ID>L1</L_ID>

            <Component>

                <ID>aaa</ID>

                <Component>

                    <ID>aaa111</ID>

                </Component>

            </Component>
           <Component>

                <ID>bbb</ID>

                <Component>

                    <ID>bbb111</ID>

                </Component>

            </Component>
            <Component>

                    <ID>bbb222</ID>

                </Component>

            </Component>

        </Location>
--------------------------------------
note:我写了个不太规范的。请帮忙看看。要求是再LOCATION下可以有多个COMPONENT出现,其COMPONENT的SUB COMPONENT的也可以是多个,但是ELMENT NAME都要是一个COMPONENT
我的遇到的问题。怎么能解决REF不同的ELEMENT还能显示同一个名字
PS.我只是对其中的一个XML做约束。所以有多余的SCHEMA信息
THX
--------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:element name="Digital_Airplane">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element ref="DA_ID"/>
    <xsd:element ref="ATA_Chapter" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
 <xsd:element name="ATA_Chapter">
  <xsd:complexType>
   <xsd:all>
    <xsd:element ref="Location"/>
    <xsd:element ref="Location_23T07100"/>    
   </xsd:all>
   <xsd:attribute name="ID" type="xsd:ID" use="required"/>
  </xsd:complexType>
 </xsd:element>
 
 <xsd:element name="Location">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element ref="L_ID"/>
    <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
 
 <xsd:element name="Location_23T07100">
  <xsd:complexType>
  <xsd:sequence>
   <xsd:element name="L_ID" fixed="23T07100"/>
   <xsd:element ref="COMGRP_23T07100" />
  </xsd:sequence>
  </xsd:complexType>  
 </xsd:element>
 
 <xsd:element name="Component">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element ref="ID"/>
    <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
 
 <xsd:element name="COMGRP_23T07100">
  <xsd:complexType>
   <xsd:all>
    <xsd:element ref="Component_9806020-001T0435" />
    <xsd:element ref="Component_9806020-001T0436" />
   </xsd:all>
  </xsd:complexType>
 </xsd:element>
 
 <xsd:element name="Component_9806020-001T0435">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element name="ID" fixed="9806020-001 0435"/>
    <xsd:element ref="COMGRP_DK120TSC16684" />
   </xsd:sequence>   
  </xsd:complexType>
 </xsd:element>
 
 <xsd:element  id="Component" name="Component_9806020-001T0436">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element name="ID" fixed="9806020-001 0436"/>
   </xsd:sequence>   
  </xsd:complexType>
 </xsd:element>
 
 <xsd:element name="COMGRP_DK120TSC16684">
  <xsd:complexType>
   <xsd:all>
    <xsd:element ref="Component_DK120TSC16684" />
   </xsd:all>
  </xsd:complexType>
 </xsd:element>
 
 <xsd:element id="Component" name="Component_DK120TSC16684" >
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element name="ID" fixed="DK120 SC16684"/>
   </xsd:sequence>   
  </xsd:complexType>
 </xsd:element>
  
 <xsd:element name="DA_ID" type="xsd:ID"/>
 <xsd:element name="L_ID" type="xsd:ID"/>
 <xsd:element name="ID" type="xsd:ID"/>
</xsd:schema>



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