diff options
Diffstat (limited to 'spss.slinterface/res/resources/stylesheets/moa2sl.xsl')
-rw-r--r-- | spss.slinterface/res/resources/stylesheets/moa2sl.xsl | 96 |
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> |