summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-12-07 12:21:47 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-12-07 12:21:47 -0500
commit13eec52acec99c062f98a80b38c590ad7adfd8b9 (patch)
treeb0a5e5ee67430e7e8fe45a589b71f28527a3fe68 /doc
parent4532add1a287aa8922ba5d0d556db3cd04e42420 (diff)
XML syntax
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.tex16
1 files changed, 16 insertions, 0 deletions
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