<!-- ! CDDL HEADER START ! ! The contents of this file are subject to the terms of the ! Common Development and Distribution License, Version 1.0 only ! (the "License"). You may not use this file except in compliance ! with the License. ! ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt ! or http://forgerock.org/license/CDDLv1.0.html. ! See the License for the specific language governing permissions ! and limitations under the License. ! ! When distributing Covered Code, include this CDDL HEADER in each ! file and include the License file at legal-notices/CDDLv1_0.txt. ! If applicable, add the following below this CDDL HEADER, with the ! fields enclosed by brackets "[]" replaced with your own identifying ! information: ! Portions Copyright [yyyy] [name of copyright owner] ! ! CDDL HEADER END ! ! ! Copyright 2008 Sun Microsystems, Inc. ! --> <xsl:stylesheet version="1.0" xmlns:adm="http://opendj.forgerock.org/admin" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- Rules for compiling conditions from their XML definition. --> <!-- and condition --> <xsl:template match="adm:and" mode="compile-condition"> <xsl:value-of select="'Conditions.and('" /> <xsl:for-each select="*"> <xsl:apply-templates select="." mode="compile-condition" /> <xsl:if test="position() != last()"> <xsl:value-of select="', '" /> </xsl:if> </xsl:for-each> <xsl:value-of select="')'" /> </xsl:template> <!-- or condition --> <xsl:template match="adm:or" mode="compile-condition"> <xsl:value-of select="'Conditions.or('" /> <xsl:for-each select="*"> <xsl:apply-templates select="." mode="compile-condition" /> <xsl:if test="position() != last()"> <xsl:value-of select="', '" /> </xsl:if> </xsl:for-each> <xsl:value-of select="')'" /> </xsl:template> <!-- not condition --> <xsl:template match="adm:not" mode="compile-condition"> <xsl:value-of select="'Conditions.not('" /> <xsl:apply-templates select="*[1]" mode="compile-condition" /> <xsl:value-of select="')'" /> </xsl:template> <!-- implies condition --> <xsl:template match="adm:implies" mode="compile-condition"> <xsl:value-of select="'Conditions.implies('" /> <xsl:apply-templates select="*[1]" mode="compile-condition" /> <xsl:value-of select="', '" /> <xsl:apply-templates select="*[2]" mode="compile-condition" /> <xsl:value-of select="')'" /> </xsl:template> <!-- contains condition --> <xsl:template match="adm:contains" mode="compile-condition"> <xsl:value-of select="concat('Conditions.contains("', @property, '", "', @value, '")')" /> </xsl:template> <!-- is-present condition --> <xsl:template match="adm:is-present" mode="compile-condition"> <xsl:value-of select="concat('Conditions.isPresent("', @property, '")')" /> </xsl:template> </xsl:stylesheet>