Skip to content

Instantly share code, notes, and snippets.

@trscavo
Created January 5, 2016 14:02
Show Gist options
  • Save trscavo/e49e721ea7f1a396cc27 to your computer and use it in GitHub Desktop.
Save trscavo/e49e721ea7f1a396cc27 to your computer and use it in GitHub Desktop.
An XSL stylesheet that takes a SAML 2.0 metadata file and extracts the InCommon IdP entityIDs as plain text.
<?xml version="1.0" encoding="UTF-8"?>
<!--
extract_InCommon_IdP_entityIDs.xsl
XSL stylesheet that takes a SAML 2.0 metadata file and extracts the
InCommon IdP entityIDs as plain text. The script recognizes an InCommon
entity by the presence of the InCommon registrar ID "https://incommon.org".
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exclude-result-prefixes="xs md">
<!-- Output is plain text -->
<xsl:output method="text"/>
<xsl:template match="//md:EntityDescriptor[md:IDPSSODescriptor][md:Extensions/mdrpi:RegistrationInfo[@registrationAuthority='https://incommon.org']]">
<xsl:value-of select="@entityID"/>
<xsl:text>&#x0a;</xsl:text>
</xsl:template>
<xsl:template match="text()">
<!-- do nothing -->
</xsl:template>
</xsl:stylesheet>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment