aboutsummaryrefslogtreecommitdiff
path: root/spss.slinterface/res/resources/stylesheets/moa2sl.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'spss.slinterface/res/resources/stylesheets/moa2sl.xsl')
-rw-r--r--spss.slinterface/res/resources/stylesheets/moa2sl.xsl96
1 files changed, 96 insertions, 0 deletions
diff --git a/spss.slinterface/res/resources/stylesheets/moa2sl.xsl b/spss.slinterface/res/resources/stylesheets/moa2sl.xsl
new file mode 100644
index 000000000..2e3a09655
--- /dev/null
+++ b/spss.slinterface/res/resources/stylesheets/moa2sl.xsl
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xmlspysamplexml E:\cio\projekte\basismodule\slinterface\res\resources\stylesheets\verifyresponse.moa.xml?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
+ <!-- ################################################################################################# -->
+ <!-- # Templates -->
+ <!-- ################################################################################################# -->
+ <!-- =================================================================================================== -->
+ <!-- Template für / -->
+ <!-- =================================================================================================== -->
+ <xsl:template match="/">
+ <xsl:apply-templates select="*"/>
+ </xsl:template>
+ <!-- =================================================================================================== -->
+ <!-- Template für moa:VerifyXMLSignatureResponse -->
+ <!-- =================================================================================================== -->
+ <xsl:template match="moa:VerifyXMLSignatureResponse">
+ <sl11:VerifyXMLSignatureResponse>
+ <xsl:apply-templates select="moa:SignerInfo"/>
+ <sl11:SignatureCheck>
+ <xsl:call-template name="checkResult">
+ <xsl:with-param name="checkElem" select="moa:SignatureCheck"/>
+ </xsl:call-template>
+ </sl11:SignatureCheck>
+ <xsl:if test="./moa:SignatureManifestCheck">
+ <sl11:SignatureManifestCheck>
+ <xsl:call-template name="checkResult">
+ <xsl:with-param name="checkElem" select="moa:SignatureManifestCheck"/>
+ </xsl:call-template>
+ </sl11:SignatureManifestCheck>
+ </xsl:if>
+ <xsl:if test="./moa:XMLDSIGManifestCheck">
+ <sl11:XMLDSIGManifestCheck>
+ <xsl:call-template name="checkResult">
+ <xsl:with-param name="checkElem" select="moa:XMLDSIGManifestCheck"/>
+ </xsl:call-template>
+ </sl11:XMLDSIGManifestCheck>
+ </xsl:if>
+ <sl11:CertificateCheck>
+ <xsl:call-template name="checkResult">
+ <xsl:with-param name="checkElem" select="moa:CertificateCheck"/>
+ </xsl:call-template>
+ </sl11:CertificateCheck>
+ </sl11:VerifyXMLSignatureResponse>
+ </xsl:template>
+ <!-- =================================================================================================== -->
+ <!-- Template für moa:SignerInfo -->
+ <!-- =================================================================================================== -->
+ <xsl:template match="moa:SignerInfo">
+ <sl11:SignerInfo>
+ <xsl:for-each select="*">
+ <xsl:choose>
+ <xsl:when test="namespace-uri(.) = 'http://reference.e-government.gv.at/namespace/moa/20020822#'">
+ <!-- suppress moa elements -->
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </sl11:SignerInfo>
+ </xsl:template>
+ <!-- =================================================================================================== -->
+ <!-- Template für moa:CheckResultType, moa:ReferencesCheckResultType, moa:ManifestRefsCheckResultType -->
+ <!-- =================================================================================================== -->
+ <xsl:template name="checkResult">
+ <xsl:param name="checkElem">default</xsl:param>
+ <xsl:param name="checkType">default</xsl:param>
+ <sl10:Code>
+ <xsl:value-of select="$checkElem/moa:Code/child::node()"/>
+ </sl10:Code>
+ <sl10:Info>
+ <xsl:for-each select="$checkElem/moa:Info/child::node()">
+ <xsl:choose>
+ <xsl:when test="namespace-uri(.) = 'http://reference.e-government.gv.at/namespace/moa/20020822#'">
+ <xsl:choose>
+ <xsl:when test="local-name(.) = 'FailedReference'">
+ <sl11:FailedReference>
+ <xsl:value-of select="./node()"/>
+ </sl11:FailedReference>
+ </xsl:when>
+ <xsl:when test="local-name(.) = 'ReferringSigReference'">
+ <sl11:ReferringSigReference>
+ <xsl:value-of select="./node()"/>
+ </sl11:ReferringSigReference>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </sl10:Info>
+ </xsl:template>
+</xsl:stylesheet>