XML validierung über XSD CR LF problem

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • XML validierung über XSD CR LF problem

    Hallo liebe Gemeinde,

    ich habe ein Problem mit meiner Datenbank. Und zwar habe ich eine xsd schema erstellt, bei dem ein element den typ xs:date hat.

    Nur erzeuge ich eine passende datenbank und füge an geeigneter Stelle ein

    Quellcode

    1. <date>2000-01-01</date>

    Das funktioniert tadellos, insbesondere der test

    xmllint --noout --schema MEINSCHEMA.xsd MEINEDATENBANK.xml

    liefert eine vailde Datenbank.

    Nun habe ich das Problem, dass ich Datenbanken mit anderen skripten erzeuge. Diese führen (zur besseren lesbarkeit) aber folgendes ein

    Quellcode

    1. <date>
    2. 2000-01-01
    3. </date>


    Das gefällt dem validator nicht mehr, den er sagt in etwa

    Quellcode

    1. '
    2. 2000-01-01
    3. ' is not a valid value of the atomic type 'xs:date'.


    Ich mein, recht hat er, wegen der Zeilenumbrüche, aber da muss es doch etwas geben, um diese Zeilenumbrüche "auszushcließen", oder?

    Gruß,
    curator
  • Moin - Ich denke mal, dass kannst du nur über den Validator regeln, also wenn dieser ein Ignorieren von Leerzeichen und Zeilenumbrüchen unterstützt, wobei du ja dann im Grunde nur den Validator manipuliert.

    XML ist ja ein Standard den jeder maschinell lesen kann. Jetzt stell dir mal vor jemand will dein XML verarbeiten, der hat in dem Zustand keine Chance, weil er wieder Logik einbauen müsste, die die entsprechenden Leerzeichn entfernt, obwohl der Kollege (laut XSD) ein Date erwartet. Wenns dich sowieso nicht interessiert, was rauskommt und "gut lesbar sein soll". Warum brauchst du dann ne XSD?

    Also ich würde folgendes machen: XML erzeugen und bei Bedarf das XML mit pretty print schön ausgeben.