<?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>