checkXML
Wie die XML-Prüfungsfunktion checkXML
aus der Java-Klasse de.softproject.xsl.XSLHelper
innerhalb von XSL-Mappings verwendet wird
Die Java-Klasse de.softproject.xsl.XSLHelper
befindet sich innerhalb der X4 Server-Bibliothek x4-client.jar
(<X4>\Server\<wildfly>\modules\de\softproject\x4\client\main
).
Ein XSL-Mapping, das diese Hilfsklasse verwendet, kann nicht in der Transformations-Vorschau des Mapping Editors ausgeführt werden.
Methodenbeschreibung
checkXML( java.lang.String URL) | Prüft ein Dokument, das über eine beliebige gültige URL als Zeichenkette gemäß Gültige URL-Protkolle sind u. a.:
|
Beispiel
Im Folgenden XSL-Mapping wird auf ein XML-Dokument, das in einer Prozessvariable Var1
zur Laufzeit eines zugehörigen X4-Prozesses hinterlegt wurde, über das context:
-URL-Protokoll zugegriffen. Mit der eingebundenen Java-Methode checkXML
erfolgt dabei innerhalb des XSL-Mappings zunächst eine Prüfung auf Wohlgeformtheit, gefolgt von einer Verarbeitung und einer Fehlerbehandlung.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet exclude-result-prefixes="xslhelper" version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xslhelper="de.softproject.xsl.XSLHelper">
<xsl:output indent="yes" media-type="text/xml" method="xml"/>
<xsl:template match="/">
<Output>
<!-- Checking if Var1 is XML or not -->
<!-- If true, output it -->
<xsl:choose>
<xsl:when test="xslhelper:checkXML('context:Var1')">
<!-- Define an XSL variable and assign a process variable "Var1",
that is accessible as an external document via context: protocol -->
<xsl:variable name="Var1Content" select="document('context:Var1')"/>
<xsl:attribute name="isXML">
<xsl:text>Yes</xsl:text>
</xsl:attribute>
<!-- Output XML content of Var1 -->
<Data>
<xsl:copy-of select="$Var1Content"/>
</Data>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="isXML">
<xsl:text>No</xsl:text>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</Output>
</xsl:template>
</xsl:stylesheet>