<!--
! 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://www.opends.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(&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>