fjh: Entity-Referenz bzw. -Auftreten in/als Attributwert

Beitrag lesen

Hi Simon

<logo quellelogo=logo></logo>

Ich stecke zwar nicht ganz so in der Materie (zumindest weiß ich, was Entities sind), aber hast du das wirklich so gefunden?

Ja, habe ich genauso gefunden.
Und zwar bei Michael Seeboerger-Weichselbaum <i>XML - Das Einsteigerseminar</i>.
Dort steht auch, das der IE das nicht kann und man dort anders vorgehen muß. Dachte zuerst könnte ja sein, weil auch der Parser nicht meckert vom MS. Da das Buch aber äußerst schlampig gelayoutet ist und auch ansonsten einiges nicht so ganz astrein beschrieben ist (obwohl sehr praxisbezogen und billig <g>) kam mir das dann nicht ganz so glaubwürdig vor.

Alle anderen Quellen, die ich so kenne, auch Deine (danke übrigens) bleiben sehr allgemein, was Entities angeht und v.a. Entities als Attribute!

Oder muss da nicht da nicht &logo; stehen, statt einfach nur logo?

Ja dachte ich auch, aber dann meldet der Parser wieder (auch der MS-Parser) völlig zurecht (laut Spec), dass die Anführungszeichen fehlen. Mit Anführungszeichen gehts dann aber.

Gut ist die Sache aber doch, da man durch die Lückenhaftigkeit der Sekundärliteratur gezwungen ist, sich durch die Spezifikationen zu ackern und dabei ne Menge lernt (wann hab ich zum letzten mal ‚tatsächlich in ne HTML-Spec geschaut!).
Also mein Lösungsweg ist gar nicht verboten laut Spec, da es sich um eine Referenz auf ein internes Entity handelt, die durchaus erlaubt ist.
<!ENTITY logo "../xml/bilder/logo.gif">
Sie haben einen Inhalt der eben sogleich auch definiert wird und nicht auf eine externe Quelle verweist.

Gut, das habe ich nun kapiert.
Bleibt aber noch die Frage wie ich nun ein Bild über Entities einbinden kann.
Eigentlich müßte dies über ein nicht-analysiertes, externes Entity gehen:
In der DTD
<!NOTATION GIF PUBLIC "CompuServe/Unisys Graphics Format">
<!ENTITY logo SYSTEM  "../xml/bilder/logo.gif" NDATA GIF>
und im XML:
<bild>&logo;</bild>
Aber das ist verboten! Möglich ist dies nur über Attributwerte! Aber wie nun, wenn nicht so wie im Buch beschrieben.
Die relevanten Passagen in der Recommendation verstehe ich nicht:
1)"Parsed entities are invoked by name using entity references; unparsed entities by name, given in the value of ENTITY or ENTITIES attributes." http://www.w3.org/TR/REC-xml#sec-physical-struct
und 2) mit Bezug zum ENTITY value:
"Validity Constraint: Entity Name
Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Name must match the name of an unparsed entity declared in the DTD." http://www.w3.org/TR/REC-xml#sec-attribute-types

Ein Königreich für ein Beispiel!

Gruß
Franz

MfG Simon