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

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