PCDATA
PCDATA (engl. Parsed Character Data) ist ein Zeichenbereich in XML und SGML. Für PCDATA wird das Schlüsselwort #PCDATA verwendet. Dieses Schlüsselwort wird in Element-Deklarationen im Prolog oder in der DTD eingesetzt, um Bereiche zu kennzeichnen, die Zeichendaten enthalten dürfen und vom Parser weiterhin syntaktisch analysiert werden sollen. Es dürfen hier nur Zeichen enthalten sein, die keine Tags, Deklarationen oder Verarbeitungsanweisungen einleiten. Verboten sind hier beispielsweise das Zeichen <
(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.[1]
<!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
- ↑ Mixed Content in: Extensible Markup Language (XML) 1.0 (Fifth Edition). Abgerufen am 15. Januar 2017 (englisch).