referere et element via dets attribut?
Hey jeg har et problem med at lave et schema ud fra følgende xml doc. Hver computer kan indeholde mange Class'er og hver Class med forskellig Name attribut er forskellig i strukturen, her et eksempel med kun to forskellige typer Class<Computers>
<Computer Name="COM20">
<Class Name="Win32_LogicalDisk">
<Caption>A:</Caption>
<Size />
<FreeSpace />
</Class>
<Class Name="Win32_LogicalDisk">
<Caption>C:</Caption>
<Size>4293562368</Size>
<FreeSpace>1856524288</FreeSpace>
</Class>
<Class Name="Win32_PageFileUsage">
<Caption>C:\pagefile.sys</Caption>
<AllocatedBaseSize>768</AllocatedBaseSize>
<CurrentUsage>139</CurrentUsage>
<Name>C:\pagefile.sys</Name>
<PeakUsage>556</PeakUsage>
</Class>
</Computer>
</Computers>
*********Slut på xml dokument. Nu definerer jeg schemaet*******
<?xml version="1.0"?>
<xsd:schema >
<xsd:element name="Class" >
<xsd:complexType>
<xsd:attribute name = "Win32_LogicalDisk" type="xsd:string"/>
<xsd:sequence>
<xsd:element name="owner" type="xsd:integer"/>
<xsd:element name="Caption" type="xsd:string"/>
<xsd:element name="Size" type="xsd:double"/>
<xsd:element name="FreeSpace" type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name= "Class" >
<xsd:complexType>
<xsd:attribute name = "Win32_PageFileUsage" type="xsd:string"/>
<xsd:sequence>
<xsd:element name="owner" type="xsd:integer"/>
<xsd:element name="Caption" type="xsd:string"/>
<xsd:element name="AllocatedBaseSize" type="xsd:int"/>
<xsd:element name="CurrentUsage" type="xsd:int"/>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="PeakUsage" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Computer" >
<xsd:complexType>
<xsd:sequence>
*****Og her går det galt, i sequencen vil jeg først have Win32_LogicalDisk Class, og derefter the Win32_PageFileUsage. Den følgende linie er IKKE korrekt, men jeg ved ikke hvordan man refererer et element ved dets attribut****
<element ref="Class" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>