-- 作者: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>
|