zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden Weitere Tags definieren…?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 13.01.2013, 02:25
Ober-Telefondesinfizier
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2009
Ort: Berlin
Beiträge: 39
.rhavin befindet sich auf einem aufstrebenden Ast
Frage Weitere Tags definieren…?

Irgendwie schnall' ich trotz intensivem Lesen der DTD und XHTML-specs nicht so ganz, wie ich das X hinbekomme^^

Nehmen wir an, ich möchte auf XHTML 1.1 aufbauen (HTML5 kann das – glaube ich – nicht) und nehmen wir weiterhin an, <x> stehe für ein beliebiges neues Tag. Zum Dokument wird ein JavaScript gehören, welches die neuen Tags interpretiert und für BRowser anzeigt. Nur – im gegensatz zu z.B. MathML möchte ich das ganze Mixable machen, d.H., <x> soll in jedem Element stehen düfen, welches CDATA enthält.

Beispiel:

HTML-Code:
<!  (WELCHE_DTD?)>
<html xmlns=" ?? "><head>
  <script (MEIN_JAVASCRIPT)>
</head><body>
  <x>Hier könnte x stehen</x>
  <p id="hier_natürlich_nicht">
    <x>Hier könnte auch x stehen</x>
  </p>
</body></html>
? Welche DTD definiere ich dafür (kann ich nur x definieren und die xhtml-standart dtd irgendwie "einbinden"

Ob ich nun <x> oder <meinnamespace:x> schreibe is mir erstmal egel.

Im BRowser funktioniert das schon, mit den Tags, nur werden derzeit noch nicht (zumindest im FF) die attribute von x ausgelesen, wenn ich also schreibe:

HTML-Code:
<x id="a" ref="b" tnk="c" />
…kann ich zwar mit ax = document.getElementsByTagName('x') meine x'e Array'n, aber ich bekomme mit ax[0].ref nicht das ref-Attribut, weil das "Unbekannte Tag" nicht aufgefüllt wird.

Wie geht's richtig…?

Geändert von .rhavin (13.01.2013 um 02:27 Uhr) Grund: blöde smiles machen code kaputt ^^
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 13.01.2013, 11:05
Standardkatze
XHTMLforum-Kenner
 
Registriert seit: 06.02.2007
Beiträge: 1.820
gato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nett
Standard

Zitat:
Zitat von .rhavin Beitrag anzeigen
Irgendwie schnall' ich trotz intensivem Lesen der DTD und XHTML-specs nicht so ganz, wie ich das X hinbekomme^^
Bitte beschreibe deine Probleme zukünftig etwas strukturierter. Ich musste erst ein paar mal nachdenken, was du eigentlich meinst

Zitat:
Zitat von .rhavin Beitrag anzeigen
Nehmen wir an, ich möchte auf XHTML 1.1 aufbauen (HTML5 kann das – glaube ich – nicht) und nehmen wir weiterhin an, <x> stehe für ein beliebiges neues Tag. Zum Dokument wird ein JavaScript gehören, welches die neuen Tags interpretiert und für BRowser anzeigt. Nur – im gegensatz zu z.B. MathML möchte ich das ganze Mixable machen, d.H., <x> soll in jedem Element stehen düfen, welches CDATA enthält.
Grundsätzlich darfst du in keinem (X)HTML eigene Elemente und Attribute definieren (dass es funktioniert liegt allein an der vorwärts-kompatiblen Definition der Sprachen).

Theoretisch hast du die Möglichkeit, in XHTML (auch XHTML5), eigene XML-Dialekte einzubinden, die natürlich in ihrem eigenen Namensraum leben müssen.
Dies ist allerdings sehr verpönt, weil schlechter Stil. Üblicherweise sind die vorgegebenen Elemente ausreichend.
Beachte außerdem, dass XHTML bedeutet, dass deine Dokumente mit dem HTTP-Header Content-Type: application/xhtml+xml versendet werden, sowie valide und wohlgeformt sein müssen.
Letzteres wird dir vorerst nicht gelingen, da es dafür keine Validatoren gibt.

Zitat:
Zitat von .rhavin Beitrag anzeigen
…kann ich zwar mit ax = document.getElementsByTagName('x') meine x'e Array'n, aber ich bekomme mit ax[0].ref nicht das ref-Attribut, weil das "Unbekannte Tag" nicht aufgefüllt wird.
Die standardisierte Methode um Attribute anzusprechen heißt getAttribute() bzw. getAttributeNS() in X(HT)ML.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Wie geht's richtig…?
Verzichte auf eigene Elemente und Attribute. Im äußersten Fall würde ich eher noch eigene Klassennamen vergeben. Aber auch das ist bekanntermaßen grenzwertig.
__________________
Über Internet Explorer 8:
Noch bis 8. April 2014 wird der Internet Explorer 6 mit Sicherheitsupdates versorgt.
Bereits jetzt kann dieser Browser aber vollständig durch den IE8 ersetzt werden. Ältere Betriebssysteme und Browserversionen werden von Microsoft nicht mehr unterstützt.
Auch Programme, die den IE7 benötigen, sind kein Argument gegen IE8, da dieser über entsprechende Kompatibilitätsschichten verfügt.
Ab sofort gilt daher der Internet Explorer 8 als vorausgesetzer Mindeststandard.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 13.01.2013, 13:44
Ober-Telefondesinfizier
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2009
Ort: Berlin
Beiträge: 39
.rhavin befindet sich auf einem aufstrebenden Ast
Standard

Wir sind uns doch einig, daß wir hier über die Extensible HyperText Markup Language reden, oder? Das mit den Validatoren is kein Problem, ich kann dort selber eine DTD angeben.

Beispiel (Element qsel):

test
Mit Zitat antworten
  #4 (permalink)  
Alt 13.01.2013, 13:57
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von .rhavin Beitrag anzeigen
Beispiel (Element qsel):

test
Das ist aber kein XML Dokument und wenn es eins wäre, wäre es ungültig.
Mit Zitat antworten
  #5 (permalink)  
Alt 13.01.2013, 14:25
Standardkatze
XHTMLforum-Kenner
 
Registriert seit: 06.02.2007
Beiträge: 1.820
gato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nett
Standard

Zitat:
Zitat von .rhavin Beitrag anzeigen
Wir sind uns doch einig, daß wir hier über die Extensible HyperText Markup Language reden, oder?
Es gibt schon ein paar XML-Anwendungen, die du in (X)HTML einbinden kannst, z.B. SVG und MathML.

Historisch bedingt sind aber keine selbstdefinierten Anwendungen möglich, in absehbarer Zeit wird (X)HTML auch nicht offener für weitere XML-Anwendungen. Das kann man bedauern, muss man aber akzeptieren.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Das mit den Validatoren is kein Problem, ich kann dort selber eine DTD angeben.
Vergiss DTDs, es gibt praktisch kein ungeeigneteres Mittel um (X)HTML-Dokumente zu validieren.
Wenn ich mich richtig erinnere muss ein XML-Parser eine DTD nichtmal laden, wenn sie ihm vorgegeben wird.

Die beste (X)HTML-Validierung erzielt momentan der (X)HTML5-Validator. Problem: (X)HTML5-Validierung basiert großteils auf dem HTML5-Parser.

Selbst wenn du auf den schwächeren XHTML-1.x-Validatoren aufsetzen würdest, müsstest du erstmal ein vernünftiges XML-Schema schreiben, mit dem deine erweiterten Dokumente validiert werden können.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Beispiel (Element qsel):

test
Das ist kein X(HT)ML, sondern HTML (text/html).
Mit Zitat antworten
  #6 (permalink)  
Alt 13.01.2013, 14:53
Ober-Telefondesinfizier
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2009
Ort: Berlin
Beiträge: 39
.rhavin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von gato Beitrag anzeigen
Es gibt schon ein paar XML-Anwendungen, die du in (X)HTML einbinden kannst, z.B. SVG und MathML.
Ja, aber soweit ich weiß, kann ich das nicht mixen, d.h. ich kann ich MathML kein HTML verwenden. (Oder…?)

Zitat:
Zitat von gato Beitrag anzeigen
Historisch bedingt sind aber keine selbstdefinierten Anwendungen möglich…
Kannst Du das mal näher ausführen oder 'nen Link posten, der beschreibt, was Du damit meinst?

Zitat:
Zitat von gato Beitrag anzeigen
Vergiss DTDs, es gibt praktisch kein ungeeigneteres Mittel um (X)HTML-Dokumente zu validieren.
Wenn ich mich richtig erinnere muss ein XML-Parser eine DTD nichtmal laden, wenn sie ihm vorgegeben wird.
Hmm, die zugeordete DTD validierte das DOC zumindest beim w3c-Validator…

Zitat:
Zitat von gato Beitrag anzeigen
Selbst wenn du auf den schwächeren XHTML-1.x-Validatoren aufsetzen würdest, müsstest du erstmal ein vernünftiges XML-Schema schreiben, mit dem deine erweiterten Dokumente validiert werden können.
Dacht bisher, das täte meine DTD schon, gut, lese ich halt mal die Schema-Spec ^^…


Zitat:
Zitat von gato Beitrag anzeigen
Das ist kein X(HT)ML, sondern HTML (text/html).
Ja, das muß ich mal dem Server beibringen^^ …als was sollte ich's denn ausliefern, wenn ich es als XHTML haben möchte…?

Geändert von .rhavin (13.01.2013 um 14:55 Uhr) Grund: Laptop-Tastatur:D
Mit Zitat antworten
  #7 (permalink)  
Alt 13.01.2013, 15:58
Standardkatze
XHTMLforum-Kenner
 
Registriert seit: 06.02.2007
Beiträge: 1.820
gato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nett
Standard

Zitat:
Zitat von .rhavin Beitrag anzeigen
Ja, aber soweit ich weiß, kann ich das nicht mixen, d.h. ich kann ich MathML kein HTML verwenden. (Oder…?)
In SVG gibt es das foreignObject-Element, um innerhalb von SVG XHTML darzustellen. Ob es ein äquivalentes Element in MathML gibt, weis ich leider nicht. MathML wird leider nicht so gut unterstützt wie SVG.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Kannst Du das mal näher ausführen oder 'nen Link posten, der beschreibt, was Du damit meinst?
Ich meine damit, dass das W3C zwar DTDs und später XML- Schemas definiert hat, die das Mischen von XHTML, SVG und MathML erlauben, aber keine Möglichkeit bereitgestellt hat, damit Autoren ihre eigenen XML-Dialekte mit diesen Sprachen vermischen können.

Früher war das auch nicht gewünscht. Inzwischen wird darüber gestritten, ob es eine Möglichkeit dafür geben sollte. Einigung ist aber nicht in Sicht.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Hmm, die zugeordete DTD validierte das DOC zumindest beim w3c-Validator…
Du hast kein Dokument mit eingebundener DTD hergezeigt, daher kann ich das nicht beurteilen.
Der W3-Validator ignoriert leider die angegebenen HTTP-Medientypen, d.h. XHTML-Quelltext wird als XML verarbeitet, obwohl er als text/html versendet wird...

Zitat:
Zitat von .rhavin Beitrag anzeigen
Dacht bisher, das täte meine DTD schon, gut, lese ich halt mal die Schema-Spec ^^…
Eine DTD kann die wenigsten Regeln aus HTML überhaupt darstellen. Sie sind, wie gesagt, ein ungeeignetes Werkzeug.

XML-Schemas sind mächtiger, können aber AFAIK in der Grundausführung auch den Inhalt von lang-Attributen nicht nachprüfen.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Ja, das muß ich mal dem Server beibringen^^ …als was sollte ich's denn ausliefern, wenn ich es als XHTML haben möchte…?
application/xhtml+xml (für XHTML-Dokumente).
Für XML gibt es allgemein auch application/xml, allerdings unterstützt z.B. Mozilla das HTML DOM nicht, wenn du allgemeine XML-Dokumente versendest.
Mit Zitat antworten
  #8 (permalink)  
Alt 13.01.2013, 16:58
Ober-Telefondesinfizier
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2009
Ort: Berlin
Beiträge: 39
.rhavin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von gato Beitrag anzeigen
Ich meine damit, dass das W3C zwar DTDs und später XML- Schemas definiert hat, die das Mischen von XHTML, SVG und MathML erlauben, aber keine Möglichkeit bereitgestellt hat, damit Autoren ihre eigenen XML-Dialekte mit diesen Sprachen vermischen können.
Ich dachte eigentlich, daß wär der Sinn von Misc.extra, wofür soll das sonst gut sein…?

Zitat:
Zitat von gato Beitrag anzeigen
Du hast kein Dokument mit eingebundener DTD hergezeigt, daher kann ich das nicht beurteilen.
hmm, bei mir wird die im sourcecode angezeigt, ich kann sie aber auc direkt verlinken:

http://q-pool.de/ext/qhtml.dtd

* EDIT: Ich muß bei FF machmal auf Reload klicken, damit sie angezeigt wird… keine Ahnung, warum xD^^

Zitat:
Zitat von gato Beitrag anzeigen
Eine DTD kann die wenigsten Regeln aus HTML überhaupt darstellen. Sie sind, wie gesagt, ein ungeeignetes Werkzeug.
OK, lese ich halt mal Schemas.

Zitat:
Zitat von gato Beitrag anzeigen
application/xhtml+xml (für XHTML-Dokumente).
Für XML gibt es allgemein auch application/xml, allerdings unterstützt z.B. Mozilla das HTML DOM nicht, wenn du allgemeine XML-Dokumente versendest.
Teste ich mal.

Geändert von .rhavin (13.01.2013 um 17:09 Uhr) Grund: (edit)
Mit Zitat antworten
  #9 (permalink)  
Alt 13.01.2013, 18:31
Ober-Telefondesinfizier
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2009
Ort: Berlin
Beiträge: 39
.rhavin befindet sich auf einem aufstrebenden Ast
Standard

Zumindest hab ich mein Problem grade etwas weiter eingrenzen können… Kann es sein, daß der FF einen Bug hat, EMPTY-Tags richtig zu interpretieren?

Wenn ich schreibe…
HTML-Code:
<p><qchord root="F"/> And should i m<qchord root="G"/>eet a fairy<br /><qchord root="C"/>i would ask her f<qchord root="Am"/>or a marry.</p>
…dann führt ein
Code:
parentNode.innerHTML
auf das qchord-tag zu:

i would ask her f<qchord root="Am">or a marry.</qchord>

Obwohl also explizit als empty-tag geschrieben, schet der FF sich nicht für meinen Slash zu interessieren…
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 13.01.2013, 19:14
Standardkatze
XHTMLforum-Kenner
 
Registriert seit: 06.02.2007
Beiträge: 1.820
gato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nett
Standard

Zitat:
Zitat von .rhavin Beitrag anzeigen
Ich dachte eigentlich, daß wär der Sinn von Misc.extra, wofür soll das sonst gut sein…?
Entschuldige, da muss ich jetzt einen großen Denkfehler zugeben.
Die Möglichkeit gibt es tatsächlich. Die Problematik dabei ist, je mehr du vermischen willst, umso größer wird letztendlich die DTD bzw. das Schema.

Bei gut abgekapselten Teilmengen ist es wohl noch vertretbar. Aber du siehst, dass das eine Vorgehensweise ist, die in der Praxis im Grunde nicht angewendet wird.

Zitat:
Zitat von .rhavin Beitrag anzeigen
* EDIT: Ich muß bei FF machmal auf Reload klicken, damit sie angezeigt wird… keine Ahnung, warum xD^^
Daran lags, entschuldige.
Auch hier kannst du ggfs. deine HTTP-Header mal überprüfen.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Zumindest hab ich mein Problem grade etwas weiter eingrenzen können… Kann es sein, daß der FF einen Bug hat, EMPTY-Tags richtig zu interpretieren?
Nein, Firefox verhält sich völlig korrekt entsprechend der HTML5-Spezifikation.

Zitat:
Zitat von .rhavin Beitrag anzeigen
Wenn ich schreibe…
HTML-Code:
<p><qchord root="F"/> And should i m<qchord root="G"/>eet a fairy<br /><qchord root="C"/>i would ask her f<qchord root="Am"/>or a marry.</p>
…dann führt ein
Code:
parentNode.innerHTML
auf das qchord-tag zu:
Du verwendest HTML, nicht XHTML, das sagte ich dir bereits mehrmals.
In HTML gibt es nur ganz wenige selbstschließende Elemente. Alles andere wird nicht als <x/> sondern als <x> interpretiert und dann beim nächsten schließenden Tag (z.B. </p>) automatisch geschlossen.
Mit Zitat antworten
Sponsored Links
Antwort

Stichwörter
custom tag definition

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Die neuen HTML 5 Tags Nemesis::X (X)HTML 4 28.02.2012 13:22
HTML5 - Schließende Tags weglassen oder beibehalten? andir (X)HTML 9 12.11.2010 16:53
Strings die HTML Tags enthalten erkennen? braindead Serveradministration und serverseitige Scripte 7 30.12.2008 19:54
Leere <div> Tags ohne spacer.gif droptix (X)HTML 10 19.08.2005 15:04
Eigene Tags in XHTML 1.1 x-sharp (X)HTML 8 03.03.2005 21:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:27 Uhr.