Der unterschied zwischen pcdata und cdata

Auszüge aus dem Begleitmaterial

... definiert Syntax für andere Auszeichnungssprachen. XML-basierte Auszeichnungssprachen teilen dieselbe Syntax, z.B. Tags in Spitzklammern

... Wurzelelement. XML-Dokumente sind baumartig ...

... Ein Element besteht immer aus einem öffnenden und schließenden Tag. ...

... Hochkommataumschlossen sein. Es ist nicht erlaubt, die gleichen Attributnamen mehrfach in einem Element zu verwenden.

... erlauben es, im XML Anweisungen zu hinterlegen, die später von Anwendungen ausgeführt werden können. Hier erfolgt in LaTeX ein Umbruch: Und weiter gehts …

... Es dürfen nicht mehrere Attribute mit gleichem Namen in einem Element existieren. ...

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

<!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[Bearbeiten | Quelltext bearbeiten]

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

B

BoeseOnkelzz

Neues Mitglied

  • 6. Mrz 2012
  • #1

Sers,

kann mir wer bitte den Unterschied zwischen #PCDATA & #CDATA erklären?

Grüsse

Der unterschied zwischen pcdata und cdata

x22

Bekanntes Mitglied

  • 6. Mrz 2012
  • #2

#PCDATA -> Strings
#CData -> kann binäre Daten enthalten

Regards,

B

BoeseOnkelzz

Neues Mitglied

  • 6. Mrz 2012
  • #3

Danke!
Muss ich dann nur die Strings parsen oder wie?

Der unterschied zwischen pcdata und cdata

x22

Bekanntes Mitglied

  • 6. Mrz 2012
  • #4

Der Inhalt wird vom XML-Parser nie geparst