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 Code setExternalSchemaLocation/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


Anmelden zum Antworten