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