Thomas J.S.: Darstellung von Bildern & Links in XML

Beitrag lesen

Hallo,

Nein, HTML schummelt nicht. ;-)
Wie gesagt, man sollte sich nicht vom X in XHTML  beirren lassen. Es ist nach wie vor HTML.

also, Mozilla macht da sehr wohl einige Unterschiede. XHTML wird sehr viel strikter geparst (wenn man es als application/xml+xhtml angibt) und schränkt z.B. das "laxe" DOM ein.

XHTML wird nur im Zusammenhag mit XML-Syntax überprüft.
Die DOM-Interpretation hat damit nichts zu tun bzw. nur im bezu zu XML-Syntax. Die in XHTML verwendete Element sind nach wie vor HTML-elemente.

ok. Und wieso dann diese komische Identifikation über eine URL?

Das habe ich ja bereits gesagt: "Namespaces dienen nur dazu Elemente voneinander unterschieden zu können."

»»Wäre es nicht sinnvoller, zu schreiben xmlns:xlink="<XLINK-Identifier>"?

Aber genau das passiert, die URL ist genau das was du "XLINK-Identifier" nennst. Durch den Namesraum-URL werden die Elemente u. Attribute einem bestimmten Namensraum zugeordnet.
Der Namesraumpräfix dient als Abkürzung und wird dann vom Parser aufgelöst.
Vielleicht hilft es zum Verständnis wenn du die Spez. durchliest http://www.w3.org/TR/REC-xml-names/
Es wäre ein wenig umständlich wenn man immer sowas schreiben müsste
<{http://www.mydomain.org/buch}titel>

»»Na, sehr theoretisch, aber wenn sich in einem Dokument ein Link verbirgt denke ich halt, der hat da auch was zu suchen und steht da nicht nur aus Gaudi.

Ja, aber was hat das mit dem Ganzen zu tun?
Außerdem: "Link" ist eine Idee, ob das Element in XML a, link, verweis, verknüpfung, blabla, ost sonst wie heisst spielt keine Rolle.

Dann noch eine (allerletzte ;) Frage:

ich habe in meinem DTD folgende Deklaration:

\\ <!ELEMENT link ANY>
<!ATTLIST link
    link:type   (simple)    "simple"
    link:href   CDATA       #IMPLIED

///
wenn ich jetzt in meiner XML-Datei Folgendes schreibe:

\\ <link link:href="http://hier_lang">Link</link>
///

dann müßte doch " link:type="simple" " automatisch vom Parser "ergänzt" werden, da ich einen Defaultwert deklariert habe. Wird's aber nicht!

Nichtvalidierde Parser sind nicht verpflichtet Vorgabewerte aus der DTD zu unterstützten (validierende schon) und Mozilla hat keinen validierenden XML-Parser.
Deine XML-Dateien wären bei dieser DTD aber so oder so nciht gültig. Du muss auch den Namesraum in der DTD defineiren: http://aktuell.de.selfhtml.org/artikel/xml/namensraeume/index.htm

»»In obigem Fall erkennt der Moz mit das nicht als Link, ich muß bei jedem Link-Tag explizit " link:type="simple" " dazuschreiben.

siehe oben, außerdem da solltest du wohl eher
<!ATTLIST link
   xlink:type   (simple)    "simple"
   xlink:href   CDATA       #IMPLIED

verwenden.

Grüße
Thomas