Eigenes Tag definieren ?
Joachim Adomeit
- xml-derivat
Hallo zusammen,
hab grad mal versucht mir als Ersatz für das lästige Pixel-Gif-Helferchen ein eigenes Tag in einer angepassten DTD zu erstellen.
Ich hatte mit vorgestellt das ich dann am Ende einfach locker:
<pix width="5" height="10">
schreiben könnte und alles sei einfach nur rattenscharf.
so sah meine defi aus:
---------------
<!--=================== Pixel-Gif's ===========================================-->
<!-- Length defined in strict DTD for cellpadding/cellspacing -->
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
<!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
<![ %HTML.Frameset; [
<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
]]>
<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
<!ENTITY % IAlign "(top|middle|bottom|left|right)" -- center? -->
<!-- To avoid problems with text-only UAs as well as
to make image content understandable and navigable
to users of non-visual UAs, you need to provide
a description with ALT, and avoid server-side image maps -->
<!ELEMENT pix - O EMPTY -- Embedded image -->
<!ATTLIST pix
%attrs; -- %coreattrs, %i18n, %events --
src CDATA #FIXED "\img/img_pix.gif" -- URI of image to embed --
alt %Text; #REQUIRED -- short description --
longdesc %URI; #IMPLIED -- link to long description
(complements alt) --
name CDATA #IMPLIED -- name of image for scripting --
height %Length; #IMPLIED -- override height --
width %Length; #IMPLIED -- override width --
usemap %URI; #IMPLIED -- use client-side image map --
ismap (ismap) #IMPLIED -- use server-side image map --
align %IAlign; #IMPLIED -- vertical or horizontal alignment --
border %Pixels; #IMPLIED -- link border width --
hspace %Pixels; #IMPLIED -- horizontal gutter --
vspace %Pixels; #IMPLIED -- vertical gutter --
>
------------------------------------------------
so, das ganze ist eigentlich mehr oder weniger einfach eine kopie aus der w3c-loose-dtd. bis auf die zeile mit dem src...den wollte ich xml-konform auf eine konstante setzen (auf das pixel-gif eben).
leider klappt das in der form nicht, vielleicht hat jemand schon mal ähnliches gemacht und hat eine idee... ?
gruss
Joe
Hi Joachim,
leider klappt das in der form nicht,
was verstehst Du unter "klappen"?
Daß Du ein Tag definierst, das heißt keineswegs, daß irgend eine real existierende Software Deine gewünschte Semantik (!) dieses Tags versteht.
Denn was ein Tag _bedeutet_, das definierst Du nicht in einer DTD - nur, wie man es notiert.
Viele Grüße
Michael
was verstehst Du unter "klappen"?
naja, das das pixelgif halt nicht dargestellt wird...
Daß Du ein Tag definierst, das heißt keineswegs, daß irgend eine
real existierende Software Deine gewünschte Semantik (!) dieses Tags >> versteht.
Denn was ein Tag _bedeutet_, das definierst Du nicht in einer DTD - >> nur, wie man es notiert.
das ist es wohl was ich verpasst hatte, klar...der browser muss mit dem tag von vorneherein was anfangen können...sorry, war ne nette idee, habs aber leider nicht bis zur letzten instanz durchgedacht.
hasta la vista
Joe
Hallo Joe,
leider klappt das in der form nicht,
Was heißt klappt nicht? Verwendest Du einen validierenden Parser, um das Dokument einzulesen? Außerdem: Woher will Dein Browser wissen, dass er <pix> genauso wie <img> behandeln soll?
vielleicht hat jemand schon mal ähnliches gemacht und hat eine idee... ?
a) Entities. Funktionieren *sollten* sie in jedem XML-kompatiblen Browser, AFAIK tun sie es nur im Mozilla und Opera 6+. (vielleicht noch Amaya)
Siehe: http://mozilla.linuxfaqs.de/entities.xml (XHTML-fähiger Browser vorrausgesetzt, was z.B. auf den IE nicht zutrifft)
b) Auf das 1Pixel-GIF verzichten.
c) Immer alles ausschreiben.
d) Vor dem hochladen Suchen/Ersetzen auf die Datei anwenden.
Christian
Hallo,
leider klappt das in der form nicht, vielleicht hat jemand schon mal ähnliches gemacht und hat eine idee... ?
Was klappt nicht?
Fehlermeldungen?
Was ist das für eine Pfadangabe: \img/img_pix.gif ?
Was willst du eigentlich machen: XML? --> geht nicht, dein DTD ist kein XML-DTD.
Grüße
Thomas