Daniel Thoma: Geschachtelte Entities

Beitrag lesen

Hallo Zusammen

Der Link von fjh hat mir geholfen.
Den abschnitt hab ich gesucht nur in der Spec nie gefunden.

<!ENTITY text CDATA "bla bla">
<!ENTITY satz "Sehr viel &text;">

Was soll das CDATA?

[70] EntityDecl ::= GEDecl PEDecl
[71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'
[72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
[73] EntityDef ::= EntityValue (ExternalID NDataDecl?)
[74] PEDef ::= EntityValue ExternalID
[9] EntityValue ::= '"' ([^%&"]    PEReference    Reference)* '"' "'" ([^%&']    PEReference    Reference)* "'"
[67] Reference ::= EntityRef CharRef

Was soll da ander sein:
<!ENTITY % text "element anderes.element">
<!ENTITY % satz "%text; drittes.element">
zu da?
<!ENTITY % text "bla bla">
<!ENTITY % satz "Sehr viel %text;">

Beides legt text fest. PE-Referenzen darf man nur in der DTD verwenden.
Beide kann man nur so verwenden:
<!ENTITY test "Satz: %satz;">
Den direkt in der dtd füren sie nur zu einem Fehler
In deinem fall würde &test; im übrigen zu:
Satz: Sehr viel bla bla

Tschüs

Daniel