XML Validator

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
matman
Beiträge: 744
Registriert: 03.07.2008 10:50:07
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Hamburg
Kontaktdaten:

XML Validator

Beitrag von matman » 27.11.2008 17:35:06

Ich habe ein etwas umfangreicheres Web-Projekt und darum ein PHP-Skript geschrieben, welches mehrere sitemaps erzeugt (sitemap_index.xml, sitemap1.xml, sitemap2.xml u.s.w.). Um Fehler zu vermeiden würde ich nun gerne noch die XML-Dateien validieren. Google schlägt beispielsweise diese Tools vor: http://www.w3.org/XML/Schema#Tools hauptsächlich eher was für Windows-User, wie es aussieht.

Was für ein Programm eignet sich am ehesten, wenn man mit Debian arbeitet? Am liebsten wäre mir ein einfaches Konsole-Tool, was aber auch zuverlässig alle Fehler findet.
System: Bullseye
Hardware: Gigabyte 970A-DS3P mit AMD FX-6300, Kingston HyperX DDR3-1333 (4x4GB), Samsung SSD 860 EVO, HGST Travelstar 7K1000, Samsung DVD-ROM SH-D162D, Geforce GTX 1050, SoundBlaster Live! Platinum, Hauppauge WinTV-HVR-5525

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: XML Validator

Beitrag von gms » 27.11.2008 18:14:40

wenn du selber Programmieren möchtest, dann kannst das in xerces-c bzw xerces-j. Für ersteres sollte es eigentlich auch Python Bindings geben. Wenn du ein Konsolen-Tool suchst, dann kannst du xmlstarlet verwenden, siehe
http://xmlstar.sourceforge.net/docs.php
http://www.ibm.com/developerworks/libra ... arlet.html

Gruß
gms

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: XML Validator

Beitrag von Duff » 27.11.2008 18:31:18

Ein sehr interessantes konsolen-tool.

Werde mir mal das rpm-Paket herunterladen und mit alien in ein *.deb umwandeln und testen.
Oh, yeah!

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: XML Validator

Beitrag von gms » 27.11.2008 20:12:14

Duff hat geschrieben: Werde mir mal das rpm-Paket herunterladen und mit alien in ein *.deb umwandeln und testen.
hm, möchtest du "alien" oder "xmlstarlet" testen ? Wenn du letzteres testen möchtest sollte das auch durch Installation aus dem Debian-Repository möglich sein.

Gruß
gms

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: XML Validator

Beitrag von Duff » 27.11.2008 20:36:58

@gms: Ups, da hast du natürlich recht. So geht es wesentlich einfacher.

Code: Alles auswählen

daniel@laptop:~$ apt-cache search xmlstarlet
rnv - Relax NG Compact Syntax validator
xmlstarlet - command line XML toolkit
Oh, yeah!

Benutzeravatar
matman
Beiträge: 744
Registriert: 03.07.2008 10:50:07
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Hamburg
Kontaktdaten:

Re: XML Validator

Beitrag von matman » 28.11.2008 19:33:44

gms hat geschrieben:xmlstarlet
Danke! Habs vorhin mal gleich installiert. Scheint ganz o.k. zu sein. Allerdings kann man der manpage entnehmen, dass es mit einigen XML Schemen wohl noch Probleme gibt?

Code: Alles auswählen

NOTE: XML Schemas are not fully supported yet due to its incomplete
      support in libxml2 (see http://xmlsoft.org)
System: Bullseye
Hardware: Gigabyte 970A-DS3P mit AMD FX-6300, Kingston HyperX DDR3-1333 (4x4GB), Samsung SSD 860 EVO, HGST Travelstar 7K1000, Samsung DVD-ROM SH-D162D, Geforce GTX 1050, SoundBlaster Live! Platinum, Hauppauge WinTV-HVR-5525

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: XML Validator

Beitrag von gms » 28.11.2008 20:29:36

matman hat geschrieben:

Code: Alles auswählen

NOTE: XML Schemas are not fully supported yet due to its incomplete
      support in libxml2 (see http://xmlsoft.org)
diesbezüglich habe ich auf dieser Seite nicht viel gefunden. Sowohl neueren und sehr alten TODO's wird immer folgendes angeführt:
- XML Schemas datatypes except Base64 and BinHex hat geschrieben: - XML Schemas datatypes except Base64 and BinHex
auf dieser Seite habe ich allerdings noch eine einfachere Möglichkeit gefunden xml Dateien zu validieren:
http://xmlsoft.org/xmldtd.html hat geschrieben: How to validate

The simplest way is to use the xmllint program included with libxml. The --valid option turns-on validation of the files given as input. For example the following validates a copy of the first revision of the XML 1.0 specification:

xmllint --valid --noout test/valid/REC-xml-19980210.xml
the -- noout is used to disable output of the resulting tree.

The --dtdvalid dtd allows validation of the document(s) against a given DTD.
Dieses Programm ist im Paket "libxml2-utils" enthalten.

Gruß
gms

Antworten