xhtml und eigene xml-namespaces -- valide?
Hallo
2, 3 Fragen:
sind eigene xml-namespaces in xhtml trotzdem w3c-valide?
Wie kann ich im IE eine zusätzliche eigene (interne) DTD verwenden?
Habe gerade ein problem mit xhtml und xml - namespaces.
Ich habe einige php-Klassen geschrieben, die xhtml-Codefragmente aufnehmen können und als Module(pro codefragment 1 Modul) in einer xhtml-Datei zusammensetzen.
Nun möchte ich für jedes Modul eine eindeutige id vergeben, ohne einen zusätzlichen div um das Modul zu legen, da diese ja unter Umständen die (css-) Formatierung durcheinanderbringen könnten.
span-Tags sind ebenso ungünstig, da in ihnen nur bestimmte andere Tags enthalten sein dürfen(z.B. keine div's)
Darum kam ich auf die Idee, eigene Tags mit eigenem xml-Namespace zu integrieren und diesen dann die id's (via php) zu geben. Das sieht dann wie folgt aus:
Schon hier bekomme ich mit dem IE das erste Problem, da ich den content Type des Documents (via php) auf "application/xml" oder "application/xml+xhtml" setzen müßte, will der IE die Seite downloaden, anstatt anzuzeigen.
Belasse ich den contentType wird auf der Seite ']>' angezeigt(Abschluss der eigenen DTD).
Sollte ich einfach die eigene interne DTD herauslassen?? Dann ist es aber streng genommen kein valides xml mehr?
Sollte ich doch um alle eigene Module einen div legen und diesem die eigene id geben?? Weiß gerade nicht so richtig wie ich den "Modulen" eine eigene generierte id gebe, ohne in irgendwelche Konflikte zu kommen.
hat jemand einen Tip oder eine Idee für die id's?
2, 3 Fragen:
sind eigene xml-namespaces in xhtml trotzdem w3c-valide?
Wie kann ich im IE eine zusätzliche eigene (interne) DTD verwenden?
Habe gerade ein problem mit xhtml und xml - namespaces.
Ich habe einige php-Klassen geschrieben, die xhtml-Codefragmente aufnehmen können und als Module(pro codefragment 1 Modul) in einer xhtml-Datei zusammensetzen.
Nun möchte ich für jedes Modul eine eindeutige id vergeben, ohne einen zusätzlichen div um das Modul zu legen, da diese ja unter Umständen die (css-) Formatierung durcheinanderbringen könnten.
span-Tags sind ebenso ungünstig, da in ihnen nur bestimmte andere Tags enthalten sein dürfen(z.B. keine div's)
Darum kam ich auf die Idee, eigene Tags mit eigenem xml-Namespace zu integrieren und diesen dann die id's (via php) zu geben. Das sieht dann wie folgt aus:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [ <!ELEMENT HtmlModul:HTML_MODUL ANY> <!ATTLIST HtmlModul:HTML_MODUL MODUL_ID ID #IMPLIED> <!ATTLIST HtmlModul:HTML_MODUL id ID #REQUIRED> <!ATTLIST HtmlModul:HTML_MODUL name CDATA #IMPLIED> ]> <html xmlns = "http://www.w3.org/1999/xhtml" xmlns:HtmlModul = "http://ns.arnet.de/ns/htmlModul/" > <head>... </head> <body> ... ... some xhtml ... <HtmlModul:HTML_MODUL id="mod2" name="main"> Bsp-Inhalt ... jegliche xhtml-Fragmente oder Text hier möglich ....<div >xxy </div> </HtmlModul:HTML_MODUL> .... |
Schon hier bekomme ich mit dem IE das erste Problem, da ich den content Type des Documents (via php) auf "application/xml" oder "application/xml+xhtml" setzen müßte, will der IE die Seite downloaden, anstatt anzuzeigen.
Belasse ich den contentType wird auf der Seite ']>' angezeigt(Abschluss der eigenen DTD).
Sollte ich einfach die eigene interne DTD herauslassen?? Dann ist es aber streng genommen kein valides xml mehr?
Sollte ich doch um alle eigene Module einen div legen und diesem die eigene id geben?? Weiß gerade nicht so richtig wie ich den "Modulen" eine eigene generierte id gebe, ohne in irgendwelche Konflikte zu kommen.
hat jemand einen Tip oder eine Idee für die id's?
Hi ospx,
die Methode der eigenen Tags ist gut gewählt IMO.
Was das mime-format angeht:
http://forum.de.selfhtml.org/archiv/2006/11/t141388/#m918616
Fazit: text/html.
Sonst kannst du doch in php unterscheiden zwischen IE und Anderen browsern oder? Führ doch eine Mimetype-entscheidung durch währen die Seite angefragt wird (Hat zwar einen Rattenschwanz aber wir kennen M$ doch nicht anders.)!
die Methode der eigenen Tags ist gut gewählt IMO.
Was das mime-format angeht:
http://forum.de.selfhtml.org/archiv/2006/11/t141388/#m918616
Fazit: text/html.
Sonst kannst du doch in php unterscheiden zwischen IE und Anderen browsern oder? Führ doch eine Mimetype-entscheidung durch währen die Seite angefragt wird (Hat zwar einen Rattenschwanz aber wir kennen M$ doch nicht anders.)!
Im IE wird immer die abschließende Klammer '[>' angezeigt, egal, wie ich es mit interner DTD angehe... das ist doch zum kotzen ... --> hast wohl Recht, werde wohl oder übel in IE und andere Browser unterscheiden müssen und dem IE seine eigene abgespeckte xhtml-Seite ausliefern müssen ... so ein Bullshit ... diesen Rattenschwanz wollte ich vermeiden und außerdem valide bleiben ... ergo im IE geht es nicht mit eigener interner DTD und 'application/xhtml+xml' kann er auch nicht. Dachte, hoffte, die Zeiten der Browserweichen sind nun endlich mal vorbei, solange man bei den Standarts bleibt.
grummel, grrr...
EDIT: -- muß das thema nochmal aufgreifen --
wenn ich namespaces für die eigenen Tags verwende, kann ich die DOM-Funktion getElementsById() nicht nutzen. Das ist aber der einzige Sinn der eigenen (eigenschaftslosen) Tags.
Um korrekt zu bleiben, brauche ich doch aber eigene namespaces oder irre ich mich??
Grund der eigenen Tags ist, dass ich eigenschaftslose Tags brauche( die also für die Anzeige nicht relevant sind), mit deren Hilfe ich über die id mit Javascript / DOM auf diese Bereiche lesend und schreibend zugreifen kann.
Lasse ich die namespaces der eigenen Elemente (Tags) weg, funktioniert das auch. Ist doch aber dann nicht ganz io, da die eigenen Tags ja nicht zum xhtml - Vokabular gehören.
Wie löst man denn ein solches Problem elegant??
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (13. Dezember 2007, 21:40)


