Hi,
ich habe mich zwar nun eingehend damit beschäfftigt wie das validieren von HTML-Quellcode funktioniert und habe festgestellt, dass es abhängig ist von dem DOCTYPE den ich angebe.
So weit so gut. Den Standart Quellcode zu validieren ist ja nicht schwer, da es ja in der DTD beschieben ist was erlaubt ist und was nicht. Nun möchten wir jedoch ein Attribut in speziellen Elementen hinzufügen. Hierbei ist nur wichtig das es hinzugefügt werden muss - warum dies sein muss tut nicht zur sache.
Dies führt aber zu einer Warnung bzw. zu einem Fehler welcher dargestellt wird mit "Fehler: there is no attribute 'ccindex'". Dieser Fehler entsteht weil durch die DTD nicht bekannt gegeben wurde, dass wir ein weiteres Attribut zulassen.
Von daher die Frage, wie kann man eine DTD erweitern um bestimmt Attribute dem Validator erlaubt werden. Noch besser das nur bestimmte Eigenschaften gültig sind.
Ich weiß das die möglich ist, nur habe ich im Moment keine Ahnung wie das zu realisieren ist.
Hier einmal der zu validierende Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Titel der XHTML-Seite
</title>
</head>
<body>
<form name="f1" action="#" id="f1">
<input type="text" name="date_lae12_feldname" id="date_lae12_feldname" ccindex="datum" />
</form>
</body>
</html>
Bisheriger ansatz ist eine eigene DTD Datei zu erstellen und den Bereich zur Deklarierung des Inputfeldes zu erweitern - ungefähr so:
<!ELEMENT input EMPTY> <!-- form control -->
<!ATTLIST input
%attrs;
%focus;
type %InputType; "text"
name CDATA #IMPLIED
value CDATA #IMPLIED
checked (checked) #IMPLIED
disabled (disabled) #IMPLIED
readonly (readonly) #IMPLIED
size CDATA #IMPLIED
maxlength %Number; #IMPLIED
src %URI; #IMPLIED
alt CDATA #IMPLIED
usemap %URI; #IMPLIED
onselect %Script; #IMPLIED
onchange %Script; #IMPLIED
accept %ContentTypes; #IMPLIED
align %ImgAlign; #IMPLIED
ccindex CDATA #IMPLIED
>
Jedoch müssten wir dafür eine eigene DTD schreiben - beziehungsweise die zum aktuellem Stand kopieren und immer wieder aktuell halten.
Effektiver wäre es ja wenn man sagt. Nimm die Standart Datei und erweitere Sie um das entsprechende Attribut "ccindex" - Nur jetzt steh ich wie die Axt vorm Walde und weiß nicht mehr weiter.
Ich würde mich über konstruktive Vorschläge und Lösungsansätze freuen.
Mit freundlichen Grüßen
NuSphere