<!--
|
! 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("', @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>
|