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 / XML-Schema 1.1 / Schemavalidierung mit XSLT 3.0

Schemavalidierung mit XSLT 3.0

Schemavalidierung mit XSLT 3.0

➪ Schemavalidierung mit XSLT 3.0: Einen leistungsfähigen (schema-aware) XSL-Prozessor vorausgesetzt, können Sie die Schemavalidierung auch mit XSLT 3.0 durchführen.


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:err="http://www.w3.org/2005/xqt-errors" 
  exclude-result-prefixes="xs err"
  version="3.0">
  <xsl:output method="xml" indent="yes"/>
  <xsl:import-schema 
       schema-location="myxsd_11.xsd" 
       use-when="system-property('xsl:is-schema-aware') eq 'yes'" />
  <xsl:template match="/">
    <ergebnis>
    <xsl:for-each 
         select="collection('irgendeinverzeichnis/?select=*.xml;recurse=no')">
     <xsl:variable name="vfilename" select="base-uri()" />                
     <datei filename="{$vfilename}">
      <xsl:try>      
       <xsl:variable name="vtmp">
        <xsl:copy-of select="." validation="strict"/>
       </xsl:variable>          
       <xsl:value-of 
         select="if (count($vtmp/descendant::*) &gt; 0) 
                 then ('alles ok') 
                 else ('Fehler')"/>       
       <xsl:catch errors="*">  
        <FEHLER>
          <xsl:value-of 
             select="concat('FEHLER: ', $vfilename, ' : ', $err:description)"/>
        </FEHLER>
       </xsl:catch>
      </xsl:try>
     </datei>
    </xsl:for-each>
    </ergebnis>
  </xsl:template>
</xsl:stylesheet>

wg / 31. Dezember 2019



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/XSD_11_Schemavalidierung_mit_XSLT_30.html