Hallo,
ich habe eine XML-Datei, die beispielsweise unter anderem folgende Einträge aufweisen kann.
Folgende Infos hab ich:
1) <step>muss in jedem Fall einen String enthalten (PCDATA)
2) innerhalb von <step> darf entweder vor oder nach dem String aus 1) ein Element vom Typ <picbin
format="BMP/JPEG/PNG/TIF">(MIME64Code-String der Grafikdatei)></picbin> folgen.
Der String unter 1) kann beliebig sein.
<picbin hat also ein attribut "format" das eines der oben genannten Dateiendungen aufnehmen kann (BMP/JPEG/PNG/TIF),
als Elementwert folgt dann ein MIME64-Codestring.
Wie kann man diesen Sachverhalt in einer XSD-Datei (Schemadatei) abbilden?
Mein bisheriger Vorschlag innerhalb der XSD-Datei:
Ich bin mir aber nicht sicher, ob es überhaupt erlaubt ist, zu schreiben:
<xs:element name ="step" type="xs:string">, da danach ja ein complextype folgt.
Also insbesondere dieses type="xs:string"... Andererseits soll ja in Step auch PCDATA (string) auftauchen...
Bei einer vergleichsweisen DTD müßte dort etwa folgendes definiert sein:
Gruß, Ralf
ich habe eine XML-Datei, die beispielsweise unter anderem folgende Einträge aufweisen kann.
Code:
....
<step>Dies ist der 1. Bearbeitungsschritt (mit einem Bild)
<picbin format="JPG">/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4pLSwzOko....</picbin> </step>
<step>noch ein Bearbeitungsschritt (diesmal ohne Bild)</step>
<step>3. Bearbeiungsschritt (mal wieder mit Bild
<picbin format="BMP">/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4pLSwzOko...</picbin></step>
...
1) <step>muss in jedem Fall einen String enthalten (PCDATA)
2) innerhalb von <step> darf entweder vor oder nach dem String aus 1) ein Element vom Typ <picbin
format="BMP/JPEG/PNG/TIF">(MIME64Code-String der Grafikdatei)></picbin> folgen.
Der String unter 1) kann beliebig sein.
<picbin hat also ein attribut "format" das eines der oben genannten Dateiendungen aufnehmen kann (BMP/JPEG/PNG/TIF),
als Elementwert folgt dann ein MIME64-Codestring.
Wie kann man diesen Sachverhalt in einer XSD-Datei (Schemadatei) abbilden?
Mein bisheriger Vorschlag innerhalb der XSD-Datei:
Code:
<xs:element name ="step" type="xs:string">
<xs:complexType mixed="true">
<xs:all> //wohl nicht erforderlich?
<xs:element name="picbin" use="optinal">
<xs:complexType>
<xs:attribute name="format" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name ="step" type="xs:string">, da danach ja ein complextype folgt.
Also insbesondere dieses type="xs:string"... Andererseits soll ja in Step auch PCDATA (string) auftauchen...
Bei einer vergleichsweisen DTD müßte dort etwa folgendes definiert sein:
Code:
...
<!ELEMENT step(#PCDATA|picbin)*>
<!ELEMENT picbin (#PCDATA)
<!ATTLIST picbin
format CDATA #requiered>
...