Seite 1 von 1

pyXML, Ausdrücke validieren

Verfasst: Samstag 16. Juni 2007, 13:28
von Gnushi
Hallo zusammen!

Ich suche eine Möglichkeit, mit Python XML-Ausdrücke zu validieren. Es geht also darum herauszufinden, ob ein Ausdruck in der Form <foo ID=" +ph$$" /> zum Beispiel ein gültiges ID-Attribut hinsichtlich des W3C-Standards beinhaltet und ob xmlns:xsd="http://foo.bar" ein gültiger Namespace ist und so fort.

Die Doku zu pyXML habe ich mittlerweile durch, bei http://www.libxml.org bin ich Stammgast ;-), konnte aber nichts passendes finden.Es geht mir an der Stelle nicht darum, eine XML-Datei gegen eine DTD oder gegen ein Schema zu testen, sondern nur um Standard-Konformität hinsichtlich W3C.

Habt ihr ne Idee (ausser selbst zu schreiben)?

GnuShi

Verfasst: Samstag 16. Juni 2007, 18:52
von BlackJack
Ich verstehe noch nicht so ganz was Du willst. Für die IDs brauchst Du schon so etwas wie ein DTD weil Du ja irgendwie angeben musst, welche Attribute von welchen Tags eine gültige ID sein sollen.

Verfasst: Samstag 16. Juni 2007, 22:40
von Gnushi
BlackJack hat geschrieben:Für die IDs brauchst Du schon so etwas wie ein DTD weil Du ja irgendwie angeben musst,
Mhh, ja, also eines der Attributtypen lautet "ID". Siehe zum Beispiel: http://de.selfhtml.org/xml/dtd/attribut ... ationswert

Hat man ein solches Attribut in einer DTD hinterlegt, kann man eine XML-Datei daraufhin parsen und schauen, ob Der Benutzer auch wirklich ein Attribut ID="foo" angegeben hat.

In XML-Schema, einer moderneren Variante von DTD ;-) können alle Elemente per Default sozusagen ein ID-Feld tragen, also beispielsweise
<xsd:element ID="foo" name="test" >....</xsd:element>
was dann in einem konkreten Anwendungsfall dieses Schemas letztlich so aussieht:
<test>blah</test>

In meinem aktuellen Programm geht es darum, dass sich ein Nutzer ein Schema zusammenklicken kann. Ich muss dann also die Benutzereingaben überprüfen. Namen von Attributen etc sind dabei gewissen Regeln unterworfen, die man mit Hilfe von RegExp auswerten kann. Wollte nur wissen, ob jemand solche Funktionen kennt, sonst muss ich sie selber schreiben.

GnuShi

Verfasst: Sonntag 17. Juni 2007, 11:00
von BlackJack
Gibt's denn zu XML-Schema kein XML-Schema oder DTD?

Verfasst: Montag 18. Juni 2007, 10:03
von Gnushi
BlackJack hat geschrieben:Gibt's denn zu XML-Schema kein XML-Schema oder DTD?
Es gibt bei W3C Definitionen zu hauf. Diese müssen aber irgendwie in den Code gelangen. Ich sehe schon, ich muss die Validierung selbst übernehmen... :(

Gruß

Gnushi