PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XML Schema, wie?: <x>blah<b>blubb</b>blah</x>


Wuppdich
07.07.2009, 11:02
Hallo zusammen,

ich arbeite gerade an einem Projekt, das XML benutzen soll und für das entsprechende XML Schemata zu definieren sind. Wahrscheinlich ist die Lösung total einfach, aber ich sehe sie momentan nicht --> Brett vorm Kopf :mauer:

Ich bräuchte ein Tag, in dem ich einen Text erfasse, wobei aber mitten im fließenden Text ein weiteres Tag auftauchen kann. Im Grunde nichts anderes als das, was man bei vielen HTML-Seiten findet:


<p>
dies ist irgendein Text mit einem <b>fetten</b> Wort mittendrin.
</p>


Ich müsste nun dazu das XML Schema entwerfen, das in etwa so aussehen dürfte


<xsd:element name="p" type="xsd:string">
<xsd:complexType>
<xsd:element name="b" type "xsd:string" />
</xsd:complexType>
</xsd:element>


Aber die beiden hervorgehobenen Teile type="xsd:string" und <xsd:complexType>schließen sich ja gegenseitig aus, oder etwa nicht? Wo ist der Knoten in meinen Gedanken? Hilfe! :confused:


Firefall
07.07.2009, 14:11
Du musst im complexType mixed="true" setzen. Und dein inneres Element muss in eine xsd:sequence (Oder auch xsd:all/xsd:choose) auch wenns nur eins ist. Siehe auch http://www.w3schools.com/schema/schema_complex_mixed.asp

Wuppdich
07.07.2009, 14:47
Vielen Dank für die schnelle Antwort. Ich wusste doch, es ist nur eine Kleinigkeit...

-- Problem solved --

eViL_oNe
07.07.2009, 22:26
wenn man schon so was wie Light-Weight HTML abbildet, würde ich den Tags sprechende Namen geben wie etwa <paragraph> oder <strong> ;)

nix für ungut

Wuppdich
10.07.2009, 11:50
Danke, @eViL_oNe, aber es war nur als platzsparendes Beispiel gedacht, ums aufs Wesentliche zu konzentrieren. Bei dem Projekt geht es schon um etwas kompliziertete Dinge.