Aktuelle Remote-Seminare mit Durchführungsgarantie: Etwas Werbung in eigener Sache Termine: 03.08.-05.08.2020, 21.09.-23.09.2020, 23.11.-25.11.2020, 07.12.-09.12.2020, 22.03.-24.03.2021, 07.06.-09.06.2021, 06.09.-08.09.2021XML Einführung und Grundlagen Termine: 06.08.2020, 20.10.2020, 13.11.2020, 10.12.2020, 25.03.2021, 10.06.2021, 09.09.2021XML - der professionelle Überblick Termine: 23.11.-26.11.2020, 29.03.-01.04.2021Einstieg in die Programmierung Termine: 17.08.-19.08.2020, 14.12.-16.12.2020, 07.04.-09.04.2021XML, XSLT, XPath, XSL-FO Einführung Termine: Termin nach WunschEinstieg in C#.NET Termine: 21.09.-23.09.2020, 11.01.-13.01.2021, 26.05.-28.05.2021, 27.09.-29.09.2021VB.NET für Visual Basic-Programmierer Termine: 21.10.-23.10.2020, 14.12.-16.12.2020, 08.03.-10.03.2021, 19.07.-21.07.2021, 23.08.-25.08.2021XML Grundlagen, XSL-FO, SVG, DocBook, DITA Termine: Termin nach WunschJava Grundlagen Termine: 03.08.-06.08.2020, 30.11.-03.12.2020, 29.03.-01.04.2021C++ für Programmiereinsteiger Termine: 10.09.2020, 11.12.2020, 16.03.2021Neues Seminar: XProc Grundlagen Termine: 21.09.-25.09.2020, 01.03.-05.03.2021Java/JSP/HTML/JDBC/XML Komplett Termine: 07.09.-09.09.2020, 21.10.-23.10.2020, 23.11.-25.11.2020, 25.01.-27.01.2021, 12.04.-14.04.2021, 26.07.-28.07.2021Python für Programmiereinsteiger Last-Minute-Seminare, noch freie Plätze XML Einführung und Grundlagen03.08.-05.08.2020 XML, XSLT, XPath, XSL-FO Einführung17.08.-19.08.2020 Python für Programmiereinsteiger07.09.-09.09.2020

XPROC * XSL-FO * SVG * XML * XML-SCHEMA * XPATH * XSL * XSLT 1.0 * XSLT 2.0 * XSLT 3.0 * XQUERY * ANT



XML-Schema / NVDL

NVDL

NVDL

➪ Effiziente Validierung ist auch mit NVDL möglich, der Namespace-based Validation Dispatching Language.

Häufig beruhen XML-Dokumente auf einem einzigen Namespace. NVDL erlaubt, XML-Dokumente zu validieren, die mehrere Namespaces bzw. unterschiedliche Validierungs-Szenarien umfassen. Neben XML-Schema kommen hier noch RelaxNG sowie Schematron in Betracht. (Theoretisch sollte das auch für RNC und DTD gelten, aber es kann sein, dass der ausführende Prozessor DTD und RNC nicht als NVDL-Schemasprache akzeptiert.)

Das NVDL-Konzept erlaubt, bestimmte Namespaces gezielt zu validieren, andere zu erlauben oder auch zu verbieten (reject). Da in den folgenden rules der Namespace http://www.w3.org/2000/svg/ auf "rejected" gesetzt ist, würde eine Validierung von XML-Dokumenten auf einen Fehler laufen, die diesen Namespace einbinden.


<rules 
  xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0">
    <namespace ns="https://www.wilfried-grupe.de">
        <validate schema="CSV_XSD.xsd">
            <message>CSV_XSD.xsd</message>
        </validate>                  
        <validate schema="CSV_RNG.rng">
            <message>CSV_RNG.rng</message>
        </validate>
    </namespace>
    <namespace ns="http://www.w3.org/1999/xhtml">
        <allow/>
    </namespace>
    <namespace ns="http://www.w3.org/2000/svg/">
        <reject>
            <message>Keine SVG-Elemente erlaubt</message>
        </reject>        
    </namespace>
</rules>

pic/NVDL1.jpg

Betrachten Sie das folgende XML-Dokument, das drei unterschiedliche Namespaces enthält.


<CSV2XML 
   xmlns="https://www.wilfried-grupe.de" 
   xmlns:s="http://www.w3.org/2000/svg/" 
   xmlns:h="http://www.w3.org/1999/xhtml">
    <DS pos="1">
        <ORTID>1</ORTID>
        <ORTNAME>Neustadt</ORTNAME>
        <ID>1</ID>
        <NAME>Holzflos</NAME>
        <VORNAME>Hugo</VORNAME>
        <h:body>
            <h:p>MOIN</h:p>
        </h:body>
        <GEHALT>234.56</GEHALT>
        <IDORT>1</IDORT>
        <AUSGABEN>3563.14</AUSGABEN>
    </DS>
    <s:rect/>    
</CSV2XML>

Würden Sie diese Datei gegen das oben beschriebene NVDL validieren, so erhielten Sie eine freundliche Fehlermeldung vom System:


Programmname: Jing
Fehlerlevel: error
Beschreibung: elements from namespace "http://www.w3.org/2000/svg/" are not allowed

Der Fehler liegt in der Zeile <s:rect/>.

wg / 12. April 2018



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/NVDL.html