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

  1. Mixed Content in: Extensible Markup Language (XML) 1.0 (Fifth Edition). Abgerufen am 15. Januar 2017 (englisch).