You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by th...@apache.org on 2005/06/04 23:07:01 UTC
svn commit: r180024 - in
/forrest/trunk/main/webapp/resources/schema/relaxng: README.txt
document-v20.mod.rng document-v20.rng
Author: thorsten
Date: Sat Jun 4 14:07:01 2005
New Revision: 180024
URL: http://svn.apache.org/viewcvs?rev=180024&view=rev
Log:
started to convert our dtd's to relaxng schemas
Added:
forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.mod.rng (with props)
forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.rng (with props)
Modified:
forrest/trunk/main/webapp/resources/schema/relaxng/README.txt
Modified: forrest/trunk/main/webapp/resources/schema/relaxng/README.txt
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/resources/schema/relaxng/README.txt?rev=180024&r1=180023&r2=180024&view=diff
==============================================================================
--- forrest/trunk/main/webapp/resources/schema/relaxng/README.txt (original)
+++ forrest/trunk/main/webapp/resources/schema/relaxng/README.txt Sat Jun 4 14:07:01 2005
@@ -22,6 +22,10 @@
Jing RELAX NG validator in Java:
http://www.thaiopensource.com/relaxng/
+Trang Multi-format XML schema converter based on RELAX NG
+Trang converts between different schema languages for XML.
+ http://www.thaiopensource.com/relaxng/trang.html
+
To run an XML file against a .rng schema using Jing, see the
"validate-config" target in xml-forrest/build.xml or do this:
Added: forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.mod.rng
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.mod.rng?rev=180024&view=auto
==============================================================================
--- forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.mod.rng (added)
+++ forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.mod.rng Sat Jun 4 14:07:01 2005
@@ -0,0 +1,1014 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed 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.
+-->
+<!--
+ ===================================================================
+
+ Apache Common Documentation elements (Version 2.0)
+
+ PURPOSE:
+ This DTD was developed to create a simple yet powerful document
+ type for software documentation for use with the Apache projects.
+
+ TYPICAL INVOCATION:
+
+ <!ENTITY % document PUBLIC
+ "-//APACHE//ENTITIES Documentation Vxy//EN"
+ "document-vxy.mod">
+ %document;
+
+ where
+
+ x := major version
+ y := minor version
+
+ NOTES:
+
+ FIXME:
+
+ CHANGE HISTORY:
+ [Version 2.0a]
+ 20030505 Add a meta element to the header, for generic metadata
+ 20030505 Zap jump and fork, and rename 'link' to 'a' for better HTMLness
+ 20030510 Fix bug which allowed nested lists like <ol><ol>. Now lists can only contain li's.
+
+ ====================================================================
+-->
+<!-- =============================================================== -->
+<!-- Useful entities for increased DTD readability -->
+<!-- =============================================================== -->
+<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="text">
+ <text/>
+ </define>
+ <!-- Entities referred to later on are defined up front -->
+ <define name="markup">
+ <choice>
+ <ref name="strong"/>
+ <ref name="em"/>
+ <ref name="code"/>
+ <ref name="sub"/>
+ <ref name="sup"/>
+ </choice>
+ </define>
+ <define name="special-inline">
+ <choice>
+ <ref name="br"/>
+ <ref name="img"/>
+ <ref name="icon"/>
+ <ref name="acronym"/>
+ <ref name="map"/>
+ </choice>
+ </define>
+ <define name="links">
+ <ref name="a"/>
+ </define>
+ <define name="paragraphs">
+ <choice>
+ <ref name="p"/>
+ <ref name="source"/>
+ <ref name="note"/>
+ <ref name="warning"/>
+ <ref name="fixme"/>
+ </choice>
+ </define>
+ <define name="tables">
+ <ref name="table"/>
+ </define>
+ <define name="lists">
+ <choice>
+ <ref name="ol"/>
+ <ref name="ul"/>
+ <ref name="dl"/>
+ </choice>
+ </define>
+ <define name="special-blocks">
+ <choice>
+ <ref name="figure"/>
+ <ref name="anchor"/>
+ </choice>
+ </define>
+ <!-- these are used for image maps -->
+ <define name="Shape">
+ <choice>
+ <value>rect</value>
+ <value>circle</value>
+ <value>poly</value>
+ <value>default</value>
+ </choice>
+ </define>
+ <define name="Coords">
+ <data type="string" datatypeLibrary=""/>
+ </define>
+ <!-- =============================================================== -->
+ <!-- Entities for general XML compliance -->
+ <!-- =============================================================== -->
+ <!--
+ Common attributes
+ Every element has an ID attribute (sometimes required,
+ but usually optional) for links. %common.att;
+ is for common attributes where the ID is optional, and
+ %common-idreq.att; is for common attributes where the
+ ID is required.
+ -->
+ <define name="common.att">
+ <optional>
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="class">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xml:lang">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-idreq.att">
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ <optional>
+ <attribute name="class">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xml:lang">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ </define>
+ <!--
+ xml:space attribute ===============================================
+ Indicates that the element contains white space
+ that the formatter or other application should retain,
+ as appropriate to its function.
+ ====================================================================
+ -->
+ <define name="xmlspace.att">
+ <optional>
+ <attribute name="xml:space" a:defaultValue="preserve">
+ <value>preserve</value>
+ </attribute>
+ </optional>
+ </define>
+ <!--
+ def attribute =====================================================
+ Points to the element where the relevant definition can be
+ found, using the IDREF mechanism. %def.att; is for optional
+ def attributes, and %def-req.att; is for required def
+ attributes.
+ ====================================================================
+ -->
+ <!--
+ ref attribute =====================================================
+ Points to the element where more information can be found,
+ using the IDREF mechanism. %ref.att; is for optional
+ ref attributes, and %ref-req.att; is for required ref
+ attributes.
+ ==================================================================
+ -->
+ <!-- =============================================================== -->
+ <!-- Entities for general usage -->
+ <!-- =============================================================== -->
+ <!--
+ Key attribute =====================================================
+ Optionally provides a sorting or indexing key, for cases when
+ the element content is inappropriate for this purpose.
+ ====================================================================
+ -->
+ <!--
+ Title attributes ==================================================
+ Indicates that the element requires to have a title attribute.
+ ====================================================================
+ -->
+ <!--
+ Name attributes ==================================================
+ Indicates that the element requires to have a name attribute.
+ ====================================================================
+ -->
+ <define name="name.att">
+ <attribute name="name"/>
+ </define>
+ <!--
+ Email attributes ==================================================
+ Indicates that the element requires to have an email attribute.
+ ====================================================================
+ -->
+ <define name="email.att">
+ <attribute name="email"/>
+ </define>
+ <!--
+ Link attributes ===================================================
+ Indicates that the element requires to have hyperlink attributes.
+ ====================================================================
+ -->
+ <define name="link.att">
+ <attribute name="href"/>
+ <optional>
+ <attribute name="title"/>
+ </optional>
+ </define>
+ <!-- =============================================================== -->
+ <!-- General definitions -->
+ <!-- =============================================================== -->
+ <!-- A person is a general unparsed human entity -->
+ <define name="person">
+ <element name="person">
+ <ref name="person.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="person.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <ref name="name.att"/>
+ <ref name="email.att"/>
+ </define>
+ <!-- =============================================================== -->
+ <!-- Content definitions -->
+ <!-- =============================================================== -->
+ <define name="local.inline">
+ <notAllowed/>
+ </define>
+ <define name="link-content.mix">
+ <choice>
+ <ref name="text"/>
+ <ref name="markup"/>
+ <ref name="special-inline"/>
+ <ref name="local.inline"/>
+ </choice>
+ </define>
+ <define name="content.mix">
+ <choice>
+ <ref name="link-content.mix"/>
+ <ref name="links"/>
+ </choice>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Phrase Markup -->
+ <!-- ==================================================== -->
+ <!-- Strong (typically bold) -->
+ <define name="strong">
+ <element name="strong">
+ <ref name="strong.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="strong.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Emphasis (typically italic) -->
+ <define name="em">
+ <element name="em">
+ <ref name="em.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="em.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Code (typically monospaced) -->
+ <define name="code">
+ <element name="code">
+ <ref name="code.attlist"/>
+ <ref name="text"/>
+ </element>
+ </define>
+ <define name="code.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Superscript (typically smaller and higher) -->
+ <define name="sup">
+ <element name="sup">
+ <ref name="sup.attlist"/>
+ <ref name="text"/>
+ </element>
+ </define>
+ <define name="sup.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Subscript (typically smaller and lower) -->
+ <define name="sub">
+ <element name="sub">
+ <ref name="sub.attlist"/>
+ <ref name="text"/>
+ </element>
+ </define>
+ <define name="sub.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Hypertextual Links -->
+ <!-- ==================================================== -->
+ <!-- hyperlink (equivalent of <a ...>) -->
+ <!-- http://www.w3.org/TR/xhtml2/mod-hypertext.html#s_hypertextmodule -->
+ <define name="a">
+ <element name="a">
+ <ref name="a.attlist"/>
+ <zeroOrMore>
+ <ref name="link-content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="a.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <ref name="link.att"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Specials -->
+ <!-- ==================================================== -->
+ <!-- Breakline Object (typically forces line break) -->
+ <define name="br">
+ <element name="br">
+ <ref name="br.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="br.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Image Object (typically an inlined image) -->
+ <define name="img">
+ <element name="img">
+ <ref name="img.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="img.attlist" combine="interleave">
+ <attribute name="src"/>
+ <attribute name="alt"/>
+ <optional>
+ <attribute name="height"/>
+ </optional>
+ <optional>
+ <attribute name="width"/>
+ </optional>
+ <optional>
+ <attribute name="usemap"/>
+ </optional>
+ <optional>
+ <attribute name="ismap">
+ <choice>
+ <value>ismap</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common.att"/>
+ </define>
+ <!-- support the img usemap attribute -->
+ <define name="map">
+ <element name="map">
+ <ref name="map.attlist"/>
+ <oneOrMore>
+ <ref name="area"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="map.attlist" combine="interleave">
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ </define>
+ <define name="area">
+ <element name="area">
+ <ref name="area.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="area.attlist" combine="interleave">
+ <optional>
+ <attribute name="shape" a:defaultValue="rect">
+ <ref name="Shape"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="coords">
+ <ref name="Coords"/>
+ </attribute>
+ </optional>
+ <ref name="link.att"/>
+ <optional>
+ <attribute name="nohref">
+ <choice>
+ <value>nohref</value>
+ </choice>
+ </attribute>
+ </optional>
+ <attribute name="alt"/>
+ </define>
+ <!-- Image Icon (typically an inlined image placed as graphical item) -->
+ <define name="icon">
+ <element name="icon">
+ <ref name="icon.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="icon.attlist" combine="interleave">
+ <attribute name="src"/>
+ <attribute name="alt"/>
+ <optional>
+ <attribute name="height"/>
+ </optional>
+ <optional>
+ <attribute name="width"/>
+ </optional>
+ <ref name="common.att"/>
+ </define>
+ <!-- Acronym (in modern browsers, will have rollover text) -->
+ <define name="acronym">
+ <element name="acronym">
+ <ref name="acronym.attlist"/>
+ <zeroOrMore>
+ <ref name="text"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="acronym.attlist" combine="interleave">
+ <attribute name="title"/>
+ <ref name="common.att"/>
+ </define>
+ <!-- =============================================================== -->
+ <!-- Blocks definitions -->
+ <!-- =============================================================== -->
+ <define name="local.blocks">
+ <notAllowed/>
+ </define>
+ <define name="blocks">
+ <choice>
+ <ref name="paragraphs"/>
+ <ref name="tables"/>
+ <ref name="lists"/>
+ <ref name="special-blocks"/>
+ <ref name="local.blocks"/>
+ </choice>
+ </define>
+ <!-- Flow mixes block and inline -->
+ <define name="flow">
+ <choice>
+ <ref name="content.mix"/>
+ <ref name="blocks"/>
+ </choice>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Paragraphs -->
+ <!-- ==================================================== -->
+ <!-- Text Paragraph (normally vertically space delimited. Space can be preserved.) -->
+ <define name="p">
+ <element name="p">
+ <ref name="p.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="p.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <optional>
+ <attribute name="xml:space">
+ <choice>
+ <value>default</value>
+ <value>preserve</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <!-- Source Paragraph (normally space is preserved) -->
+ <define name="source">
+ <element name="source">
+ <ref name="source.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="source.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <ref name="xmlspace.att"/>
+ </define>
+ <!-- Note Paragraph (normally shown encapsulated) -->
+ <define name="note">
+ <element name="note">
+ <ref name="note.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="note.attlist" combine="interleave">
+ <optional>
+ <attribute name="label"/>
+ </optional>
+ <ref name="common.att"/>
+ </define>
+ <!-- Warning Paragraph (normally shown with eye-catching colors) -->
+ <define name="warning">
+ <element name="warning">
+ <ref name="warning.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="warning.attlist" combine="interleave">
+ <optional>
+ <attribute name="label"/>
+ </optional>
+ <ref name="common.att"/>
+ </define>
+ <!-- Fixme Paragraph (normally not shown) -->
+ <define name="fixme">
+ <element name="fixme">
+ <ref name="fixme.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="fixme.attlist" combine="interleave">
+ <attribute name="author"/>
+ <ref name="common.att"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Tables -->
+ <!-- ==================================================== -->
+ <!-- Attributes that indicate the spanning of the table cell -->
+ <define name="cell.span">
+ <optional>
+ <attribute name="colspan" a:defaultValue="1"/>
+ </optional>
+ <optional>
+ <attribute name="rowspan" a:defaultValue="1"/>
+ </optional>
+ </define>
+ <!-- Table element -->
+ <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" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- The table title -->
+ <define name="caption">
+ <element name="caption">
+ <ref name="caption.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="caption.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- The table row element -->
+ <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" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- The table row header element -->
+ <define name="th">
+ <element name="th">
+ <ref name="th.attlist"/>
+ <zeroOrMore>
+ <ref name="flow"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="th.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <ref name="cell.span"/>
+ </define>
+ <!-- The table row description element -->
+ <define name="td">
+ <element name="td">
+ <ref name="td.attlist"/>
+ <zeroOrMore>
+ <ref name="flow"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="td.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <ref name="cell.span"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Lists -->
+ <!-- ==================================================== -->
+ <!-- List item -->
+ <define name="li">
+ <element name="li">
+ <ref name="li.attlist"/>
+ <zeroOrMore>
+ <ref name="flow"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="li.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Unordered list (typically bulleted) -->
+ <define name="ul">
+ <element name="ul">
+ <ref name="ul.attlist"/>
+ <oneOrMore>
+ <ref name="li"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <!--
+ spacing attribute:
+ Use "normal" to get normal vertical spacing for items;
+ use "compact" to get less spacing. The default is dependent
+ on the stylesheet.
+ -->
+ <define name="ul.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <optional>
+ <attribute name="spacing">
+ <choice>
+ <value>normal</value>
+ <value>compact</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <!-- Ordered list (typically numbered) -->
+ <define name="ol">
+ <element name="ol">
+ <ref name="ol.attlist"/>
+ <oneOrMore>
+ <ref name="li"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <!--
+ spacing attribute:
+ Use "normal" to get normal vertical spacing for items;
+ use "compact" to get less spacing. The default is dependent
+ on the stylesheet.
+ -->
+ <define name="ol.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <optional>
+ <attribute name="spacing">
+ <choice>
+ <value>normal</value>
+ <value>compact</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <!-- Definition list (typically two-column) -->
+ <define name="dl">
+ <element name="dl">
+ <ref name="dl.attlist"/>
+ <oneOrMore>
+ <ref name="dt"/>
+ <ref name="dd"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="dl.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Definition term -->
+ <define name="dt">
+ <element name="dt">
+ <ref name="dt.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="dt.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- Definition description -->
+ <define name="dd">
+ <element name="dd">
+ <ref name="dd.attlist"/>
+ <zeroOrMore>
+ <ref name="flow"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="dd.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Special Blocks -->
+ <!-- ==================================================== -->
+ <!-- Image Block (typically a separated and centered image) -->
+ <define name="figure">
+ <element name="figure">
+ <ref name="figure.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="figure.attlist" combine="interleave">
+ <attribute name="src"/>
+ <attribute name="alt"/>
+ <optional>
+ <attribute name="height"/>
+ </optional>
+ <optional>
+ <attribute name="width"/>
+ </optional>
+ <optional>
+ <attribute name="usemap"/>
+ </optional>
+ <optional>
+ <attribute name="ismap">
+ <choice>
+ <value>ismap</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align"/>
+ </optional>
+ <ref name="common.att"/>
+ </define>
+ <!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
+ <define name="anchor">
+ <element name="anchor">
+ <ref name="anchor.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="anchor.attlist" combine="interleave">
+ <ref name="common-idreq.att"/>
+ </define>
+ <!-- =============================================================== -->
+ <!-- Document -->
+ <!-- =============================================================== -->
+ <define name="document">
+ <element name="document">
+ <ref name="document.attlist"/>
+ <ref name="header"/>
+ <ref name="body"/>
+ <optional>
+ <ref name="footer"/>
+ </optional>
+ </element>
+ </define>
+ <define name="document.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Header -->
+ <!-- ==================================================== -->
+ <define name="local.headers">
+ <empty/>
+ </define>
+ <define name="header">
+ <element name="header">
+ <ref name="header.attlist"/>
+ <ref name="title"/>
+ <optional>
+ <ref name="subtitle"/>
+ </optional>
+ <optional>
+ <ref name="version"/>
+ </optional>
+ <optional>
+ <ref name="type"/>
+ </optional>
+ <optional>
+ <ref name="authors"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="notice"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="abstract"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="meta"/>
+ </zeroOrMore>
+ <ref name="local.headers"/>
+ </element>
+ </define>
+ <define name="header.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <define name="title">
+ <element name="title">
+ <ref name="title.attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text"/>
+ <ref name="markup"/>
+ <ref name="links"/>
+ <ref name="special-inline"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="title.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <define name="subtitle">
+ <element name="subtitle">
+ <ref name="subtitle.attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text"/>
+ <ref name="markup"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="subtitle.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <define name="version">
+ <element name="version">
+ <ref name="version.attlist"/>
+ <ref name="text"/>
+ </element>
+ </define>
+ <define name="version.attlist" combine="interleave">
+ <ref name="common.att"/>
+ <optional>
+ <attribute name="major"/>
+ </optional>
+ <optional>
+ <attribute name="minor"/>
+ </optional>
+ <optional>
+ <attribute name="fix"/>
+ </optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ </define>
+ <define name="type">
+ <element name="type">
+ <ref name="type.attlist"/>
+ <ref name="text"/>
+ </element>
+ </define>
+ <define name="type.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <define name="authors">
+ <element name="authors">
+ <ref name="authors.attlist"/>
+ <oneOrMore>
+ <ref name="person"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="authors.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <define name="notice">
+ <element name="notice">
+ <ref name="notice.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="notice.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <define name="abstract">
+ <element name="abstract">
+ <ref name="abstract.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="abstract.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- See http://www.w3.org/TR/xhtml2/mod-meta.html#s_metamodule -->
+ <define name="meta">
+ <element name="meta">
+ <ref name="meta.attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="meta.attlist" combine="interleave">
+ <attribute name="name">
+ <data type="NMTOKEN"/>
+ </attribute>
+ <ref name="common.att"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Body -->
+ <!-- ==================================================== -->
+ <define name="local.sections">
+ <notAllowed/>
+ </define>
+ <define name="sections">
+ <choice>
+ <ref name="section"/>
+ <ref name="local.sections"/>
+ </choice>
+ </define>
+ <define name="body">
+ <element name="body">
+ <ref name="body.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="sections"/>
+ <ref name="blocks"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="body.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <define name="section">
+ <element name="section">
+ <ref name="section.attlist"/>
+ <ref name="title"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="sections"/>
+ <ref name="blocks"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="section.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+ <!-- ==================================================== -->
+ <!-- Footer -->
+ <!-- ==================================================== -->
+ <define name="local.footers">
+ <notAllowed/>
+ </define>
+ <define name="footer">
+ <element name="footer">
+ <ref name="footer.attlist"/>
+ <choice>
+ <ref name="legal"/>
+ <ref name="local.footers"/>
+ </choice>
+ </element>
+ </define>
+ <define name="footer.attlist" combine="interleave">
+ <empty/>
+ </define>
+ <define name="legal">
+ <element name="legal">
+ <ref name="legal.attlist"/>
+ <zeroOrMore>
+ <ref name="content.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="legal.attlist" combine="interleave">
+ <ref name="common.att"/>
+ </define>
+</grammar>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->
Propchange: forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.mod.rng
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.rng
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.rng?rev=180024&view=auto
==============================================================================
--- forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.rng (added)
+++ forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.rng Sat Jun 4 14:07:01 2005
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed 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.
+-->
+<!--
+ ===================================================================
+
+ Apache Documentation DTD (Version 2.0)
+
+ PURPOSE:
+ This DTD was developed to create a simple yet powerful document
+ type for software documentation for use with the Apache projects.
+ It is an XML-compliant DTD and it's maintained by the Apache XML
+ project.
+
+ The v2.x series of this DTD is an evolution of the 1.x series, incorporating
+ lessons learned. Various new much-needed elements have been added, some unused
+ features removed, and some renamed (link -> a). 2.x is not
+ backwards-compatible, although a stylesheet can probably do the conversion.
+
+ TYPICAL INVOCATION:
+
+ <!DOCTYPE document PUBLIC
+ "-//APACHE//DTD Documentation V2.1a//EN"
+ "document-vxy.dtd">
+
+ where
+
+ x := major version
+ y := minor version
+
+ NOTES:
+ Many of the design patterns used in this DTD were take from the
+ W3C XML Specification DTD edited by Eve Maler <el...@arbortext.com>.
+
+ Where possible, great care has been used to reuse HTML tag
+ names to reduce learning efforts and to allow HTML editors to be
+ used for complex authorings like tables and lists.
+
+ EXTENSIBILITY:
+ This DTD includes several empty placeholders that can be used to
+ extend it. These placeholders are implemented with empty entities. Here
+ is the list of those empty entities and what they are used for:
+
+ - local.inline: this entity should contain extended definitions of
+ elements that can be used 'inline', or directly inside
+ the content. An example for this entity could be
+
+ <!ENTITY % local.inline "|citation">
+
+ - local.blocks: this entity should contain extended definitions of
+ elements that behave as 'blocks', thus can be visually
+ rendered as areas on the canvas. An example for this
+ entity could be:
+
+ <!ENTITY % local.blocks "|poem">
+
+ - local.sections: this entity should contain extended definitions of
+ elements that behave as 'sections', thus can be considered
+ containers of block-level elements. An example for
+ this entity could be:
+
+ <!ENTITY % local.sections "|chapter">
+
+ - local.headers: this entity should contain extended definitions of
+ elements that behave as parts of the document header.
+ An example for this header could be:
+
+ <!ENTITY % local.headers ", notes?">
+
+ - local.footers: this entity should contain extended definitions of
+ elements that behave as parts of the document footer.
+ An example for this header could be:
+
+ <!ENTITY % local.footers ", annotations*">
+
+ ====================================================================
+-->
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="document-v20.mod.rng"/>
+ <start>
+ <choice>
+ <ref name="document"/>
+ </choice>
+ </start>
+</grammar>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->
Propchange: forrest/trunk/main/webapp/resources/schema/relaxng/document-v20.rng
------------------------------------------------------------------------------
svn:eol-style = native