1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Fehler bei XML Schema Validierung

Dieses Thema im Forum "XML Technologien" wurde erstellt von Tikonteroga, 15. Oktober 2012.

  1. Tikonteroga

    Tikonteroga Erfahrenes Mitglied

    Hallo,

    ich möchte eine XML-Datei gemäß einem XSD-Schema validieren.

    Dabei erhalte ich jedoch folgende Fehlermeldung:

    Das Element "atfx_file" ist jedoch sowohl im XSD-Schema als auch in der XML-Datei vorhanden.

    XML-Datei

    Code (Text):
    1. <atfx_file version="atfx_file: V1.1.0" xmlns="http://www.asam.net/ODS/5.1/Schema">
    XSD-Schema

    Code (Text):
    1. <xsd:schema targetNamespace="http://www.asam.net/ODS/5.1/Schema"
    2.             xmlns="http://www.asam.net/ODS/5.1/Schema"
    3.             xmlns:hdt="http://www.asam.net/AIS/2005/HDTypes"
    4.             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    5.             elementFormDefault="qualified">
    Wo liegt hier das Problem ?
     
  2. deepthroat

    deepthroat Erfahrenes Mitglied

    Hi.

    Hast du denn dem Validator auch beigebracht wo er das Schema finden kann?

    Gibt es das irgendwo online?
     
  3. Tikonteroga

    Tikonteroga Erfahrenes Mitglied

    Hallo,

    also ich habe das XML-Schema in meine Anwendung integriert und lade es über den ClassLoader. Ich mache das aus dem Grund, damit ich keine FileNotFoundException behandeln muss bzw. dass diese zur Laufzeit nicht auftreten kann.

    Das Schema müsste eigentlich bekannt sein, da ich aus einem Objekt der Klasse Schema ein Objekt der Klasse Validator erzeuge. Hier ist der Code.

    Code (Text):
    1. public static void main(String[] args)
    2.     {
    3.         if (args.length == 1)
    4.         {
    5.             try {
    6.                 Schema schema = readSchema();
    7.                
    8.                 DOMSource source = readSource(args[0]);
    9.            
    10.                 Validator validator = schema.newValidator();
    11.                                
    12.                 validator.setErrorHandler(new ATFXErrorHandler());
    13.                
    14.                 validator.validate(source);
    15.            
    16.             } catch (IOException e) {
    17.                 System.err.println(e.getMessage());
    18.             } catch (SAXException e) {
    19.                 e.printStackTrace();
    20.             } catch (Exception e) {
    21.                 e.printStackTrace();
    22.             }
    23.         }
    24.         else
    25.         {
    26.             System.err.println("Ungültige Parameter");
    27.         }
    28.     }
    Code (Text):
    1. public static Schema readSchema()
    2.     {
    3.         Schema schema;
    4.        
    5.         ResourceResolver resourceResolver = new ResourceResolver();
    6.        
    7.         InputStream inputStream = resourceResolver.resolve("Schema.xsd");
    8.        
    9.         StreamSource streamSource = new StreamSource(inputStream);
    10.        
    11.         SchemaFactory schemaFactory = SchemaFactory
    12.                 .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    13.        
    14.         schemaFactory.setResourceResolver(resourceResolver);
    15.        
    16.         try {
    17.             schema = schemaFactory.newSchema(streamSource);
    18.         } catch (SAXException e) {
    19.             throw new IllegalStateException(e);
    20.         }
    21.        
    22.         return schema;
    23.     }
     
Die Seite wird geladen...