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

Beitrag lesen

Hallo,

ich auch, ich auch, stecke halt nur gerade tiefer drin, weil ich in der Firma so'n bißchen XML als Format für unsere Dokus... "verkaufen" möchte. Sonst muß ich mich nämlich in das schreckliche Word weiter einarbeiten, was mir gar nicht so recht gefallen will.

Oh. Das ist aber ganz schoen gewagt.

Wieso?
Ist eh gerade im Aufbau die Organisation, vor allem die Online-Dokus. Da eignet sich XML doch hervorragend zur Strukturierung der Dokumente. Soll ja auch erstmal ganz klein anfangen. Z.B. versuche ich gerade aus einem einfach strukturierten XML-Dokument, was als so eine Art Datenbank für die Projektdokus auf CD fungiert mit einem XSLT-Stylesheet mehrere HTML-Seiten zu generieren, die dann die Navigationsoberfläche für eine CD-Rom liefern.
Bin noch etwas unbedarft was das Splitten in mehrere Dateien angeht, aber gehen tut das mit XSLT-Prozessorerweiterungen. Zufällig steht übrigens sowas in der Art in der letzten c't. Dort werden aus einer XML-Datei hunderte WML-Dateien generiert mittels eines Style-Sheet!
Richtig interessant wirds natürlich erst, wenn man auch die Dokumente selbst nicht mehr im Word-Format, sondern als XML hält und dann eben für verschiedene Medien aufbereitet. Na mal sehen, alles zu seiner Zeit. Jedenfalls machts allemal mehr Spaß als copy und paste + zusammengewurschtelte Word-Vorlagen...

In meinem Fall wollen wir ein Kommunikationsprotokoll zwischen verschiedenen CGI-Anwendungen XML-basiert definieren. Genauer gesagt gibt es eine Server-App, die sich per XML reinzieht, was sie zu tun hat, und dann die Ergebnisse der durchgefuehrten Arbeiten als XML zurueckgibt. Eine Client-App, im speziellen Fall ebenfalls ein (etwas groesseres *g*) CGI-Script ruft halt die Server-App mit einem XML-Dokument als Anweisungsliste auf.

Ja, XML als eine Art Austauschformat, auch eine Anwendungsdomäne.

Na gut, ich hab's jetzt mal gelesen. Zum Glueck wird auf http://www.xml.com/axml/axml.html die Spec mit zahlreichen Kommentaren unterstuetzt.

prima, danke, der link war in meinem bookmarkhaufen glatt untergegangen

» ENTITY-Attribute sind genau dann solche, wenn sie so deklariert wurden. In Deinem Fall muesste das ungefaehr
    <!ATTLIST logo
        quelle ENTITY #REQUIRED
    >
lauten. Siehe auch Kapitel 3.3.1. der Spec.

Die Einbindung erfolgt dann mit
    <logo quelle="logo">
Obiger Validity constraint sagt einfach aus, dass das "logo" (der Attributwert) der Name einer in der DTD deklarierten unparsed entity sein muss, that is, Du musst die Entity logo genau so deklarieren, wie Du's hier getan hast:

erst mit
<!NOTATION GIF PUBLIC "CompuServe/Unisys Graphics Format">
<!ENTITY logo SYSTEM  "../xml/bilder/logo.gif" NDATA GIF>

Ja, so habe ich mir das dann auch zurechtgelegt. Dachte aber, da es nicht funktioniert, daß ich was falsch verstehe. Aber offensichtlich liege ich nicht so ganz daneben. Der MSIE stellt das Bild nicht dar und Xalan generiert eine HTML-Datei, die als Attributwert "logo" stehen hat. Eben den String logo statt des Pfadnamens. Irgendwie wird nicht registriert, daß es eine Entity mit Namen logo gibt, obwohl sie ganz oben in der DTD deklariert ist.
Hast du oder irgendwer anders, sowas mal ausprobiert?

Ach ja, und um mir noch das Koenigreich zu verdienen: http://www.xml.com/axml/notes/ExplUnpEnt.html

War's das, was Du wissen wolltest?

Ja, schon, aber ich wollte eigentlich ein Beispiel das funktioniert. So gibts nur ne Kolonie in Kolumbien ;-)

Na, da werde ichs wohl erstmal so lassen, die Lösung über externe Entities halte ich zwar für eleganter, aber letzlich ist das eher theoretisches Interesse.

Danke und Grüße
Franz