zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden XHTML erweitern

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 24.11.2009, 23:21
Ober-Telefondesinfizier
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2009
Ort: Berlin
Beiträge: 39
.rhavin befindet sich auf einem aufstrebenden Ast
Frage XHTML erweitern

Ich finde keine Lösung für folgendes Problem und bin auf dieses Forum gestoßen (Hallo ) ... evtl. hat ja einer 'ne Idee.

Problem:
Ich möchte eine DTD erweitern, indem ich einem bereits definierten Element (in diesem Fall den gemischten inline/block-Elementen aus der xhtml11.dtd zusätzliche erlaubte Elemente hinzufüge - in diesem Fall ein "qsel-Element":
HTML-Code:
<p> <qsel id="a50" val="50" opt="0:2-4" /> </p>
Ich dachte, ich könne das ungefähr so machen:
HTML-Code:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE html [
	<!ENTITY % stdxhtmlDTD PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

	%stdxhtmlDTD;

	<!ELEMENT qsel EMPTY>

	<!ATTLIST qsel
		id	ID #IMPLIED
		val	NMTOKEN "0"
		opt	CDATA #IMPLIED
	>

	<!ENTITY % Misc.class "ins | del | script | noscript | qsel" >
]>

<html><head>
	<title>test</title>
</head><body>
	<p> <qsel id="a50" val="50" opt="0:2-4" /> </p>
</body></html>
Zumindest wird das hier so angedeutet; aber leider wird das so nix, der Validator sagt dies:

Zitat:
Line 24, Column 43: document type does not allow element "qsel" here

<p> <qsel id="a50" val="50" opt="0:2-4" /> </p>

The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).
Da einer der Hauptvorteile von XML seine Erweiterbarkeit ist, hatte ich gehofft, ich kann in XHTML etwas ähnliches erreichen, aber derzeit weiß ich nicht, wie. Hat einer 'ne Idee? Ich möchte nicht die gesammte xhtml11.dtd als editierte Version auf den Server schmeißen, sondern suche eine Möglichkeit, diese gezielt zu erweitern...

Geändert von .rhavin (25.11.2009 um 02:56 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 25.11.2009, 10:54
Benutzerbild von Pascolo
Stiller Leser
XHTMLforum-Mitglied
 
Registriert seit: 24.11.2007
Ort: Cham
Beiträge: 640
Pascolo sorgt für eine eindrucksvolle AtmosphärePascolo sorgt für eine eindrucksvolle Atmosphäre
Standard

Dann versuch es einmal folgendermassen:

HTML-Code:
<?xml version="1.0" encoding="utf-8" ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" [
    
    <!ELEMENT qsel EMPTY>
    
    <!ATTLIST qsel
      id   ID       #IMPLIED
      val  NMTOKEN  "0"
      opt  CDATA    #IMPLIED
    >
    
    <!ENTITY % misc.inline "qsel">
    <!ENTITY % misc.class "qsel">
  ]
>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
  <head>
    <title>Mein neues Attribut</title>
  </head>
  <body>
    <p>
      <qsel id="a50" val="50" opt="0:2-4" />
    </p>
  </body>
</html>
Unter XHTML 1.1 konnte ich deinen Fehler reproduzieren, weshalb ich auch auf XHTML 1.0 Strict ausgewichen bin. Da ich gleich ausser Haus muss, kann ich dir momentan auch nicht mehr weiterhelfen. Vielleicht kann dir hier in der Zwischenzeit noch ein anderer eine Lösung anbieten.

Weshalb stellst du deine Frage in verschiedenen Foren?

Nachtrag:

Versuch doch noch einmal, dein neues Element zu einem "inline" Element zu machen, da es ansonsten in einem Absatz nichts zu suchen hat. Wie das geht, siehst du in meinem Beispiel.
__________________
Mit freundlichen Grüssen "Pascolo"

Guter Webspace eSport Topliste Meine Lesezeichen Meine Spielwiese

Geändert von Pascolo (25.11.2009 um 11:07 Uhr) Grund: Ergänzung zum Text
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 25.11.2009, 11:48
Ober-Telefondesinfizier
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2009
Ort: Berlin
Beiträge: 39
.rhavin befindet sich auf einem aufstrebenden Ast
Standard

Hi Pascolo, danke für Deine Antwort. Hab mir bis eben die XHTML-MOD Spezifikationen durchgelesen und bin nun drauf gekommen: In der oben verlinkten Anleitung war nicht wirklich ersichtlich, daß Misc.extra-Erweiterung mit einem '|' beginnen muß, was - wenn man es denn weiß - im Nachhinein auch logisch ist, sie wird schließlich an die in der XHTML-DTD definierten Elemente angehängt (wobei das W3C ja auch sowas wie ein 'wenn Misc.extra definiert ist, dann mache daraus "| Misc.extra" ' hätte einfügen können).

Wenn man das weiß, gibt's auch keine Fehlermeldung mehr, wenn man Misc.extra *vor* der DTD definiert (wo es ja - auch logisch !) hingehört, damit es *in* der DTD benutzt werden kann.

Die funktionierende Lösung sieht also so aus:

HTML-Code:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE html [
	<!ENTITY % stdxhtmlDTD PUBLIC "-//W3C//DTD XHTML 1.1//EN"
	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<!-- first we define the new elements insert-position -->
<!ENTITY % Misc.extra "| qsel" >

<!-- then we insert the DTD -->
%stdxhtmlDTD;

<!-- now we may tell the world about our new element -->
<!ELEMENT qsel EMPTY>
<!ATTLIST qsel
	id	ID #IMPLIED
	val	NMTOKEN "0"
	opt	CDATA #IMPLIED
>

]>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" ><head>
	<title>test</title>
</head><body>

	<p> <qsel id="a50" val="50" opt="0:2-4" /> </p>
</body></html>
Zitat:
Zitat von Pascolo
Weshalb stellst du deine Frage in verschiedenen Foren?
Um die Wahrscheinlichkeit zu erhöhen, daß es jmd. beantwortet?
Mit Zitat antworten
  #4 (permalink)  
Alt 26.11.2009, 15:45
Benutzerbild von Pascolo
Stiller Leser
XHTMLforum-Mitglied
 
Registriert seit: 24.11.2007
Ort: Cham
Beiträge: 640
Pascolo sorgt für eine eindrucksvolle AtmosphärePascolo sorgt für eine eindrucksvolle Atmosphäre
Daumen hoch Problem gelöst

Vielen Dank für diesen Hinweis. Somit wäre dein Problem gelöst und ich hab wieder etwas Neues gelernt.
__________________
Mit freundlichen Grüssen "Pascolo"

Guter Webspace eSport Topliste Meine Lesezeichen Meine Spielwiese

Geändert von Pascolo (26.11.2009 um 15:46 Uhr) Grund: Kleine Korrektur
Mit Zitat antworten
Antwort

Stichwörter
erweitern elemente

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
WAI-Aria-Landmarks: DTD für XHTML erweitern? AndreasB (X)HTML 4 23.09.2010 23:02
XHTML 1.0 vs. XHTML 1.1 redplug (X)HTML 9 04.12.2009 12:37
XHTML WWW und XHTML 1.1 MP / WAP2.0 prosac257 (X)HTML 4 23.10.2006 00:18
XHTML 1.1 "muss" als xml+xhtml verschickt / Diskus Boris (X)HTML 9 21.04.2005 16:08
noch mal xhtml Broken CSS 13 03.08.2003 21:56


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