[DTD, PHP XML DOM] Reinen Zahlenwerte als IDs

Thomas D

Erfahrenes Mitglied
Hallo!

Ich versuche ein XML-Dokument mittels PHP XML DOM zu validieren, damit ich getElementByID() aufrufen kann. Dazu habe ich folgende DTD:

Code:
<?xml version="1.0" encoding="utf-8"?>
<!ELEMENT root ((projekte, leistungen, partner, aktuelles))>
<!ELEMENT projekte (contObj*)>
<!ELEMENT leistungen (contObj*)>
<!ELEMENT partner (contObj*)>
<!ELEMENT aktuelles (contObj*)>
<!ELEMENT objContainer (contObj*)>

<!ELEMENT contObj (headline, text?, objContainer?)>
<!ATTLIST contObj
    id ID #REQUIRED
    gfx CDATA #IMPLIED>
<!ELEMENT headline (#PCDATA)>
<!ELEMENT text (#PCDATA)>

Wenn ich das ganze nun validiere, bekomme ich bei jeder ID einen Fehler. Die IDs sind Zahlen, die alle UNIQUE sind. Der Fehler lautet wie folgt:

Warning: DOMDocument::validate() [function.DOMDocument-validate]: Syntax of value for attribute id of contObj is not valid in C:\Program Files\Apache Group\Apache2\htdocs\gruenhoch3\aktAdmin.php on line 20

Durch Validierung unter http://www.xmlvalidation.com/index.php habe ich die Fehler detaillierter ausgewertet bekommen:

Attribute value "1" of type ID must be an NCName when namespaces are enabled.

Hier habe ich dann gefunden, dass NCNames wie Variablennamen zu behandeln sind; d.h. reine Zahlen wie in meinem Fall ungeeignet sind.

Nun meine Frage: Ist es irgendwie möglich, reine Zahlenwerte als IDs zu verwenden und dabei gültig zu validieren?

MfG, Thomas D.
 
Zurück