Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Gerwitz <mike.gerwitz@rtspecialty.com>2018-01-18 15:43:35 -0500
committerMike Gerwitz <mike.gerwitz@rtspecialty.com>2018-09-11 09:30:52 -0400
commitb3117e7c550a7923714807298965e7f5e2ce5c88 (patch)
treeeef648b9e7ab8e81a852bf4e885ccd27f16b2cd4
parenta1f2b2aad88880ede62b7beda886ce4502bf8fd6 (diff)
downloadtame-b3117e7c550a7923714807298965e7f5e2ce5c88.tar.gz
tame-b3117e7c550a7923714807298965e7f5e2ce5c88.tar.bz2
tame-b3117e7c550a7923714807298965e7f5e2ce5c88.zip
when: Add package
-rw-r--r--core/when.xml76
1 files changed, 76 insertions, 0 deletions
diff --git a/core/when.xml b/core/when.xml
new file mode 100644
index 0000000..501ad1d
--- /dev/null
+++ b/core/when.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (C) 2018 R-T Specialty, LLC.
+
+ This file is part of tame-core.
+
+ tame-core is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+-->
+<package xmlns="http://www.lovullo.com/rater"
+ xmlns:c="http://www.lovullo.com/calc"
+ xmlns:t="http://www.lovullo.com/rater/apply-template"
+ core="true"
+ desc="When Matching">
+
+ <import package="base" />
+
+
+ This package deals with matching in calculations (such as case statements
+ or values);
+ for classifications, see \tt{vector/cmatch}.
+
+
+ <inline-template>
+ <for-each>
+ <set cmp="eq" />
+ <set cmp="ne" />
+ <set cmp="gt" />
+ <set cmp="gte" />
+ <set cmp="lt" />
+ <set cmp="lte" />
+ </for-each>
+
+
+ <template name="_when-{@cmp@}_" desc="Value predicate {@cmp@}">
+ <param name="@name@" desc="Name to assert against" />
+
+ <param name="@index@" desc="Name index (optional)">
+ <text></text>
+ </param>
+
+ <!-- former exists only for consistency with cmatch templates and will
+ produce an error -->
+ <param name="@const@" desc="Match against constant value" />
+ <param name="@value@" desc="Match against variable" />
+
+ <param name="@value_index@" desc="Value index (optional)">
+ <text></text>
+ </param>
+
+
+ <if name="@const@">
+ <error>
+ @const@ is deprecated; use @value@ with a #-prefix instead.
+ </error>
+ </if>
+
+
+ <c:when name="@name@" index="@index@">
+ <dyn-node name="c:{@cmp@}">
+ <c:value-of name="@value@" index="@value_index@" />
+ </dyn-node>
+ </c:when>
+ </template>
+ </inline-template>
+</package>