PCDATA
PCDATA (engl. Parsed Character Data) ist ein Zeichenbereich in SGML und XML. Für PCDATA wird das Schlüsselwort #PCDATA innerhalb der DTD verwendet.
Mit #PCDATA wird ein Textblock gekennzeichnet, der auch weitere Anweisungen an den Parser enthalten kann.[1] Der Inhalt dieses Textblocks wird syntaktisch vom Parser analysiert. Im Gegensatz zu CDATA dürfen nur Zeichen enthalten sein, die keine Tags, Deklarationen oder Verarbeitungsanweisungen einleiten. Verboten sind hier beispielsweise <
(z. B. Startzeichen eines Tags, z. B. <Beispiel>
).
XML-Elementinhalt
Die Verwendung von #PCDATA innerhalb der Definition von Elementinhalten ist in der Regel [51] für gemischten Inhalt (engl. Mixed Content) definiert.[2]
<!ELEMENT Fett (#PCDATA) >
<!ELEMENT Absatz (#PCDATA | Fett)* >
Das Element Absatz
darf die Bestandteile #PCDATA
(Textzeichen) und das Element Fett
enthalten. Diese Bestandteile sind jeweils optional (*
), dürfen mehrfach und unabhängig von der Reihenfolge angegeben werden.
<Absatz>Das ist <Fett>wichtig</Fett>.</Absatz><!-- gültig -->
<Absatz></Absatz><!-- gültig -->
SGML-Elementinhalt
<!ELEMENT Fett (#PCDATA) >
<!ELEMENT Absatz1 (#PCDATA | Fett)* >
<!ELEMENT Absatz2 (#PCDATA | Fett)+ >
<!ELEMENT Absatz3 (Fett, #PCDATA) >
In SGML darf #PCDATA
nahezu beliebig innerhalb von Inhaltsdefinitionen eingesetzt werden.
Das Element Absatz1
entspricht der XML-Syntax, die Bestandteile sind jeweils optional(*
), dürfen mehrfach und unabhängig von der Reihenfolge angegeben werden.
Das Element Absatz2
erfordert mindestens (+
) ein #PCDATA
(Textzeichen) oder ein Element Fett
.
Das Element Absatz3
muss mit einem Element Fett
beginnen, dem #PCDATA
(Textzeichen) folgen müssen.
<Absatz1>Das ist <Fett>wichtig</Fett>.</Absatz1><!-- gültig -->
<Absatz1></Absatz1><!-- gültig -->
<Absatz2>Das ist <Fett>wichtig</Fett>.</Absatz2><!-- gültig -->
<Absatz2></Absatz2><!-- ungültig, Text oder fett fehlt -->
<Absatz3><Fett>Das</Fett>ist wichtig.</Absatz3><!-- gültig -->
<Absatz3><Fett>Das</Fett></Absatz3><!-- ungültig, Text fehlt hinter Fett -->
<Absatz3>Das ist <Fett>wichtig</Fett>.</Absatz3><!-- ungültig, Fett fehlt am Beginn -->
<Absatz3></Absatz3><!-- ungültig, Fett fehlt, Text fehlt -->
Einzelnachweise
- ↑ Extensible Markup Language (XML) 1.0 (Fifth Edition). In: www.w3.org. Abgerufen am 15. Januar 2017 (englisch).
- ↑ Mixed Content in: Extensible Markup Language (XML) 1.0 (Fifth Edition). Abgerufen am 15. Januar 2017 (englisch).