Problem Xml Namespace mit XercesC
-
Hallo,
ich habe folgende XML, die ich gegen eine XSD prüfen möchte:
<?xml version="1.0" encoding="utf-8" ?> <universalClientComponent> <configuration> <externalLibraries> <twainLibraryPathAndName>./resources/twain/TWAINDSM.dll</twainLibraryPathAndName> </externalLibraries> </configuration> </universalClientComponent>
Der Apache::XercesC-Parser schmeißt mir eine Fehlermeldung "<schemaLocation does not contain namespace-location pairs>, column <27>, line number <3>" raus.
Ich stehe völlig auf dem Schlauch. Die Prüfung gegen die XSD erfolgt gar nicht, d.h. soweit kommt der Parser nicht. Die XML an sich ist aber wohlgeformt. Was mache ich denn falsch?
Vielen Dank im Voraus
VG Torsten
-
Wenn du eine XSD referenzieren möchtest, so mußt du sie auch mit
xsi:schemaLocation
angeben, s. z.B. XSD - The <schema> Element ("Referencing a Schema in an XML Document").Edit: In XercesC: XML Schema Support steht auch noch näheres dazu (evtl. also stattdessen
xsi:noNamespaceSchemaLocation
angeben oder per CodesetExternalSchemaLocation/setExternalNoNamespaceSchemaLocation(...)
aufrufen).
-
G' Morgen,
also innerhalb der XML Datei kann ich es nicht definieren, da der Pfad zur XSD variable sein muss.
Aber
setExternalNoNamespaceSchemaLocation(...)
im Quelltext hat geholfen. Vielen Dank dafür und schönes Wochenende noch
VG Torsten