You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2015/03/23 18:03:34 UTC
[36/51] [partial] clerezza git commit: CLEREZZA-966: removed
platform. prefix of folder names
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/exclude/form.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/exclude/form.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/exclude/form.rng
new file mode 100755
index 0000000..1c47382
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/exclude/form.rng
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Checks exclusions applying to form and basic-form modules.
+ This schema is intended to be used in addition to xhtml.rng.
+-->
+<grammar ns="http://www.w3.org/1999/xhtml" xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="normalElement"/>
+ </start>
+ <define name="normalElement">
+ <element>
+ <anyName>
+ <except>
+ <name>form</name>
+ <name>label</name>
+ <name>button</name>
+ </except>
+ </anyName>
+ <ref name="normalContent"/>
+ </element>
+ </define>
+ <define name="normalContent">
+ <zeroOrMore>
+ <choice>
+ <ref name="normalElement"/>
+ <ref name="formElement"/>
+ <ref name="labelElement"/>
+ <ref name="buttonElement"/>
+ <ref name="anyAttribute"/>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="formElement">
+ <element name="form">
+ <ref name="formContent"/>
+ </element>
+ </define>
+ <define name="formContent">
+ <zeroOrMore>
+ <choice>
+ <element>
+ <anyName>
+ <except>
+ <name>form</name>
+ <name>label</name>
+ <name>button</name>
+ </except>
+ </anyName>
+ <ref name="formContent"/>
+ </element>
+ <ref name="labelElement"/>
+ <ref name="buttonElement"/>
+ <ref name="anyAttribute"/>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="labelElement">
+ <element name="label">
+ <ref name="labelContent"/>
+ </element>
+ </define>
+ <define name="labelContent">
+ <zeroOrMore>
+ <choice>
+ <element>
+ <anyName>
+ <except>
+ <name>form</name>
+ <name>label</name>
+ <name>button</name>
+ </except>
+ </anyName>
+ <ref name="labelContent"/>
+ </element>
+ <ref name="buttonElement"/>
+ <ref name="anyAttribute"/>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="buttonElement">
+ <element name="button">
+ <ref name="buttonContent"/>
+ </element>
+ </define>
+ <define name="buttonContent">
+ <zeroOrMore>
+ <choice>
+ <element>
+ <anyName>
+ <except>
+ <name>a</name>
+ <name>input</name>
+ <name>select</name>
+ <name>textarea</name>
+ <name>label</name>
+ <name>button</name>
+ <name>form</name>
+ <name>isindex</name>
+ <name>fieldset</name>
+ <name>iframe</name>
+ </except>
+ </anyName>
+ <ref name="buttonContent"/>
+ </element>
+ <ref name="anyAttribute"/>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="anyAttribute">
+ <attribute>
+ <anyName/>
+ </attribute>
+ </define>
+</grammar>
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/index.html
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/index.html b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/index.html
new file mode 100644
index 0000000..bf61574
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/index.html
@@ -0,0 +1,129 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Modularization of XHTML in RELAX NG</title>
+</head>
+<body>
+<h1>Modularization of XHTML in RELAX NG</h1>
+
+<p>This directory contains an implementataion in RELAX NG of the
+modularization of XHTML specified by the <a
+href="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410"
+>Modularization of XHTML Recommendation</a>.</p>
+
+<p>The RELAX NG schema has not been mechanically derived from the DTDs.
+Rather, it has been hand-crafted so as to produce a good quality RELAX NG
+schema. However, it may well contain bugs.</p>
+
+<p>The <a href="modules"><code>modules</code></a> directory contains
+all the modules; <a
+href="xhtml-basic.rng"><code>xhtml-basic.rng</code></a> uses the
+modules to implement <a href="http://www.w3.org/TR/xhtml-basic/">XHTML
+Basic</a>; <a
+href="xhtml-strict.rng"><code>xhtml-strict.rng</code></a> uses the
+modules to implement <a href="http://www.w3.org/TR/xhtml1/">XHTML
+1.0</a> strict; <a href="xhtml.rng"><code>xhtml.rng</code></a> uses
+the modules to implement the union of <a
+href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> transitional and <a
+href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> frameset. You can
+<a href="http://www.thaiopensource.com/download">download</a>
+everything as part of the main Jing distribution. To create a custom
+version of XHTML, simply copy <code>xhtml.rng</code> and delete the
+inclusions of the modules that you do not want.</p>
+
+<p>The biggest difference between the RELAX NG implementation and the
+DTD implementation is that the RELAX NG implementation does not
+require you to create a model module specific to the combination of
+XHTML modules you are using. Instead, simply include the modules you
+want. The modules take care of redefining the content models
+appropriately.</p>
+
+<p>Note also the following differences:</p>
+
+<ul>
+
+<li>The frames module is used instead of the struct module, rather
+than in addition to it.</li>
+
+<li>In the frames module, the <code>frameset</code> element does not
+restrict the optional <code>noframes</code> element to follow all the
+other child elements. XHTML Modularization is inconsistent with both
+HTML 4.0 and XHTML 1.0 here.</li>
+
+<li>In the basic tables abstract module, the <code>table</code>
+element does not have a <code>width</code> attribute. The XHTML Rec is
+ambiguous here: the abstract module has the attribute, but the DTD
+does not.</li>
+
+<li>The object and applet modules takes advantage of RELAX NG's
+absence of restrictions on mixed content to enforce the requirement
+that <code>param</code>s precede other content.</li>
+
+<li>The forms module takes advantage of RELAX NG's absence of
+restrictions on mixed content to enforce the requirement that any
+<code>legend</code> precedes other content.</li>
+
+<li>The RELAX NG schema does not enforce exclusions. The HTML 4 DTD
+uses exclusions in several places, for example, to disallow an
+<code>a</code> element from having an <code>a</code> element as a
+descendant. It is not possible to represent this constraint in XML
+DTDs. XHTML Modularization takes the approach of partially
+representing this restriction by, for example, disallowing an
+<code>a</code> element from having an <code>a</code> element as a
+<em>child</em>, without disallowing it from having an <code>a</code>
+element as a non-immediate descendant. This partial restriction has a
+substantial cost in increasing the complexity and reducing the
+modularity of the schemas. This implementation adopts a different
+approach. The <a href="exclude"><code>exclude</code></a> directory
+contains separate, independent RELAX NG schemas that enforce
+exclusions. To check use of exclusions, a document should be
+validated against each of these schemas that is applicable <strong>in
+addition to</strong> being validated against the RELAX NG XHTML schema
+proper. The available schemas are as follows:
+
+<dl>
+
+<dt><a href="exclude/basic.rng"><code>exclude/basic.rng</code></a></dt>
+<dd>checks the exclusions relating to <code>a</code> and
+<code>pre</code> elements</dd>
+
+<dt><a
+href="exclude/basic-table.rng"><code>exclude/basic-table.rng</code></a></dt>
+
+<dd>checks the exclusions relating to basic tables module (i.e.
+checks that <code>table</code> elements are not nested)</dd>
+
+<dt><a href="exclude/form.rng"><code>exclude/form.rng</code></a></dt>
+
+<dd>checks the exclusions relating to forms and basic forms modules</dd>
+
+</dl>
+
+</li>
+
+</ul>
+
+<address><a href="mailto:jjc@jclark.com">James Clark</a></address>
+
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/applet.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/applet.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/applet.rng
new file mode 100755
index 0000000..22baa50
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/applet.rng
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Applet Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="applet">
+ <element name="applet">
+ <ref name="applet.attlist"/>
+ <!-- No restrictions on mixed content in TREX. -->
+ <zeroOrMore>
+ <ref name="param"/>
+ </zeroOrMore>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="applet.attlist">
+ <ref name="Core.attrib"/>
+ <attribute name="alt">
+ <ref name="Text.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="archive"/>
+ </optional>
+ <optional>
+ <attribute name="code"/>
+ </optional>
+ <optional>
+ <attribute name="codebase">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="object"/>
+ </optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="applet"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/attribs.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/attribs.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/attribs.rng
new file mode 100755
index 0000000..5fa3bfa
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/attribs.rng
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Common Attributes Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="id.attrib">
+ <optional>
+ <attribute name="id">
+ <ref name="ID.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="class.attrib">
+ <optional>
+ <attribute name="class">
+ <ref name="NMTOKENS.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="title.attrib">
+ <optional>
+ <attribute name="title">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Core.attrib">
+ <ref name="id.attrib"/>
+ <ref name="class.attrib"/>
+ <ref name="title.attrib"/>
+</define>
+
+<define name="lang.attrib">
+ <optional>
+ <attribute name="xml:lang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="I18n.attrib">
+ <ref name="lang.attrib"/>
+</define>
+
+<define name="Common.attrib">
+ <ref name="Core.attrib"/>
+ <ref name="I18n.attrib"/>
+</define>
+
+<define name="CommonIdRequired.attrib">
+ <attribute name="id">
+ <ref name="ID.datatype"/>
+ </attribute>
+ <ref name="class.attrib"/>
+ <ref name="title.attrib"/>
+ <ref name="I18n.attrib"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/base.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/base.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/base.rng
new file mode 100755
index 0000000..c9ade45
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/base.rng
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Base Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="base">
+ <element name="base">
+ <ref name="base.attlist"/>
+ </element>
+</define>
+
+<define name="base.attlist">
+ <attribute name="href">
+ <ref name="URI.datatype"/>
+ </attribute>
+</define>
+
+<define name="head.content" combine="interleave">
+ <optional>
+ <ref name="base"/>
+ </optional>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-form.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-form.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-form.rng
new file mode 100755
index 0000000..b8f8afb
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-form.rng
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Simplified Forms Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="form">
+ <element name="form">
+ <ref name="form.attlist"/>
+ <!-- Don't use Block.model, because this gets redefined by the
+ legacy module. -->
+ <oneOrMore>
+ <ref name="Block.class"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="form.attlist">
+ <ref name="Common.attrib"/>
+ <attribute name="action">
+ <ref name="URI.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="method">
+ <choice>
+ <value>get</value>
+ <value>post</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="enctype">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="label">
+ <element name="label">
+ <ref name="label.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="label.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="for">
+ <ref name="IDREF.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="input">
+ <element name="input">
+ <ref name="input.attlist"/>
+ </element>
+</define>
+
+<define name="input.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="type">
+ <ref name="InputType.class"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="value"/>
+ </optional>
+ <optional>
+ <attribute name="checked">
+ <value>checked</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size"/>
+ </optional>
+ <optional>
+ <attribute name="maxlength">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="src">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="InputType.class">
+ <choice>
+ <value>text</value>
+ <value>password</value>
+ <value>checkbox</value>
+ <value>radio</value>
+ <value>submit</value>
+ <value>reset</value>
+ <value>hidden</value>
+ </choice>
+</define>
+
+<define name="select">
+ <element name="select">
+ <ref name="select.attlist"/>
+ <oneOrMore>
+ <ref name="option"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="select.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="multiple">
+ <value>multiple</value>
+ </attribute>
+ </optional>
+</define>
+
+<define name="option">
+ <element name="option">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="selected">
+ <value>selected</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="value"/>
+ </optional>
+ <text/>
+ </element>
+</define>
+
+<define name="textarea">
+ <element name="textarea">
+ <ref name="textarea.attlist"/>
+ </element>
+</define>
+
+<define name="textarea.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <attribute name="rows">
+ <ref name="Number.datatype"/>
+ </attribute>
+ <attribute name="cols">
+ <ref name="Number.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+ <text/>
+</define>
+
+<define name="Form.class">
+ <ref name="form"/>
+</define>
+
+<define name="Formctrl.class">
+ <choice>
+ <ref name="input"/>
+ <ref name="label"/>
+ <ref name="select"/>
+ <ref name="textarea"/>
+ </choice>
+</define>
+
+<define name="Block.class" combine="choice">
+ <ref name="Form.class"/>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="Formctrl.class"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-table.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-table.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-table.rng
new file mode 100755
index 0000000..db9a534
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/basic-table.rng
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Basic Tables Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="table">
+ <element name="table">
+ <ref name="table.attlist"/>
+ <optional>
+ <ref name="caption"/>
+ </optional>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="table.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="summary">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="caption">
+ <element name="caption">
+ <ref name="caption.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="caption.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="tr">
+ <element name="tr">
+ <ref name="tr.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="th"/>
+ <ref name="td"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="tr.attlist">
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+</define>
+
+<define name="th">
+ <element name="th">
+ <ref name="th.attlist"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="th.attlist">
+ <ref name="Cell.attrib"/>
+</define>
+
+<define name="td">
+ <element name="td">
+ <ref name="td.attlist"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="td.attlist">
+ <ref name="Cell.attrib"/>
+</define>
+
+<define name="Cell.attrib">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="abbr">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="axis"/>
+ </optional>
+ <optional>
+ <attribute name="headers">
+ <ref name="IDREFS.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="scope.attrib"/>
+ <optional>
+ <attribute name="rowspan">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colspan">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+</define>
+
+<define name="CellHAlign.attrib">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="CellVAlign.attrib">
+ <optional>
+ <attribute name="valign">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="scope.attrib">
+ <optional>
+ <attribute name="scope">
+ <choice>
+ <value>row</value>
+ <value>col</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Block.class" combine="choice">
+ <ref name="table"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/bdo.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/bdo.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/bdo.rng
new file mode 100755
index 0000000..2742f3a
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/bdo.rng
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Bi-directional Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="bdo">
+ <element name="bdo">
+ <ref name="bdo.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="bdo.attlist">
+ <ref name="Core.attrib"/>
+ <ref name="lang.attrib"/>
+ <ref name="dir.attrib"/>
+</define>
+
+<define name="dir.attrib">
+ <attribute name="dir">
+ <choice>
+ <value>ltr</value>
+ <value>rtl</value>
+ </choice>
+ </attribute>
+</define>
+
+<define name="I18n.attrib" combine="interleave">
+ <optional>
+ <ref name="dir.attrib"/>
+ </optional>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="bdo"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/csismap.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/csismap.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/csismap.rng
new file mode 100755
index 0000000..7ad9833
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/csismap.rng
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Client-side Image Map Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="area">
+ <element name="area">
+ <ref name="area.attlist"/>
+ </element>
+</define>
+
+<define name="area.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="shape.attrib"/>
+ <ref name="coords.attrib"/>
+ <optional>
+ <attribute name="nohref">
+ <value>nohref</value>
+ </attribute>
+ </optional>
+ <attribute name="alt">
+ <ref name="Text.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="map">
+ <element name="map">
+ <ref name="map.attlist"/>
+ <oneOrMore>
+ <choice>
+ <!-- This does not use Block.mix
+ because loose.dtd doesn't use %Flow; -->
+ <ref name="Block.class"/>
+ <ref name="area"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="map.attlist">
+ <ref name="CommonIdRequired.attrib"/>
+</define>
+
+<define name="a.attlist" combine="interleave">
+ <ref name="shape.attrib"/>
+ <ref name="coords.attrib"/>
+</define>
+
+<define name="img.attlist" combine="interleave">
+ <ref name="usemap.attlist"/>
+</define>
+
+<define name="object.attlist" combine="interleave">
+ <ref name="usemap.attlist"/>
+</define>
+
+<define name="usemap.attlist">
+ <optional>
+ <attribute name="usemap">
+ <ref name="IDREF.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="shape.attrib">
+ <optional>
+ <attribute name="shape">
+ <choice>
+ <value>rect</value>
+ <value>circle</value>
+ <value>poly</value>
+ <value>default</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="coords.attrib">
+ <optional>
+ <attribute name="coords"/>
+ </optional>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="map"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/datatypes.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/datatypes.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/datatypes.rng
new file mode 100755
index 0000000..d62631a
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/datatypes.rng
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Datatypes Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+<!-- Length defined for cellpadding/cellspacing -->
+
+<!-- nn for pixels or nn% for percentage length -->
+<define name="Length.datatype">
+ <text/>
+</define>
+
+<!-- space-separated list of link types -->
+<define name="LinkTypes.datatype">
+ <ref name="NMTOKENS.datatype"/>
+</define>
+
+<!-- single or comma-separated list of media descriptors -->
+<define name="MediaDesc.datatype">
+ <text/>
+</define>
+
+<!-- pixel, percentage, or relative -->
+<define name="MultiLength.datatype">
+ <text/>
+</define>
+
+<!-- one or more digits (NUMBER) -->
+<define name="Number.datatype">
+ <text/>
+</define>
+
+<!-- integer representing length in pixels -->
+<define name="Pixels.datatype">
+ <text/>
+</define>
+
+<!-- script expression -->
+<define name="Script.datatype">
+ <text/>
+</define>
+
+<!-- textual content -->
+<define name="Text.datatype">
+ <text/>
+</define>
+
+<!-- Imported Datatypes ................................ -->
+
+<!-- a single character from [ISO10646] -->
+<define name="Character.datatype">
+ <text/>
+</define>
+
+<!-- a character encoding, as per [RFC2045] -->
+<define name="Charset.datatype">
+ <text/>
+</define>
+
+<!-- a space separated list of character encodings, as per [RFC2045] -->
+<define name="Charsets.datatype">
+ <text/>
+</define>
+
+<!-- media type, as per [RFC2045] -->
+<define name="ContentType.datatype">
+ <text/>
+</define>
+
+<!-- comma-separated list of media types, as per [RFC2045] -->
+<define name="ContentTypes.datatype">
+ <text/>
+</define>
+
+<!-- date and time information. ISO date format -->
+<define name="Datetime.datatype">
+ <text/>
+</define>
+
+<!-- formal public identifier, as per [ISO8879] -->
+<define name="FPI.datatype">
+ <text/>
+</define>
+
+<!-- a language code, as per [RFC1766] -->
+<define name="LanguageCode.datatype">
+ <data type="language"/>
+</define>
+
+<!-- a Uniform Resource Identifier, see [URI] -->
+<define name="URI.datatype">
+ <data type="anyURI"/>
+</define>
+
+<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
+<define name="URIs.datatype">
+ <text/>
+</define>
+
+<define name="NMTOKEN.datatype">
+ <data type="NMTOKEN"/>
+</define>
+
+<define name="NMTOKENS.datatype">
+ <data type="NMTOKENS"/>
+</define>
+
+<define name="ID.datatype">
+ <data type="ID"/>
+</define>
+
+<define name="IDREF.datatype">
+ <data type="IDREF"/>
+</define>
+
+<define name="IDREFS.datatype">
+ <data type="IDREFS"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/edit.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/edit.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/edit.rng
new file mode 100755
index 0000000..ad98c89
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/edit.rng
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Edit Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="del">
+ <element name="del">
+ <ref name="del.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="del.attlist">
+ <ref name="Edit.attrib"/>
+</define>
+
+<define name="ins">
+ <element name="ins">
+ <ref name="ins.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="ins.attlist">
+ <ref name="Edit.attrib"/>
+</define>
+
+<define name="Edit.attrib">
+ <optional>
+ <attribute name="cite">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="datetime">
+ <ref name="Datetime.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Edit.class">
+ <choice>
+ <ref name="del"/>
+ <ref name="ins"/>
+ </choice>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="Edit.class"/>
+</define>
+
+<define name="Block.class" combine="choice">
+ <ref name="Edit.class"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/events.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/events.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/events.rng
new file mode 100755
index 0000000..e13432f
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/events.rng
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Events Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="a.attlist" combine="interleave">
+ <optional>
+ <attribute name="onblur">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onfocus">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="area.attlist" combine="interleave">
+ <optional>
+ <attribute name="onblur">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onfocus">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="form.attlist" combine="interleave">
+ <optional>
+ <attribute name="onreset">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onsubmit">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="body.attlist" combine="interleave">
+ <optional>
+ <attribute name="onload">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onunload">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="label.attlist" combine="interleave">
+ <optional>
+ <attribute name="onblur">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onfocus">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="input.attlist" combine="interleave">
+ <optional>
+ <attribute name="onblur">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onchange">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onfocus">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onselect">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="select.attlist" combine="interleave">
+ <optional>
+ <attribute name="onblur">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onchange">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onfocus">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="textarea.attlist" combine="interleave">
+ <optional>
+ <attribute name="onblur">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onchange">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onfocus">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onselect">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="button.attlist" combine="interleave">
+ <optional>
+ <attribute name="onblur">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onfocus">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Events.attrib">
+ <optional>
+ <attribute name="onclick">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="ondblclick">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onmousedown">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onmouseup">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onmouseover">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onmousemove">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onmouseout">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onkeypress">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onkeydown">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="onkeyup">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Common.attrib" combine="interleave">
+ <ref name="Events.attrib"/>
+</define>
+
+<define name="CommonIdRequired.attrib" combine="interleave">
+ <ref name="Events.attrib"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/form.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/form.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/form.rng
new file mode 100755
index 0000000..3189678
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/form.rng
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Forms Module -->
+<!-- Unlike the DTD implementation, this builds on the basic-form module --><grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<include href="basic-form.rng">
+
+ <define name="select">
+ <element name="select">
+ <ref name="select.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="option"/>
+ <ref name="optgroup"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+
+</include>
+
+<define name="form.attlist" combine="interleave">
+ <optional>
+ <attribute name="accept-charset">
+ <ref name="Charsets.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accept">
+ <ref name="ContentTypes.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="input.attlist" combine="interleave">
+ <optional>
+ <attribute name="disabled">
+ <value>disabled</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="readonly">
+ <value>readonly</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="alt"/>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accept">
+ <ref name="ContentTypes.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="InputType.class" combine="choice">
+ <choice>
+ <value>image</value>
+ <value>button</value>
+ </choice>
+</define>
+
+<define name="select.attlist" combine="interleave">
+ <optional>
+ <attribute name="disabled">
+ <value>disabled</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="option.attlist" combine="interleave">
+ <optional>
+ <attribute name="disabled">
+ <value>disabled</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="label">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="optgroup">
+ <element name="optgroup">
+ <ref name="optgroup.attlist"/>
+ <oneOrMore>
+ <ref name="option"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="optgroup.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="disabled">
+ <value>disabled</value>
+ </attribute>
+ </optional>
+ <attribute name="label">
+ <ref name="Text.datatype"/>
+ </attribute>
+</define>
+
+<define name="textarea.attlist" combine="interleave">
+ <optional>
+ <attribute name="disabled">
+ <value>disabled</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="readonly">
+ <value>readonly</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fieldset">
+ <element name="fieldset">
+ <ref name="fieldset.attlist"/>
+ <ref name="legend"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="fieldset.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="button">
+ <element name="button">
+ <ref name="button.attlist"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="button.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="value"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>button</value>
+ <value>submit</value>
+ <value>reset</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="disabled">
+ <value>disabled</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="legend">
+ <element name="legend">
+ <ref name="legend.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="legend.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Form.class" combine="choice">
+ <ref name="fieldset"/>
+</define>
+
+<define name="Formctrl.class" combine="choice">
+ <ref name="button"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/frames.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/frames.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/frames.rng
new file mode 100755
index 0000000..7b97353
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/frames.rng
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Frames Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<include href="struct.rng">
+
+ <define name="html">
+ <element name="html">
+ <ref name="html.attlist"/>
+ <ref name="head"/>
+ <ref name="frameset"/>
+ </element>
+ </define>
+
+</include>
+
+<define name="frameset">
+ <element name="frameset">
+ <ref name="frameset.attlist"/>
+ <interleave>
+ <oneOrMore>
+ <choice>
+ <ref name="frameset"/>
+ <ref name="frame"/>
+ </choice>
+ </oneOrMore>
+ <optional>
+ <ref name="noframes"/>
+ </optional>
+ </interleave>
+ </element>
+</define>
+
+<define name="frameset.attlist">
+ <ref name="Core.attrib"/>
+ <optional>
+ <attribute name="cols">
+ <ref name="MultiLength.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rows">
+ <ref name="MultiLength.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="frame">
+ <element name="frame">
+ <ref name="frame.attlist"/>
+ </element>
+</define>
+
+<define name="frame.attlist">
+ <ref name="Core.attrib"/>
+ <optional>
+ <attribute name="longdesc">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="src">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="frameborder">
+ <choice>
+ <value>1</value>
+ <value>0</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="marginwidth">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="marginheight">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="noresize">
+ <value>noresize</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scrolling">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="noframes">
+ <element name="noframes">
+ <ref name="noframes.attlist"/>
+ <ref name="body"/>
+ </element>
+</define>
+
+<define name="noframes.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/hypertext.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/hypertext.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/hypertext.rng
new file mode 100755
index 0000000..fb90d95
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/hypertext.rng
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Hypertext Module -->
+<!-- Depends on text module. -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="a">
+ <element name="a">
+ <ref name="a.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="a.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charset">
+ <ref name="Charset.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hreflang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rel">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rev">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="a"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/iframe.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/iframe.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/iframe.rng
new file mode 100755
index 0000000..3763854
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/iframe.rng
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Iframe Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="iframe">
+ <element name="iframe">
+ <ref name="iframe.attlist"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="iframe.attlist">
+ <ref name="Core.attrib"/>
+ <optional>
+ <attribute name="longdesc">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="src">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="frameborder">
+ <choice>
+ <value>1</value>
+ <value>0</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="marginwidth">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="marginheight">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scrolling">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="iframe"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/image.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/image.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/image.rng
new file mode 100755
index 0000000..1f313f6
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/image.rng
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Image Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="img">
+ <element name="img">
+ <ref name="img.attlist"/>
+ </element>
+</define>
+
+<define name="img.attlist">
+ <ref name="Common.attrib"/>
+ <attribute name="src">
+ <ref name="URI.datatype"/>
+ </attribute>
+ <attribute name="alt">
+ <ref name="Text.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="longdesc">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="img"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/inlstyle.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/inlstyle.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/inlstyle.rng
new file mode 100755
index 0000000..70d728a
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/inlstyle.rng
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Inline Style Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="Core.attrib" combine="interleave">
+ <optional>
+ <attribute name="style"/>
+ </optional>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/legacy.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/legacy.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/legacy.rng
new file mode 100755
index 0000000..87a7205
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/legacy.rng
@@ -0,0 +1,502 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Legacy Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="lang.attrib" combine="interleave">
+ <optional>
+ <attribute name="lang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="basefont">
+ <element name="basefont">
+ <ref name="basefont.attlist"/>
+ </element>
+</define>
+
+<define name="basefont.attlist">
+ <ref name="id.attrib"/>
+ <ref name="Font.attrib"/>
+</define>
+
+<define name="center">
+ <element name="center">
+ <ref name="center.attlist"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="center.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="font">
+ <element name="font">
+ <ref name="font.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="font.attlist">
+ <ref name="Core.attrib"/>
+ <ref name="I18n.attrib"/>
+ <ref name="Font.attrib"/>
+</define>
+
+<define name="Font.attrib">
+ <optional>
+ <attribute name="size"/>
+ </optional>
+ <optional>
+ <attribute name="color">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="face"/>
+ </optional>
+</define>
+
+<define name="s">
+ <element name="s">
+ <ref name="s.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="s.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="strike">
+ <element name="strike">
+ <ref name="strike.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="strike.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="u">
+ <element name="u">
+ <ref name="u.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="u.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="dir">
+ <element name="dir">
+ <ref name="dir.attlist"/>
+ <oneOrMore>
+ <ref name="li.noblock"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="dir.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="compact">
+ <value>compact</value>
+ </attribute>
+ </optional>
+</define>
+
+<define name="menu">
+ <element name="menu">
+ <ref name="menu.attlist"/>
+ <oneOrMore>
+ <ref name="li.noblock"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="menu.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="compact">
+ <value>compact</value>
+ </attribute>
+ </optional>
+</define>
+
+<define name="li.noblock">
+ <element name="li">
+ <ref name="li.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="isindex">
+ <element name="isindex">
+ <ref name="isindex.attlist"/>
+ </element>
+</define>
+
+<define name="isindex.attlist">
+ <ref name="Core.attrib"/>
+ <ref name="I18n.attrib"/>
+ <optional>
+ <attribute name="prompt">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="applet.attlist" combine="interleave">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>left</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hspace">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vspace">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="body.attlist" combine="interleave">
+ <optional>
+ <attribute name="background">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="bgcolor">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="link">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vlink">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="alink">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="br.attlist" combine="interleave">
+ <optional>
+ <attribute name="clear">
+ <choice>
+ <value>left</value>
+ <value>all</value>
+ <value>right</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="caption.attlist" combine="interleave">
+ <ref name="align.attrib"/>
+</define>
+
+<define name="div.attlist" combine="interleave">
+ <ref name="align.attrib"/>
+</define>
+
+<!-- Not in the CR, but surely an error. -->
+
+<define name="dl.attlist" combine="interleave">
+ <optional>
+ <attribute name="compact">
+ <value>compact</value>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Heading.attrib" combine="interleave">
+ <ref name="align.attrib"/>
+</define>
+
+<define name="hr.attlist" combine="interleave">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="noshade">
+ <value>noshade</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="img.attlist" combine="interleave">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>left</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="border">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hspace">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vspace">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="input.attlist" combine="interleave">
+ <ref name="align.attrib"/>
+</define>
+
+<define name="legend.attlist" combine="interleave">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>top</value>
+ <value>bottom</value>
+ <value>left</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="li.attlist" combine="interleave">
+ <optional>
+ <attribute name="type"/>
+ </optional>
+ <optional>
+ <attribute name="value"/>
+ </optional>
+</define>
+
+<define name="object.attlist" combine="interleave">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>left</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="border">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hspace">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vspace">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="ol.attlist" combine="interleave">
+ <optional>
+ <attribute name="type"/>
+ </optional>
+ <optional>
+ <attribute name="compact">
+ <value>compact</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="start"/>
+ </optional>
+</define>
+
+<define name="p.attlist" combine="interleave">
+ <ref name="align.attrib"/>
+</define>
+
+<define name="pre.attlist" combine="interleave">
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="script.attlist" combine="interleave">
+ <optional>
+ <attribute name="language">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="table.attlist" combine="interleave">
+ <ref name="align.attrib"/>
+ <optional>
+ <attribute name="bgcolor">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="tr.attlist" combine="interleave">
+ <optional>
+ <attribute name="bgcolor">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Cell.attrib" combine="interleave">
+ <optional>
+ <attribute name="nowrap">
+ <value>nowrap</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="bgcolor">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="ul.attlist" combine="interleave">
+ <optional>
+ <attribute name="type"/>
+ </optional>
+ <optional>
+ <attribute name="compact">
+ <value>compact</value>
+ </attribute>
+ </optional>
+</define>
+
+<define name="align.attrib">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>all</value>
+ <value>right</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Color.datatype">
+ <text/>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <choice>
+ <ref name="font"/>
+ <ref name="basefont"/>
+ <ref name="s"/>
+ <ref name="strike"/>
+ <ref name="u"/>
+ </choice>
+</define>
+
+<define name="Block.class" combine="choice">
+ <choice>
+ <ref name="center"/>
+ <ref name="isindex"/>
+ </choice>
+</define>
+
+<define name="List.class" combine="choice">
+ <choice>
+ <ref name="dir"/>
+ <ref name="menu"/>
+ </choice>
+</define>
+
+<define name="head.content" combine="interleave">
+ <optional>
+ <ref name="isindex"/>
+ </optional>
+</define>
+
+<define name="Block.mix" combine="choice">
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+</define>
+
+<!-- With the legacy module and the frames modules, the html
+ element can contain either body or frameset. -->
+<define name="frameset" combine="choice">
+ <ref name="body"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/link.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/link.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/link.rng
new file mode 100755
index 0000000..3cce22d
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/link.rng
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Link Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="link">
+ <element name="link">
+ <ref name="link.attlist"/>
+ </element>
+</define>
+
+<define name="link.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="charset">
+ <ref name="Charset.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hreflang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rel">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rev">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="media">
+ <ref name="MediaDesc.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="head.content" combine="interleave">
+ <zeroOrMore>
+ <ref name="link"/>
+ </zeroOrMore>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/list.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/list.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/list.rng
new file mode 100755
index 0000000..eb81c1c
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/list.rng
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- List Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="dl">
+ <element name="dl">
+ <ref name="dl.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="dt"/>
+ <ref name="dd"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="dl.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="dt">
+ <element name="dt">
+ <ref name="dt.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="dt.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="dd">
+ <element name="dd">
+ <ref name="dd.attlist"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="dd.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="ol">
+ <element name="ol">
+ <ref name="ol.attlist"/>
+ <oneOrMore>
+ <ref name="li"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="ol.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="ul">
+ <element name="ul">
+ <ref name="ul.attlist"/>
+ <oneOrMore>
+ <ref name="li"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="ul.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="li">
+ <element name="li">
+ <ref name="li.attlist"/>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="li.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="List.class">
+ <choice>
+ <ref name="ul"/>
+ <ref name="ol"/>
+ <ref name="dl"/>
+ </choice>
+</define>
+
+<define name="Block.class" combine="choice">
+ <ref name="List.class"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/meta.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/meta.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/meta.rng
new file mode 100755
index 0000000..fbccc94
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/meta.rng
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Meta Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="meta">
+ <element name="meta">
+ <ref name="meta.attlist"/>
+ </element>
+</define>
+
+<define name="meta.attlist">
+ <ref name="I18n.attrib"/>
+ <optional>
+ <attribute name="http-equiv">
+ <ref name="NMTOKEN.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <ref name="NMTOKEN.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="content"/>
+ </optional>
+ <optional>
+ <attribute name="scheme"/>
+ </optional>
+</define>
+
+<define name="head.content" combine="interleave">
+ <zeroOrMore>
+ <ref name="meta"/>
+ </zeroOrMore>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/nameident.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/nameident.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/nameident.rng
new file mode 100755
index 0000000..dcd8633
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/nameident.rng
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Name Identification Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="a.attlist" combine="interleave">
+ <ref name="name.attlist"/>
+</define>
+
+<define name="applet.attlist" combine="interleave">
+ <ref name="name.attlist"/>
+</define>
+
+<define name="form.attlist" combine="interleave">
+ <ref name="name.attlist"/>
+</define>
+
+<define name="frame.attrib" combine="interleave">
+ <ref name="name.attlist"/>
+</define>
+
+<define name="iframe.attlist" combine="interleave">
+ <ref name="name.attlist"/>
+</define>
+
+<define name="img.attlist" combine="interleave">
+ <ref name="name.attlist"/>
+</define>
+
+<define name="map.attlist" combine="interleave">
+ <ref name="name.attlist"/>
+</define>
+
+<define name="name.attlist">
+ <optional>
+ <attribute name="name"/>
+ </optional>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/object.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/object.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/object.rng
new file mode 100755
index 0000000..3f5ef9a
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/object.rng
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Object Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="object">
+ <element name="object">
+ <ref name="object.attlist"/>
+ <!-- No restrictions on mixed content in TREX. -->
+ <zeroOrMore>
+ <ref name="param"/>
+ </zeroOrMore>
+ <ref name="Flow.model"/>
+ </element>
+</define>
+
+<define name="object.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="declare">
+ <value>declare</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="classid">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="codebase">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="data">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="codetype">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="archive">
+ <ref name="URIs.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="standby">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="object"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/param.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/param.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/param.rng
new file mode 100755
index 0000000..20a7a82
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/param.rng
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Param Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="param">
+ <element name="param">
+ <ref name="param.attlist"/>
+ </element>
+</define>
+
+<define name="param.attlist">
+ <ref name="id.attrib"/>
+ <attribute name="name"/>
+ <optional>
+ <attribute name="value"/>
+ </optional>
+ <optional>
+ <attribute name="valuetype">
+ <choice>
+ <value>data</value>
+ <value>ref</value>
+ <value>object</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/pres.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/pres.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/pres.rng
new file mode 100755
index 0000000..8526d16
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/pres.rng
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="hr">
+ <element name="hr">
+ <ref name="hr.attlist"/>
+ </element>
+</define>
+
+<define name="hr.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="Block.class" combine="choice">
+ <ref name="hr"/>
+</define>
+
+<define name="b">
+ <element name="b">
+ <ref name="b.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="b.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="big">
+ <element name="big">
+ <ref name="big.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="big.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="i">
+ <element name="i">
+ <ref name="i.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="i.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="small">
+ <element name="small">
+ <ref name="small.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="small.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="sub">
+ <element name="sub">
+ <ref name="sub.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="sub.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="sup">
+ <element name="sup">
+ <ref name="sup.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="sup.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="tt">
+ <element name="tt">
+ <ref name="tt.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="tt.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <choice>
+ <ref name="b"/>
+ <ref name="big"/>
+ <ref name="i"/>
+ <ref name="small"/>
+ <ref name="sub"/>
+ <ref name="sup"/>
+ <ref name="tt"/>
+ </choice>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ruby.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ruby.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ruby.rng
new file mode 100755
index 0000000..cc154a5
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ruby.rng
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="ruby">
+ <element name="ruby">
+ <ref name="ruby.attlist"/>
+ <choice>
+ <group>
+ <ref name="rb"/>
+ <choice>
+ <ref name="rt"/>
+ <group>
+ <ref name="rp"/>
+ <ref name="rt"/>
+ <ref name="rp"/>
+ </group>
+ </choice>
+ </group>
+ <group>
+ <ref name="rbc"/>
+ <ref name="rtc"/>
+ <optional>
+ <ref name="rtc"/>
+ </optional>
+ </group>
+ </choice>
+ </element>
+</define>
+
+<define name="ruby.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="rbc">
+ <element name="rbc">
+ <ref name="rbc.attlist"/>
+ <oneOrMore>
+ <ref name="rb"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="rbc.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="rtc">
+ <element name="rtc">
+ <ref name="rtc.attlist"/>
+ <oneOrMore>
+ <ref name="rt"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="rtc.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="rb">
+ <element name="rb">
+ <ref name="rb.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="rb.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="rt">
+ <element name="rt">
+ <ref name="rt.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+</define>
+
+<define name="rt.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="rt">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="rp">
+ <element name="rp">
+ <ref name="rp.attlist"/>
+ <text/>
+ </element>
+</define>
+
+<define name="rp.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="ruby"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/script.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/script.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/script.rng
new file mode 100755
index 0000000..16c200a
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/script.rng
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Script Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="script">
+ <element name="script">
+ <ref name="script.attlist"/>
+ <text/>
+ </element>
+</define>
+
+<define name="script.attlist">
+ <optional>
+ <attribute name="charset">
+ <ref name="Charset.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="src">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="defer">
+ <value>defer</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xml:space">
+ <value>preserve</value>
+ </attribute>
+ </optional>
+</define>
+
+<define name="noscript">
+ <element name="noscript">
+ <ref name="noscript.attlist"/>
+ <ref name="Block.model"/>
+ </element>
+</define>
+
+<define name="noscript.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="head.content" combine="interleave">
+ <zeroOrMore>
+ <ref name="script"/>
+ </zeroOrMore>
+</define>
+
+<define name="Script.class">
+ <choice>
+ <ref name="noscript"/>
+ <ref name="script"/>
+ </choice>
+</define>
+
+<define name="Inline.class" combine="choice">
+ <ref name="Script.class"/>
+</define>
+
+<define name="Block.class" combine="choice">
+ <ref name="Script.class"/>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ssismap.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ssismap.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ssismap.rng
new file mode 100755
index 0000000..3aa9fce
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/ssismap.rng
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Server-side Image Map Module -->
+<!-- Depends on image module. -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="img.attlist" combine="interleave">
+ <optional>
+ <attribute name="ismap">
+ <value>ismap</value>
+ </attribute>
+ </optional>
+</define>
+
+</grammar>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/clerezza/blob/70220239/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/struct.rng
----------------------------------------------------------------------
diff --git a/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/struct.rng b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/struct.rng
new file mode 100755
index 0000000..98ff167
--- /dev/null
+++ b/platform/content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/mozile/lib/xhtml/modules/struct.rng
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Structure Module -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<start>
+ <ref name="html"/>
+</start>
+
+<define name="title">
+ <element name="title">
+ <ref name="title.attlist"/>
+ <text/>
+ </element>
+</define>
+
+<define name="title.attlist">
+ <ref name="I18n.attrib"/>
+</define>
+
+<define name="head">
+ <element name="head">
+ <ref name="head.attlist"/>
+ <ref name="head.content"/>
+ </element>
+</define>
+
+<define name="head.attlist">
+ <ref name="I18n.attrib"/>
+ <ref name="profile.attlist"/>
+</define>
+
+<define name="head.content">
+ <ref name="title"/>
+</define>
+
+<define name="profile.attlist">
+ <optional>
+ <attribute name="profile">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="body">
+ <element name="body">
+ <ref name="body.attlist"/>
+ <ref name="Block.model"/>
+ </element>
+</define>
+
+<define name="body.attlist">
+ <ref name="Common.attrib"/>
+</define>
+
+<define name="html">
+ <element name="html">
+ <ref name="html.attlist"/>
+ <ref name="head"/>
+ <ref name="body"/>
+ </element>
+</define>
+
+<define name="html.attlist">
+ <ref name="XHTML.version.attrib"/>
+ <ref name="I18n.attrib"/>
+</define>
+
+<define name="XHTML.version.attrib">
+ <optional>
+ <attribute name="version">
+ <ref name="FPI.datatype"/>
+ </attribute>
+ </optional>
+</define>
+
+</grammar>
\ No newline at end of file