summaryrefslogtreecommitdiffstats
path: root/policy_metadata
diff options
context:
space:
mode:
authorSumit Bose <sbose@nb.localdomain>2008-11-04 20:30:04 +0100
committerSumit Bose <sbose@nb.localdomain>2008-11-04 20:30:04 +0100
commit7b7ee7e9899c7aa8a616bdbc5a83d0c11b75632a (patch)
tree6463ad366c0f3b7c02e7a5f3c36dda0bdb86d179 /policy_metadata
parent902dbd52745dfba1210fd8acb0e89088bdc7d91f (diff)
downloadipa_policy-7b7ee7e9899c7aa8a616bdbc5a83d0c11b75632a.tar.gz
ipa_policy-7b7ee7e9899c7aa8a616bdbc5a83d0c11b75632a.tar.xz
ipa_policy-7b7ee7e9899c7aa8a616bdbc5a83d0c11b75632a.zip
added xslt schema from http://www.thaiopensource.com/relaxng/xslt.rng
Diffstat (limited to 'policy_metadata')
-rw-r--r--policy_metadata/xslt.rng895
1 files changed, 895 insertions, 0 deletions
diff --git a/policy_metadata/xslt.rng b/policy_metadata/xslt.rng
new file mode 100644
index 0000000..0246a5a
--- /dev/null
+++ b/policy_metadata/xslt.rng
@@ -0,0 +1,895 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- This was mostly generated from the syntax summary in the XSLT
+ Recommendation (using XSLT of course). -->
+<!-- Issues: this validates extension elements as literal result
+ elements, which is overly restrictive. -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ ns="http://www.w3.org/1999/XSL/Transform"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <choice>
+ <ref name="stylesheet.element"/>
+ <ref name="transform.element"/>
+ <ref name="literal-result-element-as-stylesheet"/>
+ </choice>
+ </start>
+ <define name="version">
+ <value>1.0</value>
+ </define>
+ <define name="top-level-elements.model">
+ <zeroOrMore>
+ <choice>
+ <ref name="top-level-element.category"/>
+ <ref name="top-level-extension"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="top-level-extension">
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ <nsName ns=""/>
+ </except>
+ </anyName>
+ <grammar>
+ <start>
+ <ref name="any"/>
+ </start>
+ <define name="any">
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <element>
+ <anyName/>
+ <ref name="any"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </define>
+ </grammar>
+ </element>
+ </define>
+ <define name="template.model">
+ <zeroOrMore>
+ <choice>
+ <ref name="instruction.category"/>
+ <ref name="literal-result-element"/>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="literal-result-element-as-stylesheet">
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <attribute>
+ <name>version</name>
+ <ref name="version"/>
+ </attribute>
+ <ref name="literal-result-element-no-version.atts"/>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="literal-result-element">
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <ref name="literal-result-element.atts"/>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="literal-result-element.atts">
+ <ref name="literal-result-element-no-version.atts"/>
+ <optional>
+ <attribute>
+ <name>version</name>
+ <ref name="version"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="literal-result-element-no-version.atts">
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <ref name="avt.datatype"/>
+ </attribute>
+ <attribute>
+ <name>extension-element-prefixes</name>
+ <ref name="prefixes.datatype"/>
+ </attribute>
+ <attribute>
+ <name>exclude-result-prefixes</name>
+ <ref name="prefixes.datatype"/>
+ </attribute>
+ <attribute>
+ <name>use-attribute-sets</name>
+ <ref name="qnames.datatype"/>
+ </attribute>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="top-level-element.category">
+ <choice>
+ <ref name="include.element"/>
+ <ref name="strip-space.element"/>
+ <ref name="preserve-space.element"/>
+ <ref name="template.element"/>
+ <ref name="namespace-alias.element"/>
+ <ref name="attribute-set.element"/>
+ <ref name="variable.element"/>
+ <ref name="param.element"/>
+ <ref name="key.element"/>
+ <ref name="decimal-format.element"/>
+ <ref name="output.element"/>
+ </choice>
+ </define>
+ <define name="instruction.category">
+ <choice>
+ <ref name="apply-templates.element"/>
+ <ref name="apply-imports.element"/>
+ <ref name="call-template.element"/>
+ <ref name="element.element"/>
+ <ref name="attribute.element"/>
+ <ref name="text.element"/>
+ <ref name="processing-instruction.element"/>
+ <ref name="comment.element"/>
+ <ref name="copy.element"/>
+ <ref name="value-of.element"/>
+ <ref name="number.element"/>
+ <ref name="for-each.element"/>
+ <ref name="if.element"/>
+ <ref name="choose.element"/>
+ <ref name="variable.element"/>
+ <ref name="copy-of.element"/>
+ <ref name="message.element"/>
+ <ref name="fallback.element"/>
+ </choice>
+ </define>
+ <define name="extension.atts">
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName/>
+ <nsName ns=""/>
+ </except>
+ </anyName>
+ </attribute>
+ </zeroOrMore>
+ </define>
+ <define name="stylesheet.element">
+ <element name="stylesheet">
+ <ref name="stylesheet.model"/>
+ </element>
+ </define>
+ <define name="transform.element">
+ <element name="transform">
+ <ref name="stylesheet.model"/>
+ </element>
+ </define>
+ <define name="stylesheet.model">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="extension-element-prefixes">
+ <ref name="prefixes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="exclude-result-prefixes">
+ <ref name="prefixes.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
+ <group>
+ <zeroOrMore>
+ <ref name="import.element"/>
+ </zeroOrMore>
+ <ref name="top-level-elements.model"/>
+ </group>
+ </define>
+ <define name="include.element">
+ <element name="include">
+ <ref name="extension.atts"/>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="import.element">
+ <element name="import">
+ <ref name="extension.atts"/>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="strip-space.element">
+ <element name="strip-space">
+ <ref name="extension.atts"/>
+ <attribute name="elements">
+ <ref name="wildcards.datatype"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="preserve-space.element">
+ <element name="preserve-space">
+ <ref name="extension.atts"/>
+ <attribute name="elements">
+ <ref name="wildcards.datatype"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="template.element">
+ <element name="template">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="match">
+ <ref name="pattern.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="priority">
+ <ref name="number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mode">
+ <ref name="qname.datatype"/>
+ </attribute>
+ </optional>
+ <group>
+ <zeroOrMore>
+ <ref name="param.element"/>
+ </zeroOrMore>
+ <ref name="template.model"/>
+ </group>
+ </element>
+ </define>
+ <define name="apply-templates.element">
+ <element name="apply-templates">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mode">
+ <ref name="qname.datatype"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="sort.element"/>
+ <ref name="with-param.element"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="apply-imports.element">
+ <element name="apply-imports">
+ <ref name="extension.atts"/>
+ </element>
+ </define>
+ <define name="call-template.element">
+ <element name="call-template">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ <zeroOrMore>
+ <ref name="with-param.element"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="namespace-alias.element">
+ <element name="namespace-alias">
+ <ref name="extension.atts"/>
+ <attribute name="stylesheet-prefix">
+ <ref name="prefix.datatype"/>
+ </attribute>
+ <attribute name="result-prefix">
+ <ref name="prefix.datatype"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="element.element">
+ <element name="element">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <choice>
+ <ref name="qname.datatype"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="namespace">
+ <choice>
+ <data type="anyURI"/>
+ <ref name="brace-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="use-attribute-sets">
+ <ref name="qnames.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="attribute.element">
+ <element name="attribute">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <choice>
+ <ref name="qname.datatype"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="namespace">
+ <choice>
+ <data type="anyURI"/>
+ <ref name="brace-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="attribute-set.element">
+ <element name="attribute-set">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="use-attribute-sets">
+ <ref name="qnames.datatype"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="attribute.element"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text.element">
+ <element name="text">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="disable-output-escaping">
+ <choice>
+ <value type="string">yes</value>
+ <value type="string">no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </define>
+ <define name="processing-instruction.element">
+ <element name="processing-instruction">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <choice>
+ <data type="NCName"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="comment.element">
+ <element name="comment">
+ <ref name="extension.atts"/>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="copy.element">
+ <element name="copy">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="use-attribute-sets">
+ <ref name="qnames.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="value-of.element">
+ <element name="value-of">
+ <ref name="extension.atts"/>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="disable-output-escaping">
+ <choice>
+ <value type="string">yes</value>
+ <value type="string">no</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="number.element">
+ <element name="number">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="level">
+ <choice>
+ <value type="string">single</value>
+ <value type="string">multiple</value>
+ <value type="string">any</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="count">
+ <ref name="pattern.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="from">
+ <ref name="pattern.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="value">
+ <ref name="expression.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="format">
+ <ref name="avt.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lang">
+ <choice>
+ <data type="NMTOKEN"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="letter-value">
+ <choice>
+ <value type="string">alphabetic</value>
+ <value type="string">traditional</value>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="grouping-separator">
+ <choice>
+ <ref name="char.datatype"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="grouping-size">
+ <choice>
+ <ref name="number.datatype"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="for-each.element">
+ <element name="for-each">
+ <ref name="extension.atts"/>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ <group>
+ <zeroOrMore>
+ <ref name="sort.element"/>
+ </zeroOrMore>
+ <ref name="template.model"/>
+ </group>
+ </element>
+ </define>
+ <define name="if.element">
+ <element name="if">
+ <ref name="extension.atts"/>
+ <attribute name="test">
+ <ref name="expression.datatype"/>
+ </attribute>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="choose.element">
+ <element name="choose">
+ <ref name="extension.atts"/>
+ <group>
+ <oneOrMore>
+ <ref name="when.element"/>
+ </oneOrMore>
+ <optional>
+ <ref name="otherwise.element"/>
+ </optional>
+ </group>
+ </element>
+ </define>
+ <define name="when.element">
+ <element name="when">
+ <ref name="extension.atts"/>
+ <attribute name="test">
+ <ref name="expression.datatype"/>
+ </attribute>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="otherwise.element">
+ <element name="otherwise">
+ <ref name="extension.atts"/>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="sort.element">
+ <element name="sort">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lang">
+ <choice>
+ <data type="NMTOKEN"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="data-type">
+ <choice>
+ <value type="string">text</value>
+ <value type="string">number</value>
+ <ref name="qname-but-not-ncname.datatype"/>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="order">
+ <choice>
+ <value type="string">ascending</value>
+ <value type="string">descending</value>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="case-order">
+ <choice>
+ <value type="string">upper-first</value>
+ <value type="string">lower-first</value>
+ <ref name="expr-avt.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="variable.element">
+ <element name="variable">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ <choice>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ <ref name="template.model"/>
+ </choice>
+ </element>
+ </define>
+ <define name="param.element">
+ <element name="param">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ <choice>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ <ref name="template.model"/>
+ </choice>
+ </element>
+ </define>
+ <define name="copy-of.element">
+ <element name="copy-of">
+ <ref name="extension.atts"/>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="with-param.element">
+ <element name="with-param">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ <choice>
+ <attribute name="select">
+ <ref name="expression.datatype"/>
+ </attribute>
+ <ref name="template.model"/>
+ </choice>
+ </element>
+ </define>
+ <define name="key.element">
+ <element name="key">
+ <ref name="extension.atts"/>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ <attribute name="match">
+ <ref name="pattern.datatype"/>
+ </attribute>
+ <attribute name="use">
+ <ref name="expression.datatype"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="decimal-format.element">
+ <element name="decimal-format">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="name">
+ <ref name="qname.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="decimal-separator">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="grouping-separator">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="infinity">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="minus-sign">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="NaN">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="percent">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="per-mille">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="zero-digit">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="digit">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pattern-separator">
+ <ref name="char.datatype"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="message.element">
+ <element name="message">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="terminate">
+ <choice>
+ <value type="string">yes</value>
+ <value type="string">no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="fallback.element">
+ <element name="fallback">
+ <ref name="extension.atts"/>
+ <ref name="template.model"/>
+ </element>
+ </define>
+ <define name="output.element">
+ <element name="output">
+ <ref name="extension.atts"/>
+ <optional>
+ <attribute name="method">
+ <choice>
+ <value type="string">xml</value>
+ <value type="string">html</value>
+ <value type="string">text</value>
+ <ref name="qname-but-not-ncname.datatype"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="version">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="encoding">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="omit-xml-declaration">
+ <choice>
+ <value type="string">yes</value>
+ <value type="string">no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="standalone">
+ <choice>
+ <value type="string">yes</value>
+ <value type="string">no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="doctype-public">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="doctype-system">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cdata-section-elements">
+ <ref name="qnames.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indent">
+ <choice>
+ <value type="string">yes</value>
+ <value type="string">no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="media-type">
+ <text/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="prefixes.datatype">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <data type="NCName"/>
+ <value>#default</value>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </define>
+ <define name="prefix.datatype">
+ <choice>
+ <data type="NCName"/>
+ <value>#default</value>
+ </choice>
+ </define>
+ <define name="wildcards.datatype">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <data type="QName"/>
+ <data type="token">
+ <param name="pattern">\*|\i\c*:\*</param>
+ </data>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </define>
+ <define name="qname.datatype">
+ <data type="QName"/>
+ </define>
+ <define name="qnames.datatype">
+ <list>
+ <zeroOrMore>
+ <data type="QName"/>
+ </zeroOrMore>
+ </list>
+ </define>
+ <define name="char.datatype">
+ <data type="string">
+ <param name="length">1</param>
+ </data>
+ </define>
+ <define name="number.datatype">
+ <data type="decimal"/>
+ </define>
+ <define name="expression.datatype">
+ <text/>
+ </define>
+ <define name="pattern.datatype">
+ <text/>
+ </define>
+ <define name="qname-but-not-ncname.datatype">
+ <data type="QName">
+ <param name="pattern">.*:.*</param>
+ </data>
+ </define>
+ <!-- An AVT containing at least one expression. -->
+ <define name="expr-avt.datatype">
+ <data type="string">
+ <param name="pattern">([^\{\}]|\{\{|\}\})*\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\}([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+ </data>
+ </define>
+ <!-- An AVT containing at least one brace; ie where instantiated AVT
+ is not the same as the literal AVT. -->
+ <define name="brace-avt.datatype">
+ <data type="string">
+ <param name="pattern">[^\{\}]*(\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+ </data>
+ </define>
+ <define name="avt.datatype">
+ <data type="string">
+ <param name="pattern">([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+ </data>
+ </define>
+</grammar>