XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT * DIVERSES



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