<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:shibmeta="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"> <xsl:output method="xml" indent="yes" encoding="UTF-8"/> <xsl:template match="/md:EntitiesDescriptor"> <xsl:apply-templates select="md:EntityDescriptor"> <!-- xsl:with-param name="output"><xsl:value-of select="$output"/></xsl:with-param --> </xsl:apply-templates> </xsl:template> <xsl:template match="md:EntityDescriptor"> <!-- xsl:param name="output"/ --> <xsl:variable name="uri"><xsl:value-of select="substring-after(@entityID,'://')"/></xsl:variable> <xsl:variable name="host"> <xsl:if test="contains($uri,'/')"> <xsl:value-of select="substring-before($uri,'/')"/> </xsl:if> <xsl:if test="not(contains($uri,'/'))"> <xsl:value-of select="$uri"/> </xsl:if> </xsl:variable> <xsl:variable name="file" select="concat($output,'/',$host,'.xml')"/> <exsl:document method="xml" indent="yes" href="{$file}"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </exsl:document> </xsl:template> <xsl:template match="@ID"/> <xsl:template match="ds:Signature"/> <xsl:template match="text()|comment()|@*"> <xsl:copy/> </xsl:template> <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> </xsl:stylesheet>