README: Document flow control commands.
authorP. J. McDermott <pjm@nac.net>
Mon, 30 Sep 2013 14:02:43 +0000 (10:02 -0400)
committerP. J. McDermott <pjm@nac.net>
Mon, 30 Sep 2013 14:06:37 +0000 (10:06 -0400)
README

diff --git a/README b/README
index 0eface8fbfd264d5e2e4c350939e2a7ae4c635c5..f48626f18d1faf0ccfe3dcaf20d489a13b638135 100644 (file)
--- a/README
+++ b/README
@@ -71,6 +71,50 @@ The following variables are set:
   * `DOCUMENT_URI` is the current filename.
   * `LAST_MODIFIED` is the modification date of the current document.
 
+Flow Control Commands
+---------------------
+
+The flow control commands are:
+
+    <!--#if expr="test_expression" -->
+    <!--#elif expr="test_expression" -->
+    <!--#else -->
+    <!--#endif -->
+
+If `test_expression` evaluates to false, processing of basic commands is
+suspended until the next `elif`, `else`, or `endif` is encountered.  If
+`test_expression` evaluates to true, processing of basic commands is
+suspended between any following `elif` or `else` commands and the next
+`endif` command.
+
+`test_expression` is a Perl expression, which is passed to Perl's
+`eval()` function.  Variables may be expanded but should be quoted.
+
+The following example will output "foo is bar" if the variable `foo` is
+set to the value "bar":
+
+    <!--#if expr="'$foo' eq 'bar'" -->
+            foo is bar
+    <!--#endif -->
+
+The following example checks the SSI interpreter and uses the correct
+expression syntax for either ssic or Apache HTTPd 2.2 `mod_include`:
+
+    <!--#if expr="'$__SSIC__' eq '__SSIC__'" -->
+        <!-- Apache HTTPd 2.2 mod_include -->
+        <!--#if expr="$foo = 'bar'" -->
+            foo is bar
+        <!--#endif -->
+    <!--#else -->
+        <!-- Server Side Includes Compiler -->
+        <!--#if expr="'$foo' eq 'bar'" -->
+            foo is bar
+        <!--#endif -->
+    <!--#endif -->
+
+This is the recommended way to check the value of the variable
+`__SSIC__`.
+
 
 Copyright Information
 =====================