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. 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.
<!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).