Solkar: XML Schema

Beitrag lesen

Hier ein Auszug aus dem XML DOkument:

Ich denk mir mal ein <lic_tusers> (Root-) Element

<lic_User lic_Created="2007-10-15" lic_User_ID="73" lic_Default_Tablespace="SYSTEM" lic_Temporary_Tablespace="TEMP" lic_Profile="DEFAULT" lic_Expiry_Date="2008-11-15">MGMT_VIEW</lic_User>
  <lic_User lic_Created="2007-10-15" lic_User_ID="0" lic_Default_Tablespace="SYSTEM" lic_Temporary_Tablespace="TEMP" lic_Profile="DEFAULT" lic_Expiry_Date="2008-11-15">SYS</lic_User>
  <lic_User lic_Created="2007-10-15" lic_User_ID="5" lic_Default_Tablespace="SYSTEM" lic_Temporary_Tablespace="TEMP" lic_Profile="DEFAULT" lic_Expiry_Date="2008-11-15">SYSTEM</lic_User>

drumherum; dann wäre es gem. dieser xsd

<?xml version="1.0" encoding="UTF-8"?>  
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
    <xsd:element name="lic_tusers"> <!-- Die Tabelle lic_tusers ist eine -->  
        <xsd:complexType>  
            <xsd:sequence> <!-- Sequenz der -->  
                <xsd:element name="lic_User" maxOccurs="unbounded"> <!-- lic_User -->  
                    <xsd:complexType mixed="true">  
                        <xsd:attribute name="lic_Created" type="xsd:string" use="required" />  
                        <xsd:attribute name="lic_User_ID" type="xsd:integer" use="required" />  
                        <xsd:attribute name="lic_Default_Tablespace" type="xsd:string" use="required" />  
                        <xsd:attribute name="lic_Temporary_Tablespace" type="xsd:string" use="required" />  
                        <xsd:attribute name="lic_Profile" type="xsd:string" use="required" />  
                        <xsd:attribute name="lic_Expiry_Date" type="xsd:string" use="required" />  
                    </xsd:complexType>  
                </xsd:element>  
            </xsd:sequence>  
        </xsd:complexType>  
    </xsd:element>  
</xsd:schema>

valide; geprüft mit xmllint aus dem libxml2 Paket

Das hier

<lic_User lic_Created="2007-10-15" lic_User_ID="73" lic_Default_Tablespace="SYSTEM" lic_Temporary_Tablespace="TEMP" lic_Profile="DEFAULT" lic_Expiry_Date="2008-11-15">  
<!-- => --> MGMT_VIEW <!-- <= -->  
</lic_User>  

ist dann etwas typarm, weshalb sich stattdessen

<lic_User lic_Created="2007-10-15" lic_User_ID="73" lic_Default_Tablespace="SYSTEM" lic_Temporary_Tablespace="TEMP" lic_Profile="DEFAULT" lic_Expiry_Date="2008-11-15" lic_What_So_Ever="MGNT_VIEW" />  

mit einem weiteren Attribut

<xsd:attribute name="lic_What_So_Ever" type="xsd:string" use="required" />

im inneren complexType anbietet, der dann auch nicht mehr "mixed" sein müsste.

Weiß jemand was da falsch läuft? Ich denke es liegt an der Definition im Schema, aber der XML-Editor gibt mir keine Fehlermeldung oder Warnung.

Wäre dankbar für Hilfe!

Gruß
Steff

Gerne

Grüsse

Solkar