From 73ce22b2661dd696af430c9cd34afd2d4b988a92 Mon Sep 17 00:00:00 2001
From: Adam Chlipala <adamc@hcoop.net>
Date: Sun, 7 Dec 2008 12:21:47 -0500
Subject: XML syntax

---
 doc/manual.tex | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

(limited to 'doc/manual.tex')

diff --git a/doc/manual.tex b/doc/manual.tex
index 4915edfb..b52146de 100644
--- a/doc/manual.tex
+++ b/doc/manual.tex
@@ -1313,4 +1313,20 @@ $$\begin{array}{rrcll}
 
 Inside $\mt{UPDATE}$ and $\mt{DELETE}$ commands, lone variables $X$ are interpreted as references to columns of the implicit table $\mt{T}$, rather than to named expressions.
 
+\subsection{XML}
+
+XML fragments $L$ are added to the rules for expressions $e$.
+
+$$\begin{array}{rrcll}
+  \textrm{XML fragments} & L &::=& \texttt{<xml/>} \mid \texttt{<xml>}l^*\texttt{</xml>} \\
+  \textrm{XML pieces} & l &::=& \textrm{text} & \textrm{cdata} \\
+  &&& \texttt{<}g\texttt{/>} & \textrm{tag with no children} \\
+  &&& \texttt{<}g\texttt{>}l^*\texttt{</}x\texttt{>} & \textrm{tag with children} \\
+  \textrm{Tag} & g &::=& h \; (x = v)^* \\
+  \textrm{Tag head} & h &::=& x & \textrm{tag name} \\
+  &&& h\{c\} & \textrm{constructor parameter} \\
+  \textrm{Attribute value} & v &::=& \ell & \textrm{literal value} \\
+  &&& \{e\} & \textrm{computed value} \\
+\end{array}$$
+
 \end{document}
\ No newline at end of file
-- 
cgit v1.2.3

