diff options
Diffstat (limited to 'xslt/eurephiadm/fwadmin.xsl')
-rw-r--r-- | xslt/eurephiadm/fwadmin.xsl | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/xslt/eurephiadm/fwadmin.xsl b/xslt/eurephiadm/fwadmin.xsl new file mode 100644 index 0000000..9f0141e --- /dev/null +++ b/xslt/eurephiadm/fwadmin.xsl @@ -0,0 +1,116 @@ +<?xml version="1.0"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output method="text" encoding="UTF-8"/> + <xsl:strip-space elements="*"/> + + <xsl:template match="/eurephia"> + <xsl:choose> + <xsl:when test="$view = 'list'"> + <xsl:apply-templates select="firewall_profiles" mode="list"/> + </xsl:when> + <xsl:when test="$view = 'details'"> + <xsl:apply-templates select="firewall_profiles" mode="details"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes">Invalid view: <xsl:value-of select="$view"/></xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="/eurephia/firewall_profiles" mode="list"> + <xsl:text> ID Firewall profile Description Users </xsl:text> + <xsl:text> ------------------------------------------------------------------------------ </xsl:text> + <xsl:apply-templates select="profile" mode="list"/> + <xsl:text> ------------------------------------------------------------------------------ </xsl:text> + </xsl:template> + + <xsl:template match="firewall_profiles/profile" mode="list"> + <xsl:text> </xsl:text> + <xsl:call-template name="right-align"> + <xsl:with-param name="value" select="@accessprofile"/> + <xsl:with-param name="width" select="3"/> + </xsl:call-template><xsl:text> </xsl:text> + <xsl:call-template name="left-align"> + <xsl:with-param name="value" select="firewall_destination"/> + <xsl:with-param name="width" select="22"/> + </xsl:call-template><xsl:text> </xsl:text> + <xsl:call-template name="left-align"> + <xsl:with-param name="value" select="description"/> + <xsl:with-param name="width" select="43"/> + </xsl:call-template><xsl:text> </xsl:text> + <xsl:call-template name="right-align"> + <xsl:with-param name="value" select="count(granted_accesses/access)"/> + <xsl:with-param name="width" select="4"/> + </xsl:call-template> + <xsl:text> </xsl:text> + </xsl:template> + + + <xsl:template match="/eurephia/firewall_profiles" mode="details"> + <xsl:text> ID Firewall profile: Description </xsl:text> + <xsl:text> [uid] Username / Common name / Organisation </xsl:text> + <xsl:text> email Registered </xsl:text> + <xsl:text> [certid] Digest </xsl:text> + <xsl:text> ------------------------------------------------------------------------------ </xsl:text> + <xsl:apply-templates select="profile" mode="details"/> + <xsl:text> ------------------------------------------------------------------------------ </xsl:text> + </xsl:template> + + <xsl:template match="firewall_profiles/profile" mode="details"> + <xsl:text> *</xsl:text> + <xsl:call-template name="right-align"> + <xsl:with-param name="value" select="@accessprofile"/> + <xsl:with-param name="width" select="3"/> + </xsl:call-template><xsl:text> </xsl:text> + <xsl:value-of select="firewall_destination"/>: <xsl:value-of select="description"/> + <xsl:text> </xsl:text> + <xsl:apply-templates select="granted_accesses/access"/> + <xsl:text> </xsl:text> + <xsl:if test="last() > position()"> + <xsl:text> </xsl:text> + </xsl:if> + </xsl:template> + + <xsl:template match="firewall_profiles/profile/granted_accesses/access"> + <xsl:text> </xsl:text> + <xsl:text> [</xsl:text> + <xsl:call-template name="right-align"> + <xsl:with-param name="value" select="username/@uid"/> + <xsl:with-param name="width" select="4"/> + </xsl:call-template> + <xsl:text>] </xsl:text> + <xsl:call-template name="left-align"> + <xsl:with-param name="value" + select="concat(username,' / ',certificate/common_name,' / ',certificate/organisation)"/> + <xsl:with-param name="width" select="66"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:call-template name="left-align"> + <xsl:with-param name="value" select="certificate/email"/> + <xsl:with-param name="width" select="45"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:call-template name="right-align"> + <xsl:with-param name="value" select="certificate/@registered"/> + <xsl:with-param name="width" select="19"/> + </xsl:call-template> + <xsl:text> [</xsl:text> + <xsl:value-of select="certificate/@certid"/>] <xsl:value-of select="certificate/digest"/> + <xsl:if test="last() > position()"> + <xsl:text> </xsl:text> + </xsl:if> + </xsl:template> + + <xsl:template name="left-align"> + <xsl:param name="value"/> + <xsl:param name="width"/> + <xsl:value-of select="substring(concat($value, ' '), 1, $width)"/> + </xsl:template> + + <xsl:template name="right-align"> + <xsl:param name="value"/> + <xsl:param name="width"/> + <xsl:value-of select="concat(substring(' ', 1, $width - string-length($value)), $value)"/> + </xsl:template> + +</xsl:stylesheet> |