<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE article PUBLIC
"-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"[
<!ENTITY name "legalxml-econtracts-specification">
<!ENTITY version "1.0">
<!ENTITY standard "Committee Draft">
]>
<!--"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"[-->
<article status="&standard;">

<articleinfo>
<productname>&name;</productname>
<productnumber>&version;</productnumber>

<releaseinfo role="product"><ulink url="&name;-&version;.xml">XML</ulink></releaseinfo>
<releaseinfo role="product"><ulink url="&name;-&version;.html">HTML</ulink></releaseinfo>
<releaseinfo role="product"><ulink url="&name;-&version;.pdf">PDF (A4)</ulink></releaseinfo>

<releaseinfo role="oasis-id">{OASIS Document Number}</releaseinfo>

<releaseinfo role="location-persistent_version">http://docs.oasis-open.org/legalxml-econtracts/CD1/legalxml-econtracts-specification-1.0.xml</releaseinfo>
<releaseinfo role="location-current_version">http://docs.oasis-open.org/legalxml-econtracts/legalxml-econtracts-specification-1.0.xml</releaseinfo>
<releaseinfo role="location-previous_version">None</releaseinfo>

<releaseinfo role="committee">OASIS LegalXML eContracts TC</releaseinfo>

<releaseinfo role="subject-keywords">specification </releaseinfo>

<releaseinfo role="topic"></releaseinfo>

<title>eContracts Version 1.0</title>
<authorgroup>
<editor>
   <firstname>Laurence</firstname><surname>Leff</surname>
   <affiliation>
    <orgname>Individual</orgname>
    <address><email>mflll@wiu.edu</email></address>
   </affiliation>
</editor>
<editor>
   <firstname>Peter</firstname><surname>Meyer</surname>
   <affiliation>
    <orgname>Individual</orgname>
    <address><email>pmeyer@elkera.com.au</email></address>
   </affiliation>
</editor>
</authorgroup>
<pubdate>
21 December 2006</pubdate>

<copyright><year>2006</year>
<holder>OASIS Open, Inc. All Rights Reserved.</holder></copyright>
<!--
<legalnotice role="related"><title>Related Work</title>
<para>
<filename>http://www.w3.org/2001/XInclude</filename>
World Wide Web Consortium XML Inclusions Recommendation
</para><para>
<filename>http://purl.org/elements/1.1</filename> - for the
Dublin Core Meta Data set (dc)
</para><para>
<filename>http://www.w3.org/2001/XMLSchema</filename> (xs)
</para>
</legalnotice>
-->
<abstract>
<para>
This is the specification for the OASIS eContracts XML schema developed
by the OASIS LegalXML eContracts Technical Committee.
The eContracts Schema is intended to describe the generic
hierarchical structure of a wide range of contract documents.
The TC envisages that the primary use
of the eContracts Schema will be to facilitate the maintenance of precedent
or template
contract documents and contract terms
by persons who wish to use them to create new contract documents
with automated tools.
Use cases covered include negotiated business contracts, ticket contracts,
standard form business and consumer contracts and click-through
agreements.
</para>
</abstract>

<legalnotice role="status"><title>Status</title>


<para>
This document was last revised or approved by the
LegalXML eContracts Technical Committee
on the above date. The level of approval is also listed above.
Check the current location noted above for possible later revisions of this document. This document is updated periodically on no particular schedule.</para>
<para>Technical Committee members should send comments on this specification to the Technical Committee's email list. Others should send comments to the Technical Committee by using the "Send A Comment" button on the Technical Committee's web page at <ulink url="http://www.oasis-open.org/committees/legalxml-econtracts"><literal>http://www.oasis-open.org/committees/legalxml-econtracts</literal></ulink>.</para>
<para>For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (<ulink url="http://www.oasis-open.org/committees/legalxml-econtractsipr.php"><literal>http://www.oasis-open.org/committees/legalxml-econtracts/ipr.php</literal></ulink>).</para>
<para>The non-normative errata page for this specification is located at <ulink url="http://www.oasis-open.org/committees/legalxml-econtracts"><literal>http://www.oasis-open.org/committees/legalxml-econtracts</literal></ulink>.</para>

</legalnotice>

<legalnotice role="notices"><title>Notices</title>

<para>
<blockquote>
<para>OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director. </para>
<para>OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.</para>
<para>Copyright &#169; OASIS Open 2006. All Rights Reserved.</para>
<para>This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English. </para>
<para>The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. </para>
<para>This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</para>

</blockquote>
</para>

</legalnotice>
</articleinfo>

<section id="s.introduction">
<title>Purpose and Scope</title>

<section><title>Mission of the eContracts TC</title><para>The eContracts TC's mission is
to promote &ldquo;the efficient creation, maintenance, management, exchange and
publication of contract documents and contract terms.&rdquo;</para>





<para>The TC did not seek to focus on any particular vertical segment of the
contracts domain.</para>
<para>The TC considered a range of scenarios covering issues in many different
contract domains.  A summary of these scenarios and the TC's conclusions
on the scope of its specification are set out in the appendix
"Contract Scenarios Considered by the eContracts TC."
</para>
</section>

<section><title>Scope</title>
<para>
This is the specification for the OASIS eContracts Schema developed by the
OASIS LegalXML eContracts Technical Committee.  The eContracts Schema
is intended to describe the generic,
hierarchical structure of a wide range of contract documents.
</para>
<para>The eContracts Schema defined in this specification aims to facilitate
the storage, maintenance  and processing of natural language precedents
for contract documents and contract terms that may be used to create
contract documents in a range of identified contract domains.
The eContracts Schema
provides a model that can be used by persons who maintain precedent or template documents  that will be used in automated document assembly, document construction and publishing systems to create contract documents. Thus, it is expected  it will be used mainly in back-end, automated processing systems, rather than by lawyers and others involved in day to day contract preparation.</para>
<para>The TC expects that automated processing of eContracts documents will require that eContracts XML is transformed  into common word processing
formats for use in word processing applications."
</para>
<para>
It is possible that persons drafting contracts may work in an XML editor with the
eContracts Schema.
However, the TC does not expect this practice to be widespread
in the forseeable future.
Lawyers and others involved in the day-to-day drafting of contract documents
work with common word processing software using unstructured
methodologies.  This is not expect to change.
Even as word processing applications become capable of using arbitrary
XML schemas, the TC does not identify
any impetus for lawyers and other persons involved in the drafting of
contracts and other legal and
business documents to change current practices and adopt structured
authoring methodologies.
Should that change occur, the eContracts Schema is intended to be
highly suitable for that purpose.
</para>
<para>
Law firms and other enterprises who often commonly  contract documents
often may create other document types
such as advices, correspondence and litigation
documents.  Many of these documents are prepared in essentially the same way as
contract documents, using the same automation tools.
All the principles applicable to a schema for contract
documents apply to these other documents.  The TC concluded that the
eContracts Schema will define
common content objects that can be adopted by another standards
body responsible for developing a schema applicable to those other
legal documents.
</para>
<para>
The eContracts Schema is not intended to overlap with the
functionality provided by existing standards for electronic commerce
or electronic business transactions.  The eContracts Schema
is
intended to describe natural language contract documents,
something not provided by existing standards.
</para>
<para>The TC expects the initial eContracts Schema will be a foundation for further developments by communities with interests in specific industry domains or contracting domains such as enterprise contract management.</para>
</section>
<section ><title>Feature summary for the eContracts Schema</title>
<para>Features of the eContracts Reference Schema can be summarized
as follows:<orderedlist>
<listitem>
<para>Contract documents are composed of paragraphs and clauses that may be stored separately and reused in multiple documents. The eContracts Schema defines these objects as containers that  can be processed as distinct objects or
content chunks for storage and  retrieval in document assembly and other processing
systems. The eContracts Schema uses the XInclude standard to support content sharing and reuse of clauses using the item element.</para></listitem>

<listitem><para>The TC has aimed for simplicity with the eContracts Core Schema. It defines only 51 elements. Most content can be created with just a handful of elements: <sgmltag>item</sgmltag>, <sgmltag>title</sgmltag>, <sgmltag>block</sgmltag> and <sgmltag>text</sgmltag> with the <sgmltag>item</sgmltag> element used recursively. This is intended to make it easy to convert existing content to the eContracts Schema and permit content components to be inserted without re-tagging at any
desired level of the document hierarchy in document assembly applications.</para></listitem>
<listitem><para>The eContracts Core Schema defines the  generic, hierarchical structure of contract documents.
This provides the maximum flexibility for content reuse, reliable automated processing and transformation of eContracts XML into other formats.</para></listitem>

<listitem><para>The eContracts Core Schema provides for embedded data values to support variables substitution in contract preparation and the extraction of data values from XML contract documents.
This is achieved through the field element.
This version of the eContracts Schema
supports only the string type for the field element.
It is anticipated that future schema versions may require
richer data types, according to specific business requirements.
</para></listitem>

<listitem><para>The eContracts Reference Schema provides a mechanism to support conditional processing of content at the element level and within text contexts. This model is not part of the eContracts Core Schema to allow users to adopt their own conditional text processing model.</para></listitem>
<listitem>
<para> The eContracts Core Schema provides a model for users to
add metadata at the contract and clause level. The schema makes provision
for common metadata fields required by document management, document assembly
and publishing applications such as:</para>
<orderedlist numeration="lowerroman">
<listitem>
<para>document identifiers, the author, version and
dates;</para></listitem>

<listitem>
<para>the legal
subject matter or categorisation of distinct content
objects.</para>
</listitem>
</orderedlist>
</listitem>

<listitem>
<para>The schema provides sufficient definition of content objects
in contract documents that user applications can:</para>
<orderedlist numeration="lowerroman">

<listitem>
<para>define and apply automatic numbering schemes to those
objects;</para></listitem>

<listitem>
<para>generate
desired renditions, including but not limited to print, RTF, PDF, HTML and text
to speech ready formats.</para></listitem>
</orderedlist>
</listitem>
<listitem><para>
The eContracts Schema allows for
an entry of various kinds of values
into instances of contract documents based on that schema,
e.g. dates specifying start and end dates of the
contracts into their respective slots.
This is achieved through the
<sgmltag>field</sgmltag> of the Schema,
which can be regarded as a slot for entry of specific values
into contract instances,
either by the user or by
a back-end system.  This version of schema supports
only string type for the field element and it is anticipated
that future schema versions would require richer data
types,
according to specific busines srequirements.
</para></listitem>
</orderedlist>
</para>


</section>

<section >
<title>Benefits of the eContracts Schema</title>

<para>The eContracts Core Schema is expected  to support the widest
possible range of uses in back-end contract document processing systems. It provides a standards
based schema to facilitate the long term storage and maintenance of precedent
contract documents and terms by law firms and other enterprises who
use contract precedents to prepare contract documents for specific transactions.  It will enable these users to reduce maintenance costs, provide better access to information to contract drafters and provide more reliable automation of document assembly and publishing processes. It should promote the wider availability
of automated document creation systems. In particular:<orderedlist numeration="loweralpha">
<listitem>
<para>It will enable large volumes of contract precedents to be managed without concern about changes to proprietary file formats. It will avoid the costs associated with the periodical reformatting of proprietary data with embedded formatting information.</para></listitem>

<listitem>
<para>It will allow off-the-shelf XML based content management and processing tools to be used for
the creation, maintenance and retrieval of contract precedents. It will enable enhanced levels of automation in the assembly of contracts from precedents and from stored transaction data.</para></listitem>

<listitem>
<para>It will enable contract precedents to be transformed into any desired rendition
such as HTML, RTF, Microsoft Office Open XML format, OpenDocument or any other
format.</para></listitem>


<listitem><para>It will enable organizations to enhance precedents with metadata to facilitate improved information retrieval.</para></listitem><listitem><para>If supported by vendors of document assembly and other automation systems, it will minimize dependencies between contract precedents and processing systems to reduce setup and switching costs.</para></listitem></orderedlist></para>




</section>
</section>
<section id="s.terminology"><title>Terminology</title>

<para>The key words <glossterm>must</glossterm>, <glossterm>must
not</glossterm>, <glossterm>required</glossterm>,
<glossterm>shall</glossterm>, <glossterm>shall not</glossterm>,
<glossterm>should</glossterm>, <glossterm>should not</glossterm>,
<glossterm>recommended</glossterm>, <glossterm>may</glossterm>, and
<glossterm>optional</glossterm> in this document are to be
interpreted as described in <xref linkend="rfc2119"/>.</para>
<variablelist>
<varlistentry><term>application programmer</term>
<listitem><para>The person or person(s) developing a system that
examines or parses the XML conforming to this specification,
or a version customized  according to the recommendations herein.
This would include the developer
of style sheets developed in a style sheet
language such as XSLT, whether they be used for producing
a rendition or other XML <citation>XSLT</citation>.
</para></listitem></varlistentry>
<varlistentry><term>contract</term> <listitem><para>An agreement between parties
that is intended to be legally enforceable.  A contract may be oral, partly oral and partly written or wholly
recorded in writing.  The terms of a contract may be contained in many
contract documents.
</para></listitem> </varlistentry>
<varlistentry><term>contract document</term>
<listitem><para>A document that records some or all of
the draft or
agreed contract terms.  Contract terms are traditionally expressed in
a natural language but it is assumed that some or all of the terms
of a contract could be expressed in a deontic contract language
(q.v.).
</para>
</listitem> </varlistentry>
<varlistentry><term>deontic contract language</term> <listitem><para>Means
a language that can express the rights and obligations of parties
to a contract in a form that can be
parsed by software applications and processed with other data to determine
state information about matters governed by the contract.
</para></listitem> </varlistentry>
<varlistentry><term>embedded data value</term> <listitem><para>This refers to
a
piece of information such as a product or
service description, date, name, address, quantity or monetary amount
that is embedded in the natural language expression of the contract
terms.</para></listitem> </varlistentry>
<varlistentry><term>machine readable information</term> <listitem><para>This is information in the
contract document that refers to information about contract rights, obligations,
or states, that can be extracted from the document by a computer
system.  It includes information represented in deontic contract language,
contract metadata and embedded data values.
It does not refer to the computer readable characters in the text
unless the meaning of that text can be determined by a computer sytem.
For example, a monetary amount that can be read from the text is not machine readable
information unless the system can determine useful information about
the statement of that amount in the contract such as who
must pay it, to whom it must be paid, at what time is it to be paid
and for what purpose is it paid.
</para></listitem> </varlistentry>
<varlistentry><term>natural language
</term> <listitem><para>This includes the mode of expression of contract
narrative as it is commonly written by lawyers.</para></listitem> </varlistentry>
<varlistentry><term>precedent contract</term> <listitem><para>
This is a document that is used by the drafter of a new contract document as a starting point or template to assist in creating that new contract.
</para></listitem> </varlistentry>
<varlistentry><term>rendition
</term> <listitem><para>The output of a transformation or styling process by which
XML documents conforming to a particular schema are rendered with
human-readable layout in a particular format such as RTF, PDF, HTML
or displayed by a computer using a particular kind of software.
</para></listitem> </varlistentry>
<varlistentry><term>schema customizer</term> <listitem><para>
The individual providing for changes, particularly additional
elements or attributes to meet the needs of a set of users, e. g.,
a particular vertical market.   As recommended in <link linkend="Customization" endterm="Customization.title" />, this would probably be done in
the file <filename>eContracts-Reference.rnc</filename> or an equivalent file.
</para></listitem></varlistentry>
<varlistentry><term>TC</term> <listitem><para>This refers, in this document, to the Organization for the Advancement
of Structured Information Standards Legal XML member Section eContracts
Technical Committee.</para></listitem> </varlistentry>
<varlistentry><term>
transaction</term> <listitem><para>An instance of doing business,
whether electronic or conventional.</para></listitem></varlistentry>
</variablelist>
</section>






<section><title>Overview of the eContracts Schema</title>




<section ><title>Generic structural markup model</title>
<para>The TC considered various approaches to development of a schema for natural language contract documents, including:<orderedlist numeration="loweralpha"><listitem>
<para>presentation based schema such as the
Microsoft Office Open XML format and OASIS OpenDocument;</para></listitem>


<listitem>
<para>simple web presentation schema such as XHTML
1.0;</para></listitem>

<listitem>
<para>generic structural markup schema such as DocBook,
DITA, TEI,  XHTML 2.0 and others.</para></listitem>
</orderedlist></para><para>The eContracts Schema is a
generic structural
schema.
It is designed to model the patterns found in a wide range of contract documents. It aims to provide maximum flexibility for long term data storage, content reuse and automation. </para><para>The eContracts Core Schema elements describe the components common to most contracts and their hierarchical relationship. The eContracts Schema does not provide a vocabulary to describe the subject matter of specific contracts. Information about the subject matter of a specific contract can be provided in metadata or other markup defined by particular users.</para>

</section>

<section><title>Reliance on  existing XML standards</title>
<para>The eContracts Schema relies exclusively on existing XML standards. It does not seek to define new processing models that can only be implemented if application vendors choose to implement relevant features.</para><para>Support for the simple conditional text processing model defined by the eContracts Schema can be implemented in user level applications, if desired.</para>
</section>
<section><title>Normative schema syntax</title><para>
The eContracts Reference Schema is provided in Relax NG compact syntax, XML Schema (XSD) and as a DTD. The Relax NG compact syntax version is normative.</para><para>The Relax NG compact syntax permits  a high level of flexibility for customizing the schema and provides a level of human readability similar to that provided by DTDs.</para><para>The eContracts Core Schema uses features that cannot be represented in DTD syntax. For example, the <sgmltag>item</sgmltag> element is used both recursively and as a child of the <sgmltag>block</sgmltag> element. When used as a child of <sgmltag>block</sgmltag>, <sgmltag>item</sgmltag>  is re-defined to prevent it from having a child <sgmltag>item</sgmltag> element. This cannot be enforced in the DTD version.</para>
</section>
<section><title>Name Spaces</title>
<para>
The eContracts Schema uses the following name spaces.
A suggested prefix is also provided even though, of course, the use
of any schema file may select the prefix they wish:
<itemizedlist><listitem><para>
<filename>http://purl.org/elements/1.1</filename> - for the
Dublin Core Meta Data set (dc)
</para></listitem><listitem><para>
<filename>http://www.w3.org/2001/XMLSchema</filename> (xs)
</para></listitem><listitem><para>
<filename>http://relaxng.org/ns/compatability/annotations/1.0</filename> (a)
</para></listitem><listitem><para>
<filename>http://www.w3.org/2001/XMLSchema-datayptes</filename>
</para></listitem><listitem><para>

<filename>http://www.w3.org/2001/XInclude</filename>
(xi), World Wide Web Consortium XML Inclusions Recommendation
</para></listitem><listitem><para>
This namespace:
 <filename>urn:oasis:names:tc:eContracts:1:0</filename>
(ec)
</para></listitem></itemizedlist></para></section>
<section><title>eContracts Schema files</title>


<para>The eContracts Reference Schema is currently packaged as these four files:

<orderedlist><listitem><para><filename>eContracts-Reference.rnc</filename></para><para>This file defines the eContracts Reference Schema.   It incorporates the other files in the schema package and sets various values for eContracts Reference Schema. These are:<orderedlist><listitem><para>It activates conditional text and defines the elements used for conditional text in the schema. This permits users to easily substitute their own conditional text models.</para></listitem><listitem><para>It activates XInclude for content reuse.</para></listitem><listitem><para>It activates additional features that are required to meet the
Web Content Accessibility Guidelines.</para></listitem></orderedlist></para><para>References in this specification to "eContracts Reference" are to the schema defined in this file.</para></listitem><listitem><para>
<filename>eContracts-core.rnc</filename>
</para><para>This file
defines all the elements and attributes in the eContracts name space, including the <sgmltag>contract</sgmltag> element. These definitions can be overridden in the <filename>eContracts-Reference.rnc</filename> file (or an equivalent file) to create a user customization.</para><para>References in this specification to "eContracts Core Schema" are to this file.  References to "eContracts Schema" are to any schema that incorporates this file, with or without customization, provided that the customization complies with the naming conventions in <link linkend="naming" endterm="naming.title" />.</para></listitem><listitem><para>
<filename>dc-metadata.rnc</filename>
</para><para>
This file incorporates some basic elements from Dublin Core in the <sgmltag>metadata</sgmltag>
element at the beginning of the contract.</para></listitem><listitem><para>
<filename>xi-include.rnc</filename>
</para><para>
This defines the xi:include element from
<ulink url="http://www.w3.org/TR/2004/PR-xinclude-2004930">
World Wide Web Consortium XML Inclusions recommendation</ulink>.</para></listitem></orderedlist></para></section>
<section><title>Data exchange and normative use of the eContracts Reference Schema</title>
<para>The eContracts Reference Schema is intended to be the
foundation upon which organization or application specific schema are built. It aims to provide the minimum definition that is likely to be common to the widest range of contract documents.</para><para>The eContracts Reference Schema is intended mainly for use with precedents in backend processing. For this reason and because many contracts will be prepared using word processing software, the TC has not identified any common business requirements for users to exchange eContracts XML between user organizations. Thus the eContracts Reference Schema is not a normative standard for the exchange of contract documents in XML. There is no requirement that parties must use eContracts Reference to exchange data or that it be capable of validating any user customization.</para><para>The eContracts Reference Schema does aim to provide the maximum level of interoperability between users that is consistent with their need to customize the eContracts Schema to their specific requirements. This is achieved in two ways:<orderedlist><listitem><para>Most attributes are defined as xsd:string (CDATA) in the eContracts Core Schema so that any value provided in a user customization is valid.</para></listitem><listitem><para>Loose content models are defined as default values in various contexts in the eContracts Core Schema so that tighter content models defined in user customizations will be valid.</para></listitem></orderedlist></para><para>The eContracts Schema can be customized and these values overridden in a user customization.</para><para>The TC expects that user communities with common interests in exchanging contract documents in XML will develop their own normative standard based on the eContracts Core Schema. The eContracts Core Schema is expected to be the foundation for a large family of related schema that shares common core patterns and can benefit from the use of common tools.</para><para>The heart of the eContracts Schema is <sgmltag>eContracts-core.rnc</sgmltag>.
To maximize the level of interoperability between eContracts XML and processing tools, the core patterns from eContracts-core.rnc described in section "Basic building blocks in the eContracts Core Schema" are normative.
As described in
<link linkend="building" endterm="building.title" />, if those patterns are changed, the resulting schema must not use a name that designates it as part of the eContracts Schema family.</para>
</section>

</section>

<section id="building"><title id="building.title">Basic building blocks in the eContracts Core Schema</title>
<section ><title>The main document hierarchy</title>
<para>In contracts, the basic unit of content is often called a clause or section. Usually it has a number, a title and a block or paragraph of text.</para>
<para>In the eContracts Core Schema, the <sgmltag>item</sgmltag> is the basic building block of the
document hierarchy. It is a recursive element and represents structures that may be known in contracts as
"chapters," "parts," "sections," "clauses"
and "subclauses."   As explained in the next section, the <sgmltag>item</sgmltag> element is also used  to represent
items in a list.</para><para>The TC used the term "item" to avoid terms that my have a particular meaning to some users and not others. It can be given a citation name in automatic numbering based on its context and prevailing conventions.</para><para>It is not uncommon for contract documents to contain structures similar to the following example, often in the same
document:<example>
<title>Numbered document hierarchy with and without titles</title>

<para><programlisting>1 First level
1.1	Second level
1.1.1	Third level
           Content under third level with title.
1.2	Second level
1.2.1	Content under third level without title.
1.2.2	More content under third level without title.</programlisting></para></example></para>



<para>The eContracts Schema treats each of the structures at the third level as structurally the
same regardless of the presence of a title. For this reason, the main container element in the eContracts Schema (<sgmltag>item</sgmltag>) has an optional title.</para><para>This example would be marked up as follows:<example>
<title>Markup of numbered hierarchy</title>

<para><programlisting>
&lt;item number="1"&gt;&lt;title&gt;&lt;text&gt;First level&lt;/text&gt;&lt;/title&gt;
&lt;item number="1.1"&gt;&lt;title&gt;&lt;text&gt;Second level&lt;/text&gt;&lt;/title&gt;
&lt;item number="1.1.1"&gt;&lt;title&gt;&lt;text&gt;Third level&lt;/text&gt;&lt;/title&gt;
           &lt;block&gt;&lt;text&gt;Content under third level with title.&lt;/text&gt;&lt;/block&gt;
&lt;/item&gt;&lt;/item&gt;
&lt;item number="1.2"&gt;&lt;title&gt;&lt;text&gt;Second level&lt;/text&gt;&lt;/title&gt;
&lt;item number="1.2.1"&gt;&lt;block&gt;&lt;text&gt;Content under third level without title.&lt;/text&gt;
&lt;/block&gt;&lt;/item&gt;
&lt;item number="1.2.2"&gt;&lt;block&gt;&lt;text&gt;Content under third level without title.&lt;/text&gt;
&lt;/block&gt;&lt;/item&gt;&lt;/item&gt;&lt;/item&gt;
</programlisting></para></example></para>
</section>
<section><title>Use of item for clauses and lists</title>
<para>In the eContracts Schema, lists are created by enclosing the <sgmltag>item</sgmltag> element in a <sgmltag>block</sgmltag>. While extreme cases are obvious, it is frequently difficult to distinguish between a list and a clause or subclause in contracts. Often it is based on the numbering style the writer wishes to apply. In the previous example, some may regard the items numbered 1.2.1 and 1.2.2 as list items, others as clauses and others as subclauses. The patterns for a clause and a  list item are almost identical. The TC took the view that these distinctions are often a matter of author preference and that the use of distinct elements for clauses and list items only makes it difficult to reuse content in another document or context.</para><para>In the eContracts Schema, clauses, subclauses and list items all use the <sgmltag>item</sgmltag> element. The nature of the structure is inferred from its hierarchical location. Thus, an <sgmltag>item</sgmltag> enclosed by a <sgmltag>block</sgmltag> is a list item and should be numbered as such.</para><para>The following example shows the use of item for clause and list markup:<example>
<title>Example showing item as clause and as list items</title>

<para>
<programlisting>
&lt;item number="1"&gt;&lt;title&gt;&lt;text&gt;First level&lt;/text&gt;&lt;/title&gt;
&lt;item number="1.1"&gt;&lt;title&gt;&lt;text&gt;Second level&lt;/text&gt;&lt;/title&gt;
&lt;item number="1.1.1"&gt;&lt;title&gt;&lt;text&gt;Third level&lt;/text&gt;&lt;/title&gt;
           &lt;block&gt;&lt;text&gt;Content under third level with title.&lt;/text&gt;&lt;/block&gt;
&lt;/item&gt;&lt;/item&gt;
&lt;item number="1.2"&gt;&lt;title&gt;&lt;text&gt;Second level&lt;/text&gt;&lt;/title&gt;
&lt;block&gt;&lt;text&gt;This is a two level list:&lt;/text&gt;
           &lt;item number="(a)"&gt;&lt;block&gt;&lt;text&gt;First level list item.&lt;/text&gt;
                  &lt;item number="(i)"&gt;&lt;block&gt;&lt;text&gt;Second level list item.&lt;/text&gt;
&lt;/block&gt;&lt;/item&gt;
                  &lt;item number="(ii)"&gt;&lt;block&gt;&lt;text&gt;Second level list item.&lt;/text&gt;
&lt;/block&gt;&lt;/item&gt;
			  &lt;/block&gt;&lt;/item&gt;
           &lt;item number="(b)"&gt;&lt;block&gt;&lt;text&gt;First level list item.&lt;/text&gt;&lt;/block&gt;
&lt;/item&gt;&lt;/block&gt;&lt;/item&gt;&lt;/item&gt;
</programlisting></para></example></para>
<para>The eContracts Schema does not use a separate list container. Properties of the list, such as the <sgmltag>number-type</sgmltag>
are controlled by an attribute on the containing <sgmltag>block</sgmltag>.</para>
<para>The concepts of ordered lists and unordered lists have not been adopted in the eContracts Schema. All lists are represented in the same way. The use of bullets or sequential numbering for lists is governed by the <sgmltag>number-type</sgmltag> attribute on the containing <sgmltag>block</sgmltag>.</para>
</section>
<section><title>Paragraph markup with block and text</title>
<para>Grammatical or structural paragraphs in contract documents are represented with the eContracts <sgmltag>block</sgmltag> element. The <sgmltag>block</sgmltag> is intended to encapsulate all content that is semantically part of the paragraph, such as lists, tables, graphics etc.</para>
<para>The eContracts Core Schema avoids mixed content within the <sgmltag>block</sgmltag>. Thus, it never contains character data directly. Character data for the paragraph is contained in the <sgmltag>text</sgmltag> element. The <sgmltag>text</sgmltag> element ensures control
over character data that occurs after or between other elements within the <sgmltag>block</sgmltag>.</para>
<para>For example, contracts frequently have complex list structures with character data  between lists in a parent <sgmltag>block</sgmltag>. The <sgmltag>text</sgmltag> element makes it easier to reliably represent and process these structures. In other cases, a formula may
be followed by the word &ldquo;where:&rdquo; to introduce the definitions of formula
components. The <sgmltag>text</sgmltag> element provides a means to control whether this continues in line rather than the default position of
starting a new line for text objects.</para>
<para>The <sgmltag>text</sgmltag> element may be repeated to create new lines within a <sgmltag>block</sgmltag>. The <sgmltag>text</sgmltag> element should never be used as a paragraph element.</para>
</section>
<section><title>Examples, explanatory notes, quotations etc.</title>
<para>Contracts may include examples, explanatory notes, quotations and other similar content that may occur at almost any point in the document hierarchy. The eContracts Schema uses a single element called <sgmltag>inclusion</sgmltag> to encapsulate all such objects. The nature  of the particular object is captured in the <sgmltag>class</sgmltag> attribute on the <sgmltag>inclusion</sgmltag>.</para>
<para>The key points about these objects is that they all may include
paragraphs (<sgmltag>block</sgmltag> elements) or clauses (<sgmltag>item</sgmltag> element).
The <sgmltag>inclusion</sgmltag> acts as a shield element to permit the content of these objects to be processed separately from the containing document hierarchy. Thus, these objects may have their own automatic numbering sequences and formatting in published renditions.</para>
<para>The use of a single element for all such objects simplifies the content models and core patterns in the eContracts Core Schema and makes it easier for users to customize the schema by adding new values to the <sgmltag>class</sgmltag> attribute.</para>
<para>The <sgmltag>inclusion</sgmltag> is also used to encapsulate graphics with titles and can be used to manage groups of objects such as tables.</para>
<para>The <sgmltag>inclusion</sgmltag> element occurs almost anywhere in the document hierarchy. It is not intended to be used as an alternative to the <sgmltag>item</sgmltag> to create narrative content. It is intended only to encapsulate distinct objects that require separate formatting or processing from the main content.</para>
<para>The <sgmltag>inclusion</sgmltag> element should not be confused with
the <sgmltag>xi:include</sgmltag> element that performs a completely different function.</para>
</section>
<section id="models"><title id="models.title">Core patterns for item, block and inclusion</title>
<para>Commonly, the <sgmltag>body</sgmltag> part of a contract will consist of numbered <sgmltag>items</sgmltag>. In some cases, these <sgmltag>items</sgmltag> may be preceded by one or more <sgmltag>blocks</sgmltag> representing introductory paragraphs. In content that has a poor
hierarchical structure created with word processing software, authors may introduce <sgmltag>blocks</sgmltag> between <sgmltag>item</sgmltag>s or after the last <sgmltag>item</sgmltag>. Inconsistent hierarchical structures present obvious problems for readers of contracts. At a technical level they can make it difficult to create accurate contents listings, chunk content for web publishing and control automatic numbering of items.</para>
<para>Often it is necessary to incorporate content created by others into an inclusion or attachment.</para>
<para>The eContracts Core Schema permits users to control the strictness of item structures in any part of the document. It defines three basic patterns:<orderedlist><listitem>
<para>A tight structure model
permits either <sgmltag>block</sgmltag> or <sgmltag>item</sgmltag> but does not allow both at the same hierarchical level. It is represented as follows:</para>
<para><programlisting>tight.structure.model = inclusion*,
                ((block, inclusion*)+ | (item+, inclusion*))?</programlisting></para></listitem>
<listitem><para>A standard structure model
permits <sgmltag>block</sgmltag> elements before the first <sgmltag>item</sgmltag> but not otherwise at the same hierarchical level. It is represented as follows:</para><para><programlisting>standard.structure.model = inclusion*, (block, inclusion*)*,
                 (item+, inclusion*)</programlisting></para></listitem>
<listitem><para>A loose structure model
permits <sgmltag>block</sgmltag> and <sgmltag>item</sgmltag> to be mixed in any order at the same hierarchical level. It is represented as follows:</para>
<para><programlisting>Loose structure model
loose.structure.model = (block | inclusion | item)*</programlisting></para></listitem></orderedlist>
</para>
<para>Please refer to the Language Reference for complete content models.</para><para>These models can be applied selectively within many  of the major containers in the eContracts Core Schema, including <sgmltag>body</sgmltag>, <sgmltag>back</sgmltag>, <sgmltag>attachment</sgmltag>, <sgmltag>inclusion</sgmltag> and <sgmltag>item</sgmltag>. The default value in eContracts Reference is the loose structure model in all contexts. This ensures that eContracts Reference will validate any customization using tight or standard models. It is not intended as a recommendation that users adopt the loose model in all contexts in their own applications.</para>
<para>These patterns enable users to create their own customizations with new
containers and incorporate the standard patterns from the eContracts Core Schema.
</para>
</section>
</section>



<section id="ContractDocumentStructure"><title id="ContractDocumentStructure.title">
Contract Document Structure in the eContracts Schema</title>
<section id="Components"><title id="Components.title">Components of <sgmltag>contract</sgmltag></title>
<para>
<sgmltag>contract</sgmltag> is the root tag for contracts.
A contract MAY contain the following, each of which is discussed in
more detail below:
<orderedlist><listitem><para>
<sgmltag>metadata</sgmltag>
</para></listitem><listitem><para>
<sgmltag>title</sgmltag> and <sgmltag>subtitle</sgmltag> - the contract writer MUST include a <sgmltag>title</sgmltag>.
</para></listitem><listitem><para>
<sgmltag>contract-front</sgmltag>
</para></listitem><listitem><para>
<sgmltag>body</sgmltag> - this MUST appear
</para></listitem><listitem><para>
<sgmltag>back</sgmltag>
</para></listitem><listitem><para>
<sgmltag>attachments</sgmltag>
</para></listitem>
</orderedlist>
</para><para>The following example shows a skeleton
of a contract to illustrate these parts.  To illustrate
the overall structure, many of the elements
are empty that would normally contain text:
<example><title>A Simple Contract</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"&gt;

  &lt;title&gt;&lt;text&gt;Sample of the five elements at level 1 &lt;/text&gt;&lt;/title&gt;

  &lt;subtitle&gt;This file is to test : - title - sub-title - contract-front -
       date-block - parties - party - body - back -
              attachments - attachment
            &lt;/subtitle&gt;

  &lt;contract-front&gt;
     &lt;date-block&gt;
       &lt;date&gt;&lt;em&gt;Long time ago&lt;/em&gt;&lt;/date&gt;
     &lt;/date-block&gt;
     &lt;parties&gt;
       &lt;party&gt;&lt;/party&gt;
     &lt;/parties&gt;
  &lt;/contract-front&gt;

  &lt;body&gt;&lt;/body&gt;

  &lt;back&gt;&lt;/back&gt;

  &lt;attachments&gt;
    &lt;attachment&gt; &lt;/attachment&gt;
  &lt;/attachments&gt;

&lt;/contract&gt;


</programlisting>
</example>
</para><para>
The following exemplifies the important features in the XML produced
for a contract as per this specification.
On line 12, observe the
<sgmltag>contract-front</sgmltag> containing the  dates (<sgmltag>date-block</sgmltag>) and
a list of the parties <sgmltag>parties</sgmltag> (line 17) to the contract.
Before this is
<link linkend="Metadata"><sgmltag>metadata</sgmltag></link> (line 6), which contains
non-printing information about the contract document.
</para><para>
The body shows how text is prepared using the standard model.  One could have
customized the schema for the tight or loose model.  The body has several <sgmltag>block</sgmltag>s followed by
zero or more <sgmltag>item</sgmltag>s.
A block contains a <sgmltag>text</sgmltag> which acts as a "text container."
In additon to the words of the contract, it contains
elements to emphasize or format text (such as
<sgmltag>em</sgmltag>, <sgmltag>strike</sgmltag>, <sgmltag>sup</sgmltag>),
as well as marked up text for <sgmltag>name</sgmltag>, <sgmltag>address</sgmltag>, <sgmltag>party</sgmltag>).
After discussing these, the specification discusses <sgmltag>condition</sgmltag> elements and
<sgmltag>condition</sgmltag> elements that are used for
providing alternative text for various paragraphs.
Text containers can also contain elements to include text and the <sgmltag>field</sgmltag> to bring in text from an application or database.
</para>
<para>
The <sgmltag>back</sgmltag> at the end of the example has
markup illustrates
 the <link linkend="signature"><sgmltag>party-signature</sgmltag></link> element.  This supports
many options, corresponding to the many way those signing documents
and their witnesses.
</para>
<para>
The <sgmltag>attachment</sgmltag> element is  provided for appendices and other exhibits to the contract, e. g. blue prints in a construction contract
or a detailed specification in a software development project.
They contain <sgmltag>block</sgmltag> and <sgmltag>item</sgmltag> like
the <sgmltag>body</sgmltag>; they, by default, use the loose model.
<example><title>A Simple Contract</title>
<programlisting>
1: &lt;?xml version="1.0" encoding="utf-8"?&gt;
2: &lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
3:           xmlns:dc="http://purl.org/dc/elements/1.1/"
4:           xmlns:xi="http://www.w3.org/2001/XInclude"&gt;
5:
6:   &lt;metadata&gt;
7:     &lt;dc:title&gt;WIU Sample Contract&lt;/dc:title&gt;
8:     &lt;dc:creator&gt;Julie Sasa&lt;/dc:creator&gt;
9:   &lt;/metadata&gt;
10:   &lt;title&gt; &lt;text&gt;Overall Example&lt;/text&gt;
11:   &lt;/title&gt;
12: &lt;contract-front&gt;
13: &lt;date-block&gt;Agreement dated:
14:     &lt;field class="date" type="blank" name="contract_date" length="75mm"&gt;
15:             &lt;?xm-replace_text {ec:field}?&gt;&lt;/field&gt;&lt;/date-block&gt;
16: &lt;parties&gt;&lt;title&gt;&lt;text&gt;Parties&lt;/text&gt;&lt;/title&gt;
17:     &lt;party&gt;&lt;person-record&gt;&lt;name&gt;ABC Ventures Limited&lt;/name&gt; having
18:             its office at &lt;address&gt;100 Main Street, Sydney, NSW 2000&lt;/address&gt;
19:            &lt;/person-record&gt;, hereafter referred to as
20:                  "&lt;term&gt;General Partner&lt;/term&gt;"
21:     &lt;/party&gt;
22:     &lt;party&gt;&lt;person-record&gt;&lt;name&gt;John A. Doe&lt;/name&gt; of
23:             &lt;address&gt;10 Ramrod Drive, Sydney, NSW 2000&lt;/address&gt;&lt;/person-record&gt;
24:               and &lt;person-record&gt;&lt;name&gt;John W. Smith&lt;/name&gt; of
25:           &lt;address&gt;25 Pine Road, Plainsville, NSW, 0000&lt;/address&gt;
26:             &lt;/person-record&gt;, herafter collectively referred to as
27:                   "Limited Partners"
28:     &lt;/party&gt;
29: &lt;/parties&gt;
30: &lt;/contract-front&gt;
31:
32:
33:  &lt;body&gt;
34:     &lt;block&gt;
35:       &lt;text&gt;A&lt;sub&gt;10&lt;/sub&gt;&lt;em&gt;Emphasized Text&lt;/em&gt;&lt;strike&gt;Struck out&lt;/strike&gt;&lt;/text&gt;
36:     &lt;/block&gt;
37:    &lt;block&gt; &lt;/block&gt;
38:    &lt;item&gt;  &lt;/item&gt;
39:    &lt;item&gt;  &lt;/item&gt;
40:   &lt;/body&gt;
41:   &lt;back&gt;
42:
43:     &lt;party-signature&gt;
44:
45:       &lt;signatory-group&gt;
46:
47:         &lt;block&gt; &lt;/block&gt;
48:
49:         &lt;signatory-record&gt;
50:
51:           &lt;signatory id="T0001" xml:lang="ja"&gt;
52:             &lt;signature-line id="I0001" xml:lang="en_US"&gt;
53:               &lt;text&gt;Mr. Signatory Jr.&lt;/text&gt;
54:               &lt;field&gt;Field for a text.&lt;/field&gt;
55:             &lt;/signature-line&gt;
56:           &lt;/signatory&gt;
57:
58:           &lt;witness&gt;
59:             &lt;signature-line id="I0002" xml:lang="fr"&gt;
60:               &lt;text&gt;Ms. Witness Arcole&lt;/text&gt;
61:               &lt;field&gt;Field for a text.&lt;/field&gt;
62:             &lt;/signature-line&gt;
63:           &lt;/witness&gt;
64:
65:         &lt;/signatory-record&gt;
66:
67:       &lt;/signatory-group&gt;
68:
69:     &lt;/party-signature&gt;
70:
71:   &lt;/back&gt;
72:   &lt;attachments&gt;
73:     &lt;attachment class="appendix" id="a1"&gt;
74:       &lt;title&gt;&lt;text&gt;Form of notice in Schema files&lt;/text&gt;&lt;/title&gt;
75:       &lt;block&gt;&lt;text&gt;They must be sent regular mail.&lt;/text&gt;&lt;/block&gt;
76:        &lt;item&gt;  &lt;/item&gt;
77:        &lt;block&gt;&lt;text&gt;Note that one can interleave block and item arbitrarily
78:            when we have a loose model container&lt;/text&gt;&lt;/block&gt;
79:      &lt;/attachment&gt;
80:
81:  &lt;/attachments&gt;
82:
83: &lt;/contract&gt;
</programlisting>
</example>
</para>
</section>

<section><title>Particular features of the eContracts Schema</title>
<section><title>About this section</title>
<para>This section explains particular features of the eContracts Schema that are not easily gleaned from the Language Reference. Refer to the Language Reference for the specification for each element of the schema.</para>
</section>
<section id="Metadata"><title id="Metadata.title">Managing metadata</title>
<para>The eContracts Core Schema provides a metadata element for the contract and item elements. The content of this element is not defined in the eContracts Core Schema. Users of the eContracts Schema are free to define metadata to meet their specific needs.</para><para>However, eContracts Standard incorporates basic elements from Dublin Core from the name space http://purl.org/dc/elements/1.1.</para>
</section>
<section><title>Numbering of structural provisions such as item and attachment</title>
<para>In contracts, it is common that structural provisions such as items and attachments are numbered. The eContracts Core Schema provides the <sgmltag>number</sgmltag> attribute on the elements <sgmltag>item</sgmltag>, <sgmltag>attachment</sgmltag> and <sgmltag>inclusion</sgmltag> to support numbering.</para><para>The eContracts Core Schema makes no assumption about the way that numbers for those provisions will be generated. Numbering must be handled in each application.</para><para>The eContracts Core Schema provides attribute placeholders on the root element and other containers so that users can add attributes to control numbering if it is implemented in the XML data.</para>
</section>
<section><title>List item numbering</title><para>
Within a <sgmltag>block</sgmltag>, an <sgmltag>item</sgmltag> will be  considered
to be a list item.
The <sgmltag>block</sgmltag> provides the <sgmltag>number-type</sgmltag> which is used to control the numbering or otherwise of list items. While expected values are defined for the numbering, the schema does not enforce this behavior in the application. It is up to user applications to enforce the specified numbering behavior. The <sgmltag>number-type</sgmltag> attribute defines the following values:
<variablelist><varlistentry><term>manual</term> <listitem><para>
The contract writer
may enter a value for the <sgmltag>number</sgmltag> attribute
on each of the <sgmltag>item</sgmltag> elements
directly within this block. A application programmer MUST not alter the values found in the data.</para></listitem> </varlistentry> <varlistentry><term>none</term> <listitem><para>
A application programmer MUST not enter a value in the <sgmltag>number</sgmltag> attribute for the <sgmltag>item</sgmltag>.</para></listitem> </varlistentry> <varlistentry><term>disc</term> <listitem><para>
The
application programmer
SHOULD render list items by a disc or bullet.</para></listitem> </varlistentry> <varlistentry><term>line</term> <listitem><para>The
application programmer  SHOULD render list items by a line or dash.
</para></listitem> </varlistentry> <varlistentry><term>number</term> <listitem><para>
The
applicaton programmer  SHOULD render list items with preceding numerals ('1', '2', '3', ...)
</para></listitem> </varlistentry> <varlistentry><term>loweralpha</term> <listitem><para>
The
application programmer  SHOULD render list items with preceding lower case alphabetical characters (
'a', 'b', 'c', .... 'z', 'aa', 'ab', 'ac', 'ad' ... 'za', 'zb', 'zc'...'zz')</para></listitem> </varlistentry> <varlistentry><term>upperalpha</term> <listitem><para>
The
application programmer  SHOULD render list items with preceding upper case alphabetical characters ('A', 'B', 'C', ... 'Z', 'AA', 'AB', 'AC', 'AD'... 'ZA', 'ZB', ...'ZZZ')</para></listitem> </varlistentry> <varlistentry><term>lowerroman</term> <listitem><para>The
application programmer  SHOULD render list items with preceding lower case roman numerals ('I', 'ii', 'iii', 'iv'...)</para></listitem> </varlistentry> <varlistentry><term>upperroman</term> <listitem><para>
The
application programmer  SHOULD render  upper case roman numerals
('I', 'II', 'III', 'IV'...)</para></listitem> </varlistentry></variablelist>
</para><para>The user application MAY  include formatting characters such as parenthesis around list item numbers in the attribute values or it may provide those characters during rendering.</para>
</section>
<section id="conditional"><title id="conditional.title">Conditional text processing</title>
<para>Often, the creator of a form contract needs to  provide for certain text to
be included in certain circumstances.  For example, certain riders
in an in insurance policy may be included when
the customer pays for them or each jurisdiction might happen to require only certain text or
disclaimers.</para>
<para>Conditional processing is very common in document assembly applications. However, there is no standard way for these applications to support the conditional markup or the processing logic. The TC decided it could not attempt to define a standard representation of conditional text processing in contract documents at this stage.</para>
<para>The eContracts Core Schema defines a simple <sgmltag>condition</sgmltag> attribute for use on container elements and a <sgmltag>conditional</sgmltag> element for use with inline elements. However, it does not activate these values in the schema. Activation is provided in eContracts Reference. Thus, users can elect to use or not use the conditional processing model provided in the eContracts Core Schema.</para>
<para>Condition values may be specified in the contract metadata using the <sgmltag>conditions</sgmltag> element. However, user applications may locate these values in any file or database that is accessible to processing applications.</para>
<para>If the eContracts Schema is widely adopted, it may be highly advantageous to define a more powerful model to support conditional processing functionality provided by document assembly applications.</para>
<para>
The following example shows a simple use of
<sgmltag>conditions</sgmltag> to control the
rendering of items
according to the jurisdiction that applies to the
contract.  An element may have multple values for its
<sgmltag>condition</sgmltag> attribute.
If so, it will be rendered if any one of these values
is true.  In this example, the jursidiction is set to <varname>jurisdiction-US</varname>.  content for other
jurisdictions
will not be rendered.
<example><title>Showing the condition elements</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;metadata&gt;
    &lt;conditions&gt;
       &lt;condition name="jurisdiction-US"&gt;Jurisdiction United States&lt;/condition&gt;
       &lt;/conditions&gt;
  &lt;/metadata&gt;
  &lt;title&gt;&lt;text&gt;Sample of Conditions&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block condition="jurisdiction-US"&gt;
      &lt;text&gt;A United States - specific term  in the contract&lt;/text&gt;
    &lt;/block&gt;
    &lt;block condition="jurisdiction-AU"&gt;
      &lt;text&gt;An Australia-specific statement in the contract&lt;/text&gt;
    &lt;/block&gt;
    &lt;block condition="jurisdiction-AU jurisdiction-US"&gt;
      &lt;text&gt; This block will be included if either value is true.&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>
<section id="xinclude"><title id="xinclude.title">
Content reuse with XInclude</title><para>

The eContracts Core Schema permits content sharing and reuse using the
<sgmltag>xi:include</sgmltag> element.
This is for the item element only.
Implementation of the XInclude functionality is provided in the
eContracts Reference Schema.
</para><para>
XInclude permits a user to link to any element as the target, regardless of whether it is
valid at the designated location.  If an invalid element is target, this will
only become apparent when the document is validated after
the <sgmltag>xi:include</sgmltag> links are resolved.
</para></section>

<section id="signature"><title id="signature.title">Party signatures</title>
<section><title>Scope of the eContracts Schema</title>
<para>Many contracts that are to be physically signed by the parties using a pen and ink signature or seal require elaborate structures to record the names of the party, the persons signing and to provide places for actual signatures.</para><para>The eContracts Core Schema makes provision for physical signatures on printed documents. It does not provide any specific mechanism for digital signatures to be represented in the XML markup of a contract document. The TC has not identified any business requirements for it to do so at this time. Parties can apply digital signatures for electronic transactions by applying those signatures to the electronic file that is used as the authoritative record of the transaction. Accordingly, the issue of digital signatures was considered outside the scope of the TC's mission.</para>
</section>
<section><title>Written signatures</title>
<para>The eContracts Core schema provides two ways for the contract drafters to create signature information in contract documents :<orderedlist><listitem><para>The <sgmltag>party-signature</sgmltag> element provides a semantic markup of party signature information that can record the name of the party, persons signing and witnesses. This markup permits signature information to be laid out in  horizontal or vertical alignments in renditions from the XML.</para></listitem><listitem><para>Signature information can be laid out in a table, if desired. The <sgmltag>signature-line</sgmltag> element is permitted in the table <sgmltag>entry</sgmltag>.</para></listitem></orderedlist></para><para>Users may choose either approach according to their convenience and requirement for semantic markup.</para><para> The use of the <sgmltag>party-signature</sgmltag> markup is described in detail in the Language Reference.</para>
</section>
</section>
</section>
</section>
<section><title>Invocation of the eContracts Reference Schema</title>
<section><title>Invocation for the Relax NG schema</title>
<para>
Users who propose to use tools with Relax NG support will need
to look at the documentation for their
specific tool.</para></section><section><title>
Invocation for the XML Schema</title><para>
The XML Schema is invoked as follows:
<programlisting>
&lt;?xml version="1.0"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:oasis:names:tc:eContracts:1:0:eContracts-Reference.xsd"
xmlns:dc="http://purl.org/dc/elements/1.1"
xmlns:xi="http://www.w3.org/2001/XInclude"
&gt;
</programlisting>
<note><para><filename>eContracts-Reference.xsd</filename> can be a
full or relative path to the schema file.
</para></note>
</para>
</section>
<section id="DTD"><title id="DTD.title">Invocation for the DTD</title>
<para>
The DTD is invoked as follows:
<programlisting>
&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE contract SYSTEM
eContracts-Reference.dtd&gt;
</programlisting>
<note><para>eContracts-Reference.dtd can be a full or relative path to the
DTD file.
</para></note></para></section>
</section>

<section><title>Customizing the eContracts Core Schema</title>

<section><title>Customization Introduction</title><para> This section
explains the mechanics of adding a customization layer to the eContracts Core Schema using the Relax NG files.  It also provides naming conventions for user customizations to avoid confusion about what is and what is not part of the eContracts Schema family.</para><para>The TC anticipates that users will develop customizations <citation>MIN0216</citation>. Some of these
customizations will be for vertical areas such as real estate
where the PRIA and MISMA standards are in
use. <citation>MIN0119</citation>.  UBL provides 'a set
of business elements'  and one might wish to combine
the standard described in this specification to
provide narrative terms and use UBL, or similar standards,
to document 'business terms.'
The TC has chosen not to standardize how this
might be done at this time.
</para>
<para>The eContracts Reference is a convenient template for user customizations.</para>
</section>
<section><title>Classes of customizations for the eContracts Schema</title>
<para>There are two classes of modification to the eContracts Schema:<orderedlist><listitem><para><emphasis>eContracts Subset</emphasis></para><para>This is a customization of eContracts Core using the <sgmltag>eContracts-Reference.rnc</sgmltag> file or an equivalent file. Contract data under a subset customization must be validated against the eContracts Reference Schema. This permits a subset customization to:<orderedlist><listitem><para>add attribute value
enumerations for <sgmltag>xsd:string</sgmltag> values and</para></listitem><listitem><para>switch between the loose, standard and tight content models.</para></listitem></orderedlist></para></listitem><listitem><para><emphasis>eContracts Variant</emphasis></para><para>This is a customization of eContracts Core that cannot  be validated against the eContracts Reference Schema. There are no restrictions on this type of
customization, except that the integrity of the core patterns for item and block, including the loose, standard and tight content models found in
eContracts-core.rnc must be retained if the schema is to retain designation as part
of the eContracts Schema family. This class of customization may add new attributes
to existing elements, add new elements and new document
types.</para></listitem></orderedlist></para>
</section>
<section id="naming"><title id="naming.title">Naming conventions for eContracts Schema customizations</title>
<para>For an eContracts Subset customization, it is
strongly recommended that the name be in the form:<programlisting>eContracts-s-<emphasis>application-name</emphasis>.rnc</programlisting></para><para>For an eContracts Variant customization, the schema customizer should use a  name be in the form:<programlisting>eContracts-<emphasis>application-name</emphasis>.rnc</programlisting></para><para>If a customization is not an eContracts Subset or an eContracts Variant, it MUST not use "eContracts" as part of its name.</para>
</section>
<section><title>Changing content models in <filename>eContracts-core.rnc</filename></title>
<para><filename>eContracts-core.rnc</filename> should never be modified directly. All customizations must be undertaken in a customization layer similar to <filename>eContracts-Reference.rnc</filename>.</para>
</section>

<section id="l111"><title id="l111.title">Customizing for the loose, standard, and tight
models.</title>
<para>
This section explains, how to customize the schema, to configure for loose,
standard and tight models.  Each of these is done by changing the appropriate grammar element in the main schema file (similar to <filename>eContracts-Reference.rnc</filename>):
<table frame="all" colsep="1" rowsep="1"><title>Container Model
Customization  Table</title>
<tgroup cols="2" align="left">
<colspec colname="left" colwidth="1.0in"/>
<colspec colname="right" colwidth="3.5in"/>
<tbody>
<row>
<entry>element </entry><entry>Model to change</entry>
</row>

<row><entry>body</entry><entry>body.structure.model</entry></row>
<row><entry>back</entry><entry>back.structure.model</entry></row>
<row><entry>attachment</entry><entry>attachment.structure.model</entry></row>
<row><entry>item</entry><entry>item.structure.model</entry></row>
<row><entry>inclusion</entry><entry>inclusion.structure.model</entry></row>
</tbody>
</tgroup>
</table>
</para><para>
Each of these elements can use either the
<literal>tight.structure.model</literal>,
<literal>standard.structure.model</literal>, or <literal>loose.structure.model</literal>.
The following example sets all five text containers to use the tight structure
model:
<programlisting>
    body.structure.model        = tight.structure.model
    back.structure.model        = tight.structure.model
    attachment.structure.model  = tight.structure.model
    item.structure.model        = tight.structure.model
    inclusion.structure.model   = tight.structure.model
</programlisting>
</para></section>

<section id="Customization"><title id="Customization.title">Customization</title>
<para>
The <citation>Relax</citation>, Section 9.2,
shows how one can add to an attribute
list or grammar.

Customizations SHOULD be  added to the <filename>eContracts-Reference.rnc</filename>
or a renamed copy of that file.  Then, add the lines needed to
add the modifications you wish.  This is illustrated below.
(Some of the material from <filename>eContracts-Reference.rnc</filename> were removed
to save space.)
<example><title>Adding  attributes and elements to the item element </title>
<programlisting>
</programlisting>
</example>
The above shows how one can change to the tight model to add
two attributes, <sgmltag>a</sgmltag> and <sgmltag>b</sgmltag>
to the <sgmltag>item</sgmltag> element.  These
are added to <sgmltag>block.item.attlist.extensions</sgmltag>.
Note that <sgmltag>item</sgmltag> is defined in two different
places in <filename>eContracts-core.rnc</filename>
</para><para>
In addition, we added the <sgmltag>I1</sgmltag> and <sgmltag>I2</sgmltag> to
the <sgmltag>inclusion</sgmltag> element, by updating the <sgmltag>inclusion.class.attribute</sgmltag> and
<sgmltag>inclusion.attlist.extensions</sgmltag>, respectively.
It also adds the attribute <sgmltag>E</sgmltag> to all elements.
<example><title>Illustrates possible contract document after schema is customized.</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

 &lt;title&gt;
   &lt;text&gt;Data validate agaist Loose model based on Mr. Meyer's email on Aug20.&lt;/text&gt;
 &lt;/title&gt;

 &lt;body&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;block&gt;
   &lt;item b="4"&gt;&lt;/item&gt;
   &lt;item a="3"&gt;
     &lt;block&gt;&lt;text&gt;&lt;PaySomeone&gt;3212&lt;/PaySomeone&gt;&lt;/text&gt;&lt;/block&gt;
     &lt;block&gt;&lt;/block&gt;
   &lt;/item&gt;
   &lt;item E="5"&gt;
      &lt;inclusion I1="9"&gt;&lt;/inclusion&gt;
      &lt;inclusion I2="10"&gt;&lt;/inclusion&gt;
   &lt;/item&gt;
    &lt;/block&gt;
   &lt;block&gt; &lt;/block&gt;
 &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
<para>
If the schema customizer wishes to add a customization
to the <sgmltag>item</sgmltag>
that might appear directly within a <sgmltag>block</sgmltag>
tag,
they change <sgmltag>block.item.attlist</sgmltag>.
On the other hand, if one wishes to provide a customization
to an <sgmltag>item</sgmltag> that might appear anywhere else,
one adds it to <sgmltag>item.attlist.extensions</sgmltag>.
In examining the definition of <sgmltag>item</sgmltag> in
<filename>eContracts-core.rnc</filename>, one sees that
one can add new elements to <sgmltag>item</sgmltag> by
changing <sgmltag>item.structure.module</sgmltag>.
It would have "worked" if the schema customizer added attributes by changing
<sgmltag>common.attributes</sgmltag>, <sgmltag>item.class.attribute</sgmltag>,
<sgmltag>conditional.attributes</sgmltag>, <sgmltag>stop-contents.attribute</sgmltag>, <sgmltag>item.numbering.attributes</sgmltag>, and
<sgmltag>item.attlist.extensions</sgmltag>.
However, these have special meanings and most are used elsewhere.
Thus, the schema customizer SHOULD NOT make this change there.
As you can see, the schema often uses the convention,
<emphasis>element-name</emphasis><sgmltag>attlist.extensions</sgmltag>
to add attributes to <emphasis>element-name</emphasis>.
As another example, <sgmltag>attachment.attlist.extensions</sgmltag> is
where the schema customizer MAY put additional attributes that are to appear
in the <sgmltag>attachment</sgmltag> element.
Many elements also provide a customization opportunity
of the form <emphasis>element-name</emphasis><sgmltag>.class.list</sgmltag>
For example, the schema defines <sgmltag>inclusion.class.attribute</sgmltag>.
Also, the following elements have places to enter numbering
options:
<table frame="all" colsep="1" rowsep="1"><title>Container Model
Customization  Table</title>
<tgroup cols="2" align="left">
<colspec colname="left" colwidth="1.0in"/>
<colspec colname="right" colwidth="3.5in"/>
<tbody>
<row>
<entry>element </entry><entry>Label to change</entry>
</row>
<row><entry>attachment</entry><entry>attachment.numbering.attributes</entry></row>
<row><entry>back</entry><entry>back.numbering.attributes</entry></row>
<row><entry>background</entry><entry>background.numbering.attributes</entry></row>
<row><entry>block</entry><entry>block.numbering.attributes</entry></row>
<row><entry>contract</entry><entry>contract.numbering.attributes</entry></row>
<row><entry>entry</entry><entry>entry.numbering.attributes</entry></row>
<row><entry>inclusion</entry><entry>inclusion.numbering.attributes</entry></row>
<row><entry>item</entry><entry>item.numbering.attributes</entry></row>
</tbody></tgroup></table>



</para>
</section>
<section><title>Creating XSD and DTD files</title><para>
After customizing the RelaxNG files, it
may be necessary to create either an XML
Schema (XSD) or a DTD, depending on the requirements of the user application.
</para><para>
Trang is available from
www.thaiopensource.com/relaxng/trang.html</para><para>Trang is capable
of creating an XSD file for the
eContracts Schema. However, it will not create a DTD file for the eContracts Schema because of the
redefinition of the eContracts
<sgmltag>item</sgmltag> element in the
<sgmltag>block</sgmltag> context.  The DTD file must be customized
manually.
</para><para>
The command
to translate the schema to XSD using Trang is:
<programlisting>
java -jar trang.jar -I rnc -O xsd -o any-process-contents=lax -o
any-attribute-process-contents=lax -o disable-abstract-elements
eContracts-Standard.rnc
eContracts-Standard.xsd</programlisting><note><para>Each of <filename>trang.jar</filename>,<filename>eContracts-Standard.rnc</filename>, <filename>eContracts-Standard.xsd</filename> can be
specified as a full or relative file path to the actual location of the
file.  Also, the above command must be typed as one physical line.
</para></note></para></section>
</section>
<appendix><title>Contract Scenarios Considered by the eContracts TC</title>
<para>A range of scenarios were presented by TC members to represent their interests in
the TC's work. The main scenarios and the problems sought to be addressed are
summarized in these Case summaries.</para>
<section><title>Case 1 &ndash; On-line click through
transactions</title><para>Buyers of many goods and services must
accept contract terms shown online before they can complete their purchase.
Many of these contracts have ongoing effect.</para><para>The stated problems:</para><orderedlist numeration="loweralpha">

<listitem>
<para>Party's transacting
online may not know what contracts they have entered
into.</para></listitem>

 <listitem>
<para>They will have
great difficulty determining their obligations under those
contracts.</para></listitem>

<listitem>
<para>Consumers
cannot easily compare terms offered by different
providers.</para></listitem>
</orderedlist></section>


<section><title>Case 2 &ndash; Extraction of contract management
data</title><para>Many contracts, such as construction contracts
require parties to meet obligations and exercise rights at specified intervals
or on the occurrence of events over a long period.</para><para>The stated problems:</para><orderedlist numeration="loweralpha">
<listitem>
<para>There
are frequent disputes over change authorisation in construction contracts and
similar transactions where frequent variations occur.</para></listitem>

<listitem>
<para>It is difficult to ensure all parties have
reliable information about upcoming obligations under the
contract.</para></listitem>

<listitem>
<para>It is
difficult to extract terms and embedded data values from the contract into
content management systems.</para></listitem>

<listitem>
<para>It is difficult to access the content of external documents that
are incorporated into the contract.</para></listitem>

<listitem>
<para>There is no reliable way to determine the state of contract
events, obligations and processes.</para></listitem>

<listitem>
<para>It is difficult to monitor and analyse performance of parties over
extended time periods.</para></listitem>
</orderedlist></section>


<section><title>Case 3 &ndash; Contract precedent management and
contract drafting</title><para>Lawyers rely heavily on precedent
documents and documents from previous transactions when preparing new
documents. It is common for lawyers to use document assembly and variables
substitution systems when creating new documents.</para><para>The stated problems:</para><orderedlist numeration="loweralpha">

<listitem>
<para>Contract documents are created using word processing applications.
These documents can&rsquo;t easily be processed at convenient levels of granularity
by automated systems. Content components are not self describing.</para></listitem>

<listitem>
<para>In addition to legal maintenance, precedent documents must be
revised to deal with changing file formats and proprietary processing systems.
This adds to the cost of maintenance.</para></listitem>

<listitem>
<para>The absence of standard storage formats for
contract narrative terms and documents means that it is difficult to process
these documents outside the creating application. This creates proprietary ties
between data and software applications. It frustrates the use of off-the-shelf
tools.  It also inhibits automated document creation, information reuse, information
extraction and change traceability.</para></listitem>
</orderedlist></section>


<section><title>Case 4 &ndash; Represent contract semantics for
machine processing of contract terms</title>
<para>This case was
really another approach to Case 2. Various models have been developed to define
contract rights and obligations using formal languages that can be interpreted
by computer systems (deontic contract languages). Contracts using deontic contract language could be useful in various
contract management contexts from performance monitoring to dispute
resolution.</para>
<para>The stated problems:</para>
<orderedlist numeration="loweralpha">
<listitem>
<para>There is no standard deontic contract language
that can be used for a wide range of contracts.</para></listitem>


<listitem>
<para>There is no way to manage the relationship
between deontic contract language and the natural language
terms.</para></listitem>
</orderedlist>
</section>


<section><title>Case 5 &ndash; Define contract terms that would
apply to a computer negotiated contract</title>
<para>Contract negotiation is slow and expensive. The inefficiencies inherent in human
contract negotiation limit the value of the transaction, particularly where
rich parameter sets are involved. A program was developed by a member for
computer negotiation of contracts with defined parameters.</para>

<para>The stated problem: There is no standard way to map a given set of
negotiated contract parameters to a unique set of contract
terms.</para></section>

<section><title>Case 6 &ndash; Develop  a taxonomy for contract terms</title>
<para>Contract users at various stages in the contract life cycle and in various transactions
wish to be able to identify contract terms by their legal subject
matter.</para>
<para>The stated problem: There is no standard
framework for the description of contract terms using a taxonomy or other
controlled vocabulary to support contract negotiation, document assembly and
contract management.</para></section>


<section><title>Case 7 &ndash; Management of eCommerce contract terms</title>
<para>Electronic commerce transactions are governed
by a master contract. Current standards do not deal with the formation and
management of these contract terms.</para>
<para>The stated problems:</para>
<orderedlist numeration="loweralpha">
<listitem>
<para>In electronic commerce
transactions there is currently no way to map or validate electronic
transactions against their master agreement.</para></listitem>

<listitem>
<para>There may be no way to automatically determine if
there is a master agreement.</para></listitem>

<listitem>
<para>Human negotiation of bilateral master agreements is too time-consuming.</para></listitem>
</orderedlist>
</section>
<section>
<title>Scope analysis</title>


<section><title>Four domains of contract documentation</title>
<para>So as to understand the characteristics of contract documents that are common to the widest range of contract transactions, the TC divided contract
documentation into four domains.</para>
</section>
<section ><title>Natural language contract precedents  domain</title>

<section><title>Description</title>
<para>In law firms and many other environments, natural language contract terms are
prepared and stored as a library of terms or draft contracts that may be incorporated into
or used as a starting point for new contracts in many future transactions.
These stored terms are commonly called precedents or templates. Often, the
incorporation of these terms into new contract documents will involve the use
of information retrieval and automated document assembly or document creation
systems.</para>
<para>The natural language precedents domain covers a variety of cases considered by the TC:</para>
<orderedlist numeration="loweralpha">
<listitem>
<para>Precedents may provide the starting point for contracts in which the natural language terms are negotiated in detail between the parties.</para></listitem>

<listitem>
<para>Precedents may be used to generate contract documents with highly standardized transactions where there is little or no negotiation of natural language terms.</para></listitem><listitem>
<para>Precedents may be used to define standard terms for contracts created in on-line business to
consumer transactions.</para></listitem>


<listitem><para>Precedents may be used to generate contract documents that result from computer negotiated contracts.</para></listitem><listitem><para>Precedents may be required to provide human readable documents for contracts also represented in a deontic contract language.</para></listitem></orderedlist></section>
<section><title>Characteristics</title>
<para>Key characteristics of documents in the natural language precedents domain include:</para>
<orderedlist numeration="loweralpha">
<listitem>

<para>Contract precedents are usually maintained in back-end
systems for long periods of time. During that time, precedent terms often must
be updated in response to changes in the law and other
factors. processing. In addition, software versions and file formats for processing systems may
change. Current models based on word processing formats impose high long term maintenance costs and are inflexible for use with processing systems other than those used to create them.</para></listitem>



<listitem>
<para>Persons wanting
to use the contract terms need subject information (metadata) about individual terms to
facilitate access.</para></listitem>

<listitem>
<para>It may be necessary to render natural language terms in a wide variety of
output formats, including print, word processing formats and HTML.</para></listitem>

<listitem>
<para>Natural language  terms may be stored and processed as whole contract
documents or as components that may be assembled into whole contract
documents.</para></listitem>

<listitem>
<para>Enterprises
that maintain databases of contract terms and documents usually expend a great
deal of effort to provide for the accuracy and consistency of the stored terms
because of their central importance in effective service
delivery. They represent a major investment by their creators.</para></listitem>
</orderedlist>


</section>
<section><title>Scope assessment</title><para>Natural language precedents
can be maintained and processed into contract documents  in all the contract domains identified by the TC. The TC concluded that an XML schema that models natural language contract documents and terms would  benefit a wide range of enterprises who maintain
contract precedents. The use of a purpose designed XML model to facilitate better long term storage and automated processing of precedent contract documents could be highly advantageous to many of these enterprises.</para>
</section></section>


<section ><title>Contract drafting and negotiation domain</title>
<section><title>Description</title><para>The contract drafting and negotiation domain involves the day to day
preparation of original, contract narrative terms for specific transactions
between identified parties, as undertaken by lawyers and others. Once the contract is formed, transactions under these contracts may
be completed quickly or over many months or years. In the later case, the contract may govern the rights and obligations of the
parties during a complex set of events over a long period.</para>

</section>
<section><title>Characteristics</title>
<para>Currently, lawyers and other persons
who draft contracts do so with desktop word processing
software.
The TC concluded, that for the foreseeable future, there is little
likelihood that these people
will materially change the tools they use. It is
likely that word processing tools will begin to use XML file formats such
as the
Microsoft Office Open XML format (WordprocessingML) or
OASIS
OpenDocument. These word processing XML formats are presentation based
XML formats in which the semantics of the data is mainly represented in styles. Such semantics cannot be validated.</para>
<para>Lawyers and others who draft contract documents rely heavily on precedent documents and terms to provide complex wording and know how.</para><para>During the contract negotiation process, the parties may exchange drafts in electronic form. Currently this is done by exchanging word processing documents or PDFs. Based on the TC's expectation of continued use of word processing software by contract drafters, the TC does not expect this to change.</para>

</section>
<section><title>Scope assessment</title>
<para>The TC considered whether its schema should facilitate the exchange of contract data between parties to negotiations. The TC could not identify any basis for the foreseeable future in which the parties are likely to work with and exchange XML documents other than the word processing XML formats, as the use of those formats becomes more prevalent. The TC proposes that the eContracts Schema may be used for this purpose but this use is not expected to be commercially significant.</para><para>The TC considered whether parties to a contract may use an XML document as the formal record or artifact of the contract terms. The TC concluded that the parties to negotiated contracts are likely to continue to use printed documents and other electronic formats such as PDF for formal records of contract terms. The TC was not given any convincing use case for the contracting parties to use an XML document as the formal record of contract terms outside of electronic business transactions already governed by other standards. Those transactions are outside the scope of the TC's charter.</para><para>The TC considered
whether it could develop a standard that would involve adding additional
semantics to either or both of the common word processing XML formats. It concluded that the
value of this is unclear at this time. Lawyers and others involved in contract drafting
have little time or interest in adding markup to their documents. There is no
reason to expect them to do so unless it is required by their clients. Even if in
particular contexts they will do so, the TC could not decide whether it should
work with the Microsoft Office Open XML format or OpenDocument. In the market place, there is likely to be ongoing competition between these XML formats. The TC concluded that the use of a generic structural XML schema for use in the stored precedents domain would provide the greatest flexibility and enable users to transform precedents into any word processing XML format.</para>
<para>The TC considered
whether it should attempt to develop a metadata or embedded markup model for
use with one or both the word processing XML formats. The TC could not, at this time, identify
commercially practicable requirements for a specification covering the contract
drafting and negotiation domain.</para><para>The
TC concluded that this domain is best supported by a specification to facilitate the preparation, maintenance and use of natural language precedents to be used in the preparation of negotiated contracts.</para>
</section>
</section>

<section  ><title>Form contracts
domain</title>
<section><title>Description</title>
<para>This domain covers standard form contract documents in which there is little or no negotiation of contract terms. If negotiation occurs it is only to determine whether particular terms are included. It does not affect the natural language of any particular term. In on-line, business
to consumer transactions assent may be manifested via a &ldquo;clickwrap&rdquo; mechanism. In  cases where the contract document is printed, assent may occur by conduct or  by
signing a printed document as in many consumer finance and sale of goods
transactions.</para>
</section>
<section><title>Characteristics</title>
<para>Form contracts involve the use of standard natural language
terms. The only variables are
matters such as product description, quantity, price, delivery etc. In either
an on-line environment or off-line, the consumer or an agent of the service
provider enters transaction variables into a form to provide the additional
information required for the complete contract.</para><para>Many form contracts are likely to be generated from natural language precedents.</para>


</section>
<section><title>Scope assessment</title>
<para>The
TC did not identify business requirements specific to this domain. It concluded that this domain is best supported by a specification to facilitate the management of natural language precedents that can be used to generate form contracts in appropriate cases where there is potential to improve the presentation and management of contract terms for specific contracts.</para>
</section>
</section>




<section ><title>Contract management domain</title>

<section><title>Description</title>
<para>This domain covers the use of contract documentation after assent.
Information may be derived from the contract documents to support contract
management activities and dispute resolution. In this domain, contract documentation
could exist in natural language, deontic contract language or
in both forms.</para>
</section>
<section><title>Characteristics</title>
<para>Currently, information required by contract management systems must be manually extracted
from the contract documentation and entered into a database system. Alternatively, it is common in many
standardized transactions, that transaction data is held in a database and used
to generate standard form contract documents in the form contract domain. In those cases, there is no need to extract this data from a contract document.</para>
<para>An XML deontic contract language
could provide the means to communicate contract terms to a contract management system.
Such an XML document would be as the means to communicate contract terms to a contract management system. It is likely that only highly standardized contracts would be prepared in a deontic contract language. The TC concluded that it is likely that the natural language contract documents and deontic contract language documents would be separate.</para>


</section>
<section><title>Scope assessment</title>
<para>The TC considered that contract management
information could be extracted from information suitably defined by XML markup
in natural language contract documents or from contracts expressed in deontic contract
language. However, for this to be effective, authoritative contract documents must be prepared in XML.
</para><para>The TC decided it could not develop a deontic contracts langauge
at this time due to the
absence of involvement of commercial interests in such a language.
</para>
<para>
The TC concluded that it could only address the contract
management domain if it is likely that natural language contract documents
will be available in a suitable XML format. For the reasons considered in
connection with the contract drafting and negotiation domain, the TC considered
that XML documents are not likely to be used as the formal record of contract
terms, except in very specific situations.</para><para>In negotiated contracts the TC did not
identify any change from current practice where a print rendition is likely to
be the formal contract artifact. The XML document from which that contract is
generated may not contain all contract terms. Some terms may be altered by hand
on the printed document before signature.</para>
<para>Even in highly standardized transactions, the TC was not satisfied on the information
currently available that embedding markup for contract management purposes in
natural language contract documents was likely to be of practical benefit. It is just
as likely that contract management information will be maintained separately
from the contract document. This might be achieved using a separate XML
representation to facilitate communication between contract management database
systems.</para>

<para>The TC concluded that a specification covering stored precedents could provide benefits for the contract management domain for use with natural language contracts. It could provide the semantics to permit extraction of data values and other semantic information defined by the parties, if they so choose.</para>
</section>
</section>
</section>



</appendix>


<appendix id="Dictionary"><title id="Dictionary.title">Language Reference</title>


<section id="Common.Attributes"><title id="Common.Attributes.title">Common Attributes</title>
<para>These attributes occur on all elements.  They are summarized here once for brevity and
to make the attributes that occur on many elements stand out.

  </para><para>The <sgmltag>id</sgmltag> attribute allows an unique identifier to be added to any element in the contract. Note that this is defined as ID while references to it
are <emphasis role="bold">not</emphasis> currently defined  as an
IDREF.
This means that upon validation, there will be no error if a reference
to an ID
does not have a corresponding ID.   This allows one to validate
fragments of contract documents, particularly in clause libraries.
The schema customizer  MAY change this.
<programlisting>
    common.attributes =
            id.attributes

    id.attributes =
        attribute id { xsd:ID }?

    common.attributes &amp;= attribute xml:lang { xsd:string }?
</programlisting>
<informaltable>
<tgroup cols="3">
<colspec colname="Name" colwidth="2.0in"/>
<colspec colname="Type" colwidth="2.0in"/>
<colspec colname="Default" colwidth="2.0in"/>
<tbody>
<row><entry><para>Name</para></entry><entry><para>Type</para></entry><entry><para>Default</para></entry></row>
<row><entry><para>id</para></entry><entry><para>xsd:ID</para></entry><entry><para>none</para></entry></row>
<row><entry><para>xml:lang</para></entry><entry><para>xsd:string</para></entry>
<entry><para>none</para></entry></row>
</tbody></tgroup></informaltable>
</para><para>The xml:lang attribute is added by eContracts.standard.rnc. This semantics of this attribute are defined by the XML Specification [xml]. Please refer to that specification.</para>
</section>


<section id="Class.Attributes"><title id="Class.Attributes.title">Class Attributes</title>
<para>This is a generic class attribute and is applied
to all elements.  The intention is that this attribute is redefined
for specific needs on an element-by-element basis.
This attribute  is  given  here once for brevity and
to make the attributes that occur on many elements stand out.
<programlisting>

    standard.class = attribute class { xsd:string }?
</programlisting>
<informaltable>
<tgroup cols="3">
<colspec colname="Name" colwidth="2.0in"/>
<colspec colname="Type" colwidth="2.0in"/>
<colspec colname="Default" colwidth="2.0in"/>
<tbody>
<row><entry><para>Name</para></entry><entry><para>Type</para></entry><entry><para>Default</para></entry></row>
<row><entry><para>class</para></entry><entry><para>xsd:string</para></entry><entry><para>none</para></entry></row>
</tbody></tgroup></informaltable>
</para>
</section>


<section id="condition.attribute"><title id="condition.attribute.title">condition.attribute</title>
<para>
This is to enable conditional text.  See the <link linkend="conditions"><sgmltag>conditions</sgmltag></link> element for a description of this functionality.
This attribute  is  given  here once for brevity and
to make the attributes that occur on many elements stand out.
<programlisting>
    condition.attribute = attribute condition { xsd:string }?
</programlisting>
<informaltable>
<tgroup cols="3">
<colspec colname="Name" colwidth="2.0in"/>
<colspec colname="Type" colwidth="2.0in"/>
<colspec colname="Default" colwidth="2.0in"/>
<tbody>
<row><entry><para>Name</para></entry><entry><para>Type</para></entry><entry><para>Default</para></entry></row>
<row><entry><para>condition</para></entry><entry><para>xsd:string</para></entry><entry><para>none</para></entry></row>
</tbody></tgroup></informaltable>
</para></section>


<section id="orient.attribute"><title id="orient.attribute.title">orient.attribute</title>
<para>
This specifies whether the element contents should be rendered as
<sgmltag>portrait</sgmltag> or <sgmltag>landscape</sgmltag>:
<programlisting>
    orient.attribute = attribute orient {"portrait" | "landscape" }?
</programlisting>
<informaltable>
<tgroup cols="3">
<colspec colname="Name" colwidth="2.0in"/>
<colspec colname="Type" colwidth="2.0in"/>
<colspec colname="Default" colwidth="2.0in"/>
<tbody>
<row><entry><para>Name</para></entry><entry><para>Type</para></entry><entry><para>Default</para></entry></row>
<row><entry><para>orient</para></entry><entry><para>xsd:string</para></entry><entry><para></para></entry></row>
</tbody></tgroup></informaltable>
</para><para>
</para></section>

<section id="common.number.attribute">
<title id="common.number.attribute.title">common.number.attribute</title>
<para>
This allows the user to specify the number or other designator such as "a)" for <sgmltag>item</sgmltag>,
<sgmltag>attachment</sgmltag>, <sgmltag>inclusion</sgmltag> and
<sgmltag>note</sgmltag>.
<programlisting>
    common.number.attribute = attribute number { xsd:string }?
</programlisting>
<informaltable>
<tgroup cols="3">
<colspec colname="Name" colwidth="2.0in"/>
<colspec colname="Type" colwidth="2.0in"/>
<colspec colname="Default" colwidth="2.0in"/>
<tbody>
<row><entry><para>Name</para></entry><entry><para>Type</para></entry><entry><para>Default</para></entry></row>
<row><entry><para>number</para></entry><entry><para>xsd:string</para></entry><entry><para></para></entry></row>
</tbody></tgroup></informaltable>
</para><para>
</para></section>

<section id="stop-contents.attributes"><title id="stop-contents.attributes.title">Stop-Contents Attribute</title>
<para>
This stops the generation of table-of-contents entries for the elements
contained within this element.
<programlisting>
    stop-contents.attribute = attribute stop-contents { "below" }?
</programlisting>
<informaltable>
<tgroup cols="3">
<colspec colname="Name" colwidth="2.0in"/>
<colspec colname="Type" colwidth="2.0in"/>
<colspec colname="Default" colwidth="2.0in"/>
<tbody>
<row><entry><para>Name</para></entry><entry><para>Type</para></entry><entry><para>Default</para></entry></row>
<row><entry><para>stop-contents</para></entry><entry><para>xsd:string</para></entry><entry><para>below</para></entry></row>
</tbody></tgroup></informaltable>
</para>
</section>


<section id="address"><title id="address.title">address</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>address</sgmltag> has a mixed content model.
<programlisting>
address = element address {
    (inline.content | field)*,

    address.attlist
}

address.attlist =
        common.attributes,
        address.class.attribute,
        address.name.attribute,
        address.attlist.extensions

address.class.attribute =       standard.class
address.name.attribute =       attribute name { xsd:string }?
address.attlist.extensions =    empty


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
</programlisting>

address ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
text data (#PCDATA)</para></listitem><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This can contain an entire address (see example under
<link linkend="party"><sgmltag>party</sgmltag></link>).   Or it may contain part
of an address, with each part having an appropriate category (see
example below).
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
<section><title>Parents</title><para>
These elements contain <sgmltag>address</sgmltag>:
<link linkend="text"><sgmltag>text</sgmltag></link>,
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>address</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="party"><sgmltag>party</sgmltag></link> and
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Several address elements which together define all parts of an address</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of :
               - contract-front
               - parties
               - party
               - person-record
               - name
               - address
  &lt;/text&gt;&lt;/title&gt;

  &lt;contract-front&gt;

    &lt;parties&gt;
      &lt;party&gt;
        &lt;person-record&gt;
          &lt;name&gt;John Smith&lt;/name&gt;
          &lt;address class="street"&gt;2-198 Lamoine Avenue&lt;/address&gt;
          &lt;address class="city"&gt;Macomb&lt;/address&gt;&lt;address class="state"&gt;IL&lt;/address&gt;
        &lt;/person-record&gt;
      &lt;/party&gt;
    &lt;/parties&gt;

  &lt;/contract-front&gt;

  &lt;body&gt;&lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>
</section></section>



<section id="attachment"><title id="attachment.title">attachment</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
attachment = element attachment {
    metadata?, title?, subtitle*,
    (attachment.doctypes | attachment.structure.model)?,

    attachment.attlist
}

attachment.structure.model = loose.structure.model

attachment.attlist =
    common.attributes,
    common.number.attribute,
    attachment.class.attribute,
    orient.attribute,
    stop-contents.attribute,
    attachment.numbering.attributes,
    attachment.attlist.extensions

attachment.numbering.attributes =   empty
attachment.class.attribute =        standard.class
attachment.attlist.extensions =     empty
attachment.doctypes =               contract

## Tight structure model
tight.structure.model = inclusion*,
                ((block, inclusion*)+ | (item.reuse.model+, inclusion*))?



## Standard structure model
standard.structure.model = inclusion*, (block, inclusion*)*,
                 (item.reuse.model+, inclusion*)


## Loose structure model
loose.structure.model = (block | inclusion | item.reuse.model)*

    item.reuse.model |= xiInclude
</programlisting>




attachment ::=
<itemizedlist><listitem><para>
Sequence of <itemizedlist><listitem><para>
Zero or one
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></listitem><listitem><para>
Zero or one <link linkend="title"><sgmltag>title</sgmltag></link>
</para></listitem><listitem><para>
Zero or more
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>
</para></listitem><listitem><para>
Zero or one of:
<itemizedlist><listitem><para>
<link linkend="contract"><sgmltag>contract</sgmltag></link>
<itemizedlist><listitem><para>If loose model is selected, sequence of:
<itemizedlist><listitem><para>
Zero or more of:
<itemizedlist><listitem><para><link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para><link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem>
<listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
If standard model is selected, sequence of:
<itemizedlist><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem><listitem><para>
Zero or more sequences of
<itemizedlist><listitem><para>One <link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem></itemizedlist>
</para></listitem>
<listitem><para>Sequence of
<itemizedlist><listitem><para>One or more  <!-- X-->
choice of
<itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist> <!-- X close -->
</para></listitem></itemizedlist> <!-- itemizedlist after standard model -->
</para></listitem>



<listitem><para>If tight structure model is selected, sequence of
<itemizedlist><listitem><para>
Zero or more of <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem><listitem><para>
Zero or one of:
<itemizedlist>
<listitem><para>
One or more Sequences of
<itemizedlist><listitem><para>
One <link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
Sequence of <itemizedlist><listitem><para>
One or more sequences of <itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem><listitem><para>Zero or
more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist> <!--inlcusion *, block, inclusion*()+ -->
</para></listitem></itemizedlist> <!-- end of model -->
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />,
<link linkend="common.number.attribute" endterm="common.number.attribute.title" />,
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />,
<link linkend="orient.attribute" endterm="orient.attribute.title" />,
and <link linkend="stop-contents.attributes" endterm="stop-contents.attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This element is a container for a single attachment such as a
schedule, exhibit or appendix to the contract.
</para><para>
A key feature of the attachment is that it can contain a separate eContract
as well as the standard narrative structures.
This allows a contract to be included as an attachment to another
contract.
</para><para>
By default, this element uses the Loose structure model for narrative content.
The structure model used for the attachemnt element may be changed to one of the
other structure models defined in this file as part of a customization.

</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />,
<link linkend="common.number.attribute" endterm="common.number.attribute.title" />,
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />,
<link linkend="orient.attribute" endterm="orient.attribute.title" />,
<link linkend="stop-contents.attributes" endterm="stop-contents.attributes.title" />, and
<link linkend="common.number.attribute" endterm="common.number.attribute.title"/>
</para></section>

<section><title>Parents</title>
<para>
These elements contain
<sgmltag>attachment</sgmltag>:
<link linkend="attachments"><sgmltag>attachments</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>attachment</sgmltag>:
<link linkend="block" endterm="block.title" />,
<link linkend="contract"><sgmltag>contract</sgmltag></link>,
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>,
<link linkend="itemregular" endterm="itemregular.title" />,
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="title"><sgmltag>title</sgmltag></link>, and
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></section>
<section><title>Examples</title><para>
Please see <link linkend="attachments"><sgmltag>attachments</sgmltag></link>
</para></section></section></section>


<section id="attachments"><title id="attachments.title">attachments</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>

attachments = element attachments {

    attachment+,

    attachments.attlist
}


attachments.attlist =
    common.attributes,
    attachment.numbering.attributes,
    attachments.attlist.extensions

attachments.numbering.attributes =      empty
attachments.attlist.extensions = empty


attachments ::=
</programlisting>
<itemizedlist><listitem><para>
One or more <link linkend="attachment"><sgmltag>attachment</sgmltag></link>
</para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This is the container for one or more <link linkend="attachment"><sgmltag>attachment</sgmltag></link>
elements.
This element may be used to separate or group the attached content for automatic
number or layout purposes.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>
These elements contain <sgmltag>attachments</sgmltag>:
<link linkend="contract"><sgmltag>contract</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>attachments</sgmltag>:
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>
</para></section>
<section><title>See Also:</title>
<para><link linkend="object"><sgmltag>object</sgmltag></link>
and <link linkend="back"><sgmltag>back</sgmltag></link></para></section>
<section><title>Examples:</title>
<para>
<example><title>An attachments with a single attachment element</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of
               - attachments
               - attachment
               - title
               - block
               - text
  &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;&lt;/body&gt;

  &lt;attachments&gt;
    &lt;attachment class="appendix" id="a1" number="15"&gt;
      &lt;title&gt;&lt;text&gt;Form of notice in Schema files&lt;/text&gt;&lt;/title&gt;
      &lt;block&gt;&lt;text&gt;They must be sent regular mail.&lt;/text&gt;&lt;/block&gt;
      &lt;block&gt;&lt;text&gt;Standard Schema
          &lt;reference href="http://www.elkera.com" print-url="true"&gt;
can be read on the web easily!&lt;/reference&gt;.&lt;/text&gt;&lt;/block&gt;
    &lt;/attachment&gt;
 &lt;/attachments&gt;

&lt;/contract&gt;
</programlisting>
</example>
</para></section></section></section>



<section id="back"><title id="back.title">back</title>
<section><title>Synopsis</title>
<para>back -- contains elements that follows the body of the contract including
signatures.</para>
<section><title>Content model</title>
<para>
<programlisting>
back = element back {
    title?, ((back.structure.model | party-signature)* &amp; date-block?),

    back.attlist
}

back.structure.model = loose.structure.model


back.attlist =
    common.attributes,
    back.numbering.attributes,
    back.attlist.extensions


back.numbering.attributes =     empty
back.attlist.extensions =       empty




</programlisting>
</para>
<para>back ::=
<itemizedlist><listitem><para>
Sequence of
<itemizedlist><listitem><para>
One or more of <link linkend="title"><sgmltag>title</sgmltag></link>
</para></listitem><listitem><para>
Interleave of <itemizedlist><listitem><para>
Zero or more of
<itemizedlist><listitem><para>
<itemizedlist><listitem><para>If loose model is selected, sequence of:
<itemizedlist><listitem><para>
Zero or more of:
<itemizedlist><listitem><para><link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para><link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem>
<listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
If standard model is selected, sequence of:
<itemizedlist><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem><listitem><para>
Zero or more sequences of
<itemizedlist><listitem><para>One <link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem></itemizedlist>
</para></listitem>
<listitem><para>Sequence of
<itemizedlist><listitem><para>One or more  <!-- X-->
choice of
<itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist> <!-- X close -->
</para></listitem></itemizedlist> <!-- itemizedlist after standard model -->
</para></listitem>



<listitem><para>If tight structure model is selected, sequence of
<itemizedlist><listitem><para>
Zero or more of <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem><listitem><para>
Zero or one of:
<itemizedlist>
<listitem><para>
One or more Sequences of
<itemizedlist><listitem><para>
One <link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
Sequence of <itemizedlist><listitem><para>
One or more sequences of <itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem><listitem><para>Zero or
more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist> <!--inlcusion *, block, inclusion*()+ -->
</para></listitem></itemizedlist> <!-- end of model -->
</para></listitem><listitem><para>
<link linkend="party-signature"><sgmltag>party-signature</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem><listitem><para>
Zero or one <link linkend="date-block"><sgmltag>date-block</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title><para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title><para>
The <sgmltag>back</sgmltag> element contains content that follows the
main provisions of the contract, such as signatures
and other material.  Material found in the <sgmltag>back</sgmltag> is not
hierarchically part of the <sgmltag>body</sgmltag>.
</para><para>
By default, this element uses the loose structure model for
narrative content.  The structure model used for the back element may be chagned to one of the other structure modes defined in this file as part of
a customization.
</para>
<section><title>Attributes</title><para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>
These  elements contains <sgmltag>back</sgmltag>:
<link linkend="contract"><sgmltag>contract</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>
The following elements occur inside <sgmltag>back</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>,
<link linkend="itemregular" endterm="itemregular.title" />
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>, and
<link linkend="title"><sgmltag>title</sgmltag></link>
</para></section>
<section><title>Examples</title><para>
The following shows the <sgmltag>back</sgmltag> within a <sgmltag>contract</sgmltag> including one possible way that signature material could
appear.
<example><title>Back Tag with one signatory and their witness</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of :
               - back
               - party-signature
               - signatory-group
               - signatory-record
               - signatory
               - signatory-line
  &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;&lt;/body&gt;

  &lt;back&gt;

    &lt;party-signature&gt;

      &lt;signatory-group&gt;

        &lt;block&gt; &lt;/block&gt;

        &lt;signatory-record&gt;

          &lt;signatory id="T0001" xml:lang="ja"&gt;
            &lt;signature-line id="I0001" xml:lang="en_US"&gt;
              &lt;text&gt;Mr. Signatory Jr.&lt;/text&gt;
              &lt;field&gt;Field for a text.&lt;/field&gt;
            &lt;/signature-line&gt;
          &lt;/signatory&gt;

          &lt;witness&gt;
            &lt;signature-line id="I0002" xml:lang="fr"&gt;
              &lt;text&gt;Ms. Witness Arcole&lt;/text&gt;
              &lt;field&gt;Field for a text.&lt;/field&gt;
            &lt;/signature-line&gt;
          &lt;/witness&gt;

        &lt;/signatory-record&gt;

      &lt;/signatory-group&gt;

    &lt;/party-signature&gt;

  &lt;/back&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para></section>
</section>
</section>
<section id="background"><title id="background.title">background</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
background = element background {

    title?, item.reuse.model*,

    background.attlist
}

item.reuse.model = (item)
    item.reuse.model |= xiInclude


background.attlist =
    common.attributes,
    backgound.numbering.attributes,
    background.attlist.extensions


backgound.numbering.attributes =    empty
background.attlist.extensions =     empty

</programlisting>
background ::=
<itemizedlist><listitem><para>
Sequence of
<itemizedlist><listitem><para>
Zero or one <link linkend="title"><sgmltag>title</sgmltag></link>
</para></listitem><listitem><para>
Zero or more occurences of choice of:
<itemizedlist><listitem><para>
<link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This contains recitals and other "background" information.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para><sgmltag>background</sgmltag> appears inside:
<link linkend="contract-front"><sgmltag>contract-front</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>background</sgmltag>:
<link linkend="itemregular"><sgmltag>item</sgmltag></link>
<link linkend="title"><sgmltag>title</sgmltag></link>
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></section>
<section><title>Examples</title><para>
Please see
<link linkend="parties"><sgmltag>parties</sgmltag></link>.
</para></section></section></section>


<section id="block"><title id="block.title">block</title>
<para>block -- The container for a structural or grammatical paragraph.</para>
<section><title>Synopsis</title>
<section><title>Content model</title>
<para>
<programlisting>
block = element block {
            (block.level.elements |
                    element item {
                        metadata?, title?, (block | inclusion)*,
                        block.item.attlist
                    }
              )*,

    block.attlist
}


block.level.elements = text.container.element | definition | table | inclusion
text.container.element = \text


block.attlist =
    common.attributes,
    block.class.attribute,
    conditional.attributes,
    block.numbering.attributes,
    block.attlist.extensions


    conditional.attributes &amp;= condition.attribute

block.numbering.attributes =
    block.number.type


block.class.attribute = standard.class
block.number.type =     attribute number-type { ListItemNumberTypes }?

ListItemNumberTypes =   "manual"
                      | "none"
                      | "disc"
                      | "line"
                      | "number"
                      | "loweralpha"
                      | "upperalpha"
                      | "lowerroman"
                      | "upperroman"

block.attlist.extensions = empty

</programlisting>

block ::=
<itemizedlist><listitem><para>Zero or more of:
<itemizedlist><listitem><para><link linkend="text">text</link></para></listitem><listitem><para><link linkend="definition">definition</link>
</para></listitem><listitem><para>
<link linkend="table">table</link>
</para></listitem><listitem><para>
<link linkend="inclusion">inclusion</link>
</para></listitem><listitem><para>
<link linkend="block.item"><sgmltag>item</sgmltag> inside a <sgmltag>block</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="common.number.attribute" endterm="common.number.attribute.title"/>
</para><para>
Additional attributes:
<itemizedlist><listitem><para><sgmltag>number-type</sgmltag>(enumeration)
<itemizedlist><listitem><para>"manual"
</para></listitem><listitem><para>"none"
</para></listitem><listitem><para>"disc"
</para></listitem><listitem><para>"line"
</para></listitem><listitem><para>"number"
</para></listitem><listitem><para>"loweralpha"
</para></listitem><listitem><para>"upperalpha"
</para></listitem><listitem><para>"lowerroman"
</para></listitem><listitem><para>"upperroman"</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></section>
<section><title>Additional Constraints</title><para>

If this <sgmltag>block</sgmltag> contains a <sgmltag>number-type</sgmltag> =
<sgmltag>manual</sgmltag>, then
the contract writer SHOULD manually nubmer each list item
by putting a <sgmltag>number</sgmltag> attribute on each
of the item elements directly within this block.
</para>
</section>
</section>
<section><title>Description</title>
<para>
The <sgmltag>block</sgmltag> is the container element for
a structural or grammatical
paragraph.
The actual text data of
the paragraph is put in the <sgmltag>text</sgmltag> element.
</para><para>
Within a <sgmltag>block</sgmltag>, an <sgmltag>item</sgmltag> will be  considered
an element of a list.  A <sgmltag>block</sgmltag> MAY contain
the
<sgmltag>text</sgmltag> element directly, an <sgmltag>item</sgmltag>,
as well as <sgmltag>definition</sgmltag>, <sgmltag>table</sgmltag>,
<sgmltag>inclusion</sgmltag>, <sgmltag>party</sgmltag> or
<sgmltag>person-record</sgmltag>.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
Additional attributes:
<itemizedlist><listitem><para><sgmltag>number-type</sgmltag>
<sgmltag>number-type</sgmltag> indicates the type of numbering
or markers to be used on contained list items.
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><para>"manual"</para></entry><entry><para>The contract writer SHOULD
indicate list items by putting a <sgmltag>number</sgmltag> attribute on
each of the <sgmltag>item</sgmltag> tags directly enclosed within
this <sgmltag>block</sgmltag></para></entry></row>
<row><entry><para>"none"</para></entry><entry><para>
The application programmer SHOULD render list items without any marker or number.</para></entry></row>
<row><entry><para>"disc"</para></entry><entry><para>
The
application programmmer SHOULD render list items by a disc or bullet.
</para></entry></row>
<row><entry><para>"line"</para></entry><entry><para>
The application programmer SHOULD render listitems items marked by a line or dash.
</para></entry></row>
<row><entry><para>"number"</para></entry><entry><para>
The application programmer SHOULD render
list items proceeded by  numerals ('1', '2', '3', ...).
</para></entry></row>
<row><entry><para>"loweralpha"</para></entry><entry><para>
The application programmer should render list items proceeded by
'a', 'b', 'c', .... 'z', 'aa', 'ab', 'ac', 'ad' ... 'za', 'zb', 'zc'...'zz'
</para></entry></row>
<row><entry><para>"upperalpha"</para></entry><entry><para>
The application programmer should render list items
proceeded by 'A', 'B', 'C', ... 'Z', 'AA', 'AB', 'AC', 'AD'... 'ZA', 'ZB', ...'ZZZ'
</para></entry></row>
<row><entry><para>"lowerroman"</para></entry><entry><para>
The application programmer should render
list items as 'i', 'ii', 'iii', 'iv', ...
</para></entry></row>
<row><entry><para>"upperroman"</para></entry><entry><para>
The application programmmer should render list items proceeded by
upper case Roman numerals
('I', 'II', 'III', 'IV', ...)
</para></entry></row>
</tbody></tgroup></table>
</para></listitem></itemizedlist>
</para></section>
<section><title>Parents</title>
<para>
These elements contain <sgmltag>block</sgmltag>:
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>
<link linkend="definition"><sgmltag>definition</sgmltag></link>
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
<link linkend="itemregular"><sgmltag>item</sgmltag></link>
<link linkend="block.item" endterm="block.item.title" />,
<link linkend="note"><sgmltag>note</sgmltag></link>
<link linkend="party-signature"><sgmltag>party-signature</sgmltag></link>
<link linkend="signatory"><sgmltag>signatory</sgmltag></link>
<link linkend="signatory-group"><sgmltag>signatory-group</sgmltag></link>
<link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
<link linkend="witness"><sgmltag>witness</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>
The following elements in occur in <sgmltag>block</sgmltag>:
<link linkend="block.item" endterm="block.item.title" />,
<link linkend="definition"><sgmltag>definition</sgmltag></link>
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
<link linkend="block.item"><sgmltag>block.item</sgmltag></link>
<link linkend="table"><sgmltag>table</sgmltag></link>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></section>
<section><title>Examples</title><para>
See <link linkend="body" endterm="body.title" />.
</para></section></section>
</section>

<section id="body"><title id="body.title">body</title>
<section><title>Synopsis</title>
<para>body - The body of the contract</para>
<section><title>Content model</title>
<para>
<programlisting>
body = element body {

    title?, body.structure.model,

    body.attlist
}


body.structure.model = loose.structure.model

body.attlist =
    common.attributes,
    body.attlist.extensions

body.attlist.extensions = empty



## Tight structure model
tight.structure.model = inclusion*,
                ((block, inclusion*)+ | (item.reuse.model+, inclusion*))?



## Standard structure model
standard.structure.model = inclusion*, (block, inclusion*)*,
                 (item.reuse.model+, inclusion*)


## Loose structure model
loose.structure.model = (block | inclusion | item.reuse.model)*

item.reuse.model = (item)
    item.reuse.model |= xiInclude
</programlisting>
body ::=
<itemizedlist><listitem><para>Zero or one of
<itemizedlist><listitem><para>
<link linkend="title">title</link>

<itemizedlist><listitem><para>If loose model is selected, sequence of:
<itemizedlist><listitem><para>
Zero or more of:
<itemizedlist><listitem><para><link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para><link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem>
<listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
If standard model is selected, sequence of:
<itemizedlist><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem><listitem><para>
Zero or more sequences of
<itemizedlist><listitem><para>One <link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem></itemizedlist>
</para></listitem>
<listitem><para>Sequence of
<itemizedlist><listitem><para>One or more  <!-- X-->
choice of
<itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist> <!-- X close -->
</para></listitem></itemizedlist> <!-- itemizedlist after standard model -->
</para></listitem>



<listitem><para>If tight structure model is selected, sequence of
<itemizedlist><listitem><para>
Zero or more of <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem><listitem><para>
Zero or one of:
<itemizedlist>
<listitem><para>
One or more Sequences of
<itemizedlist><listitem><para>
One <link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
Sequence of <itemizedlist><listitem><para>
One or more sequences of <itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem><listitem><para>Zero or
more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist> <!--inlcusion *, block, inclusion*()+ -->
</para></listitem></itemizedlist> <!-- end of model -->
</para></listitem>
</itemizedlist>
</para></listitem>
</itemizedlist>
</para></section>

<section><title>Attributes</title><para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>A <sgmltag>body</sgmltag> must appear in the XML for
a contract document.
</para><para>
The body is a container to shield the main part of the
contract so items within it can be automatically numbered
and rendered independently of the other
parts of the contract.
</para><para>
By default, this element uses the loose structure model for narrative content.
The structure model used for the body may be changed to one of the other structure
models defined in this file as part of a customization.
</para>
<section><title>Parents</title>
<para>
These elements contain <sgmltag>body</sgmltag>:
<link linkend="contract"><sgmltag>contract</sgmltag></link>
</para>
</section>
<section><title>Children</title>
<para>
The following elements occur in body:
<link linkend="block" endterm="block.title" />,
<link linkend="inclusion" endterm="inclusion.title" />,
<link linkend="itemregular" endterm="itemregular.title" />,
<link linkend="title" endterm="title.title" />.
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>A valid body under the loose model</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

 &lt;title&gt;&lt;text&gt;Sample Loose model data&lt;/text&gt;&lt;/title&gt;

 &lt;body&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;item&gt;  &lt;/item&gt;
   &lt;item&gt;
     &lt;block&gt;&lt;/block&gt;
     &lt;item&gt; &lt;/item&gt;
     &lt;block&gt;&lt;/block&gt;
     &lt;item&gt; &lt;/item&gt;
   &lt;/item&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;item&gt;  &lt;/item&gt;
 &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para><para>
<example><title>A valid body under the standard model</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

 &lt;title&gt;&lt;text&gt;Sample Standard model data&lt;/text&gt;&lt;/title&gt;
 &lt;subtitle&gt;body is valid as standard model. back is not.&lt;/subtitle&gt;

 &lt;body&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;item&gt;  &lt;/item&gt;
   &lt;item&gt;  &lt;/item&gt;
 &lt;/body&gt;

 &lt;back&gt;
   &lt;item&gt;  &lt;/item&gt;
   &lt;item&gt;  &lt;/item&gt;
   &lt;block&gt; &lt;/block&gt;
   &lt;block&gt; &lt;/block&gt;
 &lt;/back&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para><para>
<example><title>A valid body under the tight model.</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

 &lt;title&gt;&lt;text&gt;Sample Tight model data&lt;/text&gt;&lt;/title&gt;

 &lt;body&gt;
   &lt;item&gt;
     &lt;block&gt;&lt;/block&gt;
     &lt;block&gt;&lt;/block&gt;
   &lt;/item&gt;
   &lt;item&gt;
     &lt;item&gt; &lt;/item&gt;
     &lt;item&gt; &lt;/item&gt;
   &lt;/item&gt;
 &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para></section>

</section>
</section>
<section id="citation"><title id="citation.title">citation</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
citation = element citation {
    inline.content,

    citation.attlist
}



inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field
    inline.content.inner |= conditional

citation.attlist =
    common.attributes,
    citation.attlist.extensions


citation.attlist.extensions = empty

</programlisting>
citation ::=
<itemizedlist><listitem><para>
Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
The citation is the name by which a referenced work is cited.
</para>
<section><title>Processing Expectations</title>
<para>It is expected that this text SHOULD be rendered in-line.
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>

<section><title>Parents</title>
<para>These
elements contain <sgmltag>citation</sgmltag>:
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>citation</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
See <link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></section>
</section></section>

<section id="colspec"><title id="colspec.title">colspec</title>
<section><title>Synopsis</title><para>
This is used to provide formatting  information and designators
for columns  within a <sgmltag>tgroup</sgmltag> of a table.
</para>
<section><title>Content Model</title>
<para>
<programlisting>
colspec = element colspec {
    empty,

    colspec.attlist
}

colspec.attlist =
    common.attributes,
    attribute colnum      { xsd:NMTOKEN }?,
    attribute colname     { xsd:NMTOKEN }?,
    attribute colwidth    { xsd:string }?,
    attribute colsep      { xsd:boolean }?,
    attribute rowsep      { xsd:boolean }?,
    attribute align       { TableAlign }?,
    colspec.attlist.extensions

colspec.attlist.extensions = empty

TableAlign = "left" | "right" | "center" | "justify"
</programlisting>

colspec is empty.
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
Additional Attributes:
<itemizedlist><listitem><para>
align
</para></listitem><listitem><para>
colname
</para></listitem><listitem><para>
colnum
</para></listitem><listitem><para>
colsep
</para></listitem><listitem><para>
colwidth
</para></listitem><listitem><para>
rowsep
</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
This is a column specification in a table.
This element and all other elements contained by <sgmltag>table</sgmltag>
are taken from OASIS Exchange Table Model.  Please refer to that specification
for full details of this element:
<citation>table1</citation>, <citation>table2</citation>.
</para><para>
The contract writer SHOULD provide one <sgmltag>colspec</sgmltag> for
each column of their
table.  The contract writer MAY provide a name (<sgmltag>colname</sgmltag>),
a number (<sgmltag>colnum</sgmltag>) to designate their column
as well as formatting information with its remaining attributes.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>Additional Attributes:
</para><para>
This section only provides
a brief description of each attribute's purpose.
Please refer to the OASIS Exchange Model for details and processing semantics for these attributes.
<variablelist>
<varlistentry><term>align</term> <listitem><para>
This is the default alignment for table cells within the column
defined by the colspec:

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.00in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>left</sgmltag></entry><entry><para>align to the left (default)</para></entry></row>
<row><entry><sgmltag>right</sgmltag></entry><entry><para>align to the right
</para></entry></row>
<row><entry><sgmltag>center</sgmltag></entry><entry><para>center the text</para></entry></row>
<row><entry><sgmltag>justify</sgmltag></entry><entry><para>justify the text</para></entry></row>
</tbody>
</tgroup>
</table>
</para></listitem></varlistentry>
<varlistentry><term>colname</term> <listitem><para>The name of the column</para></listitem> </varlistentry> <varlistentry><term>
colnum
</term> <listitem><para>The number of the column</para></listitem> </varlistentry>
<varlistentry><term>colsep</term> <listitem><para>
This controls the display of the column separator to the right
of this cell in the table.
</para></listitem> </varlistentry>
<varlistentry><term>colwidth</term> <listitem><para>The width of the column
</para></listitem></varlistentry>
<varlistentry><term>
rowsep</term> <listitem><para>
This controls the display of the row separator underneath this cell in
the table.
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>
These elements contain
<sgmltag>colspec</sgmltag>:
<link linkend="tgroup"><sgmltag>tgroup</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No elements occur inside <sgmltag>colspec</sgmltag>.</para></section>
<section><title>See Also</title>
<para>
Some of this information may be overriden in <link linkend="row"><sgmltag>row</sgmltag></link>
and <link linkend="entry"><sgmltag>entry</sgmltag></link>
elements.</para></section>
<section><title>Example</title><para>
Please see
<link linkend="table"><sgmltag>table</sgmltag></link>
</para></section></section></section>


<section id="Conditional"><title id="Conditional.title">conditional</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
Conditional has a mixed content model
<programlisting>
conditional = element conditional {
    inline.content,

    conditional.attlist
}


conditional.attlist =
        common.attributes,
        conditional.attributes,
        conditional.attlist.extensions


    conditional.attributes = empty
    conditional.attributes &amp;= condition.attribute

conditional.attlist.extensions = empty



inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
</programlisting>
conditional ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is for text that will only be included in some versions
of the document.  See
<link linkend="condition.meta"><sgmltag>condition.meta</sgmltag></link>
and <link linkend="conditions"><sgmltag>conditions</sgmltag></link>.

</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements contain conditional:
<link linkend="text"><sgmltag>text</sgmltag></link>
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside: <sgmltag>conditional</sgmltag>
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
See <link linkend="conditions"><sgmltag>conditions</sgmltag></link>.
</para>
</section>
</section></section>


<section id="condition.meta"><title id="condition.meta.title">
condition
</title>
<section><title>Synopsis</title>
<para>
This defines one of the required strings that must match
a <sgmltag>condition</sgmltag> attribute in a <link linkend="block" endterm="block.title" /> or similar element in order for that content to be included
in a particular instance of a contract.
</para>
<section><title>Content Model</title>
<para>
<sgmltag>condition</sgmltag> has a mixed content model.
<programlisting>
div {

    # add the conditions structure to the metadata element
    metadata.content &amp;=

        # define the conditions element and its children
        element conditions {

            element condition {
                text,

                attribute name { xsd:string },
                attribute default { xsd:boolean }?
            }+
        }?

}
</programlisting>
condition is empty
</para></section>
<section><title>Attributes</title><para>
<itemizedlist><listitem><para>"name"</para></listitem><listitem><para>"default"</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
The <sgmltag>condition</sgmltag> element is used to specify active conditions when rendering
conditional text.  The active <sgmltag>condition</sgmltag> is specified
using the <sgmltag>name</sgmltag> attribute of the
<sgmltag>condition</sgmltag> element.
See the <sgmltag>conditions</sgmltag> element for a full description of
this element.
</para>
<section><title>Attributes</title>
<para>
<variablelist>
<varlistentry><term>name</term> <listitem><para>
The value of this is matched against the list of strings in
a <link linkend="Conditional"><sgmltag>conditional</sgmltag></link>, which
is within the regular text or a <sgmltag>condition</sgmltag> attribute
on an element in the regular contract text.
</para></listitem> </varlistentry> <varlistentry><term>default</term> <listitem><para>This is a boolean <sgmltag>true</sgmltag> or <sgmltag>false</sgmltag>.
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>
These elements contain:
<sgmltag>condition</sgmltag>:
<link linkend="conditions"><sgmltag>conditions</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>No  elements occur inside <sgmltag>condition</sgmltag>.</para></section>
<section><title>See Also:</title><para>
<link linkend="Conditional" endterm="Conditional.title"/>.
</para></section>
<section><title>Examples</title><para>
See the two examples under <link linkend="conditions"><sgmltag>conditions</sgmltag></link>
</para></section>
</section>
</section>

<section id="conditions"><title id="conditions.title">conditions</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
    metadata.content &amp;=

        # define the conditions element and its children
        element conditions {

            element condition {
                text,

                attribute name { xsd:string },
                attribute default { xsd:boolean }?
            }+
        }?

</programlisting>
conditions ::=
<itemizedlist><listitem><para>
Zero or more
<itemizedlist><listitem><para><sgmltag>group</sgmltag>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title><para>none</para></section>
</section>
<section><title>Description</title><para>
The <sgmltag>conditions</sgmltag> element
may be used in the metadata to set the
values for active conditions on conditional
text in the contract.
</para><para>
When the conditional text functionality is activated in the eContracts schema, all eContracts
elements are given a <sgmltag>condition</sgmltag> attribute.
The <sgmltag>condition</sgmltag> attribute is used to specify a name for the
<sgmltag>condition</sgmltag> or <sgmltag>conditions</sgmltag> that must be
active before the processing application will output the element
in a rendered contract.
</para><para>
User applications may implement control of conditional
text differently,
possibly by storing the active conditions elment in a separate file, or
by
giving control to another application,
such as the rendering application.
This is left to the application programmer.
</para><para>
The <sgmltag>conditions</sgmltag> is provided as a simple mechanism for
controlling condtional text within a single
contract.  Some applications may prefer to implement control
of conditional text differently, possibly by
storing the active <sgmltag>conditions</sgmltag> element in a separate
file, or by giving control to another application,
such as the rendering application.  This is left to the application
developer.
</para><para>
The <sgmltag>condition</sgmltag> element is used to specify active condtions when rendering conditional text.  The active condition is specified using the
name attribute of the <sgmltag>condition</sgmltag> element.  For
example,
<programlisting>

&lt;contract&gt;
&lt;conditions&gt;&lt;condition name="US"&gt;United States&lt;/condition&gt;&lt;/conditions&gt;
...
&lt;block condition="US"&gt;&lt;text&gt;A jurisdiction-specific statement in the
contract.&lt;/text&gt;&lt;/block&gt;
&lt;block condition="AU"&gt;&lt;text&gt;A jurisdiction-specific statement in the contract.&lt;/text&gt;&lt;/block&gt;
&lt;/contract&gt;
</programlisting>
In this example, the statement for the US jurisdiction would be rendered by the processing
application.  The statement for the AU jurisidiction would not.
If the condition element's name
attribute
was changed so that
<sgmltag>&lt;condition name="AU"&gt; .. &lt;/condition&gt;</sgmltag>, only
the statement for the
AU jurisdiction would be rendered.  If the condition element was removed, neither of the phrases would
be rendered by the processing application.
</para><para>
An element can have multiple conditions set:
<programlisting>
&lt;block condition="US AU"&gt;
   &lt;text&gt;A statement specific to both US and AU jurisdictions&lt;/text&gt;
&lt;/block&gt;
</programlisting>
In this example,
the statement would be rendered when a <sgmltag>condition</sgmltag> element existed for either jurisdictions, i.e.,
</para>
<section><title>Attributes</title><para>none</para></section>

<section><title>Parents</title>
<para>
These elements contain <sgmltag>conditions</sgmltag>:
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>conditions</sgmltag>:
<link linkend="condition.meta" endterm="condition.meta.title" />
</para></section>
<section><title>See Also</title>
<para>
<link linkend="Conditional" endterm="Conditional.title" /> inside
a regular inline element.
</para></section>
<section><title>Examples</title><para>
See <link linkend="conditional" endterm="conditional.title" />
in
<link linkend="ContractDocumentStructure" endterm="ContractDocumentStructure.title" />

</para></section></section></section>

<section id="contract"><title id="contract.title">contract</title>
<section><title>Synopsis</title>
<para>
This is the root element of the eContracts schema.
</para>
<section><title>Content Model</title><para>
<programlisting>
contract = element contract {
    metadata?, title, subtitle*,
    contract-front?,
    body,
    back?,
    attachments*,

    contract.attlist
}


contract.attlist =
    common.attributes,
    contract.class.attribute,
    orient.attribute,
    contract.numbering.attributes,
    contract.attlist.extensions


contract.numbering.attributes = empty
contract.class.attribute =      standard.class
contract.attlist.extensions =   empty
</programlisting>

contract ::=
<itemizedlist><listitem><para>Sequence of
<itemizedlist><listitem><para>
Zero or one <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></listitem><listitem><para>
one <link linkend="title" endterm="title.title" />
</para></listitem><listitem><para>
Zero or more <link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>
</para></listitem><listitem><para>
Zero or one <link linkend="contract-front"><sgmltag>contract-front</sgmltag></link>
</para></listitem><listitem><para>
One <link linkend="body"><sgmltag>body</sgmltag></link>
</para></listitem><listitem><para>
Zero or one <link linkend="back"><sgmltag>back</sgmltag></link>
</para></listitem><listitem><para>
Zero or more <link linkend="attachments"><sgmltag>attachments</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
<link linkend="orient.attribute" endterm="orient.attribute.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This is the root element for any contract created using
the eContracts schema.
This element can also appear inside an attachment element to allow
a contract to be added as an attachment to the contract.
</para>
<section><title>Parents</title>
<para>
These elements may also contain contract:
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements
occur inside <sgmltag>contract</sgmltag>:
<link linkend="attachments"><sgmltag>attachments</sgmltag></link>
<link linkend="back"><sgmltag>back</sgmltag></link>
<link linkend="body"><sgmltag>body</sgmltag></link>
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>
<link linkend="title"><sgmltag>title</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
This illustrates the basic structure of a <sgmltag>contract</sgmltag>:
<example><title>Basic Structure of a Contract</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"&gt;

  &lt;title&gt;&lt;text&gt;Sample of the five elements at level 1 &lt;/text&gt;&lt;/title&gt;

  &lt;subtitle&gt;This file is to test : - title - sub-title - contract-front -
       date-block - parties - party - body - back -
              attachments - attachment
            &lt;/subtitle&gt;

  &lt;contract-front&gt;
     &lt;date-block&gt;
       &lt;date&gt;&lt;em&gt;Long time ago&lt;/em&gt;&lt;/date&gt;
     &lt;/date-block&gt;
     &lt;parties&gt;
       &lt;party&gt;&lt;/party&gt;
     &lt;/parties&gt;
  &lt;/contract-front&gt;

  &lt;body&gt;&lt;/body&gt;

  &lt;back&gt;&lt;/back&gt;

  &lt;attachments&gt;
    &lt;attachment&gt; &lt;/attachment&gt;
  &lt;/attachments&gt;

&lt;/contract&gt;


</programlisting>
</example>
Here is an example showing a minimal contract which would
consist have only a <sgmltag>title</sgmltag> and a <sgmltag>body</sgmltag>:
<example><title>A Minimal Contract</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;
 &lt;title&gt;&lt;text&gt;Minimum XML sample&lt;/text&gt;&lt;/title&gt;
 &lt;body&gt;
 &lt;/body&gt;
&lt;/contract&gt;
</programlisting>
</example>
</para>
</section>
</section>
</section>


<section id="contract-front"><title id="contract-front.title">contract-front</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>

contract-front = element contract-front {

    (((date-block?, parties) | block+), background?),

    contract-front.attlist
}


contract-front.attlist =
    common.attributes,
    contract-front.class.attribute,
    contract-front.attlist.extensions


contract-front.class.attribute =    standard.class
contract-front.attlist.extensions = empty
</programlisting>

contract-front::=
      <itemizedlist>
       <listitem><para>
Sequence of
         <itemizedlist><listitem>
<para>Choice of
<itemizedlist><listitem>
  <para>Sequence of
    <itemizedlist>
           <listitem><para>Zero or more <link linkend="date-block"><sgmltag>date-block</sgmltag></link>
           </para></listitem>
           <listitem><para>One <link linkend="parties"><sgmltag>parties</sgmltag></link>
           </para></listitem>
     </itemizedlist>
   </para></listitem>
   <listitem><para>
         One or more <link linkend="block"><sgmltag>block</sgmltag></link>
    </para></listitem>
</itemizedlist>
</para></listitem>

           <listitem><para>
Zero or one <link linkend="background"><sgmltag>background</sgmltag></link>
           </para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This contains the information that is
traditionally found at the beginning of
a contract that includes <sgmltag>date-block</sgmltag>, <sgmltag>parties</sgmltag>
and <sgmltag>background</sgmltag>.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>These elements
contain <sgmltag>contract-front</sgmltag>: <link linkend="contract"><sgmltag>contract</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>contract-front</sgmltag>:
<link linkend="background"><sgmltag>background</sgmltag></link>
<link linkend="block"><sgmltag>block</sgmltag></link>
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>
<link linkend="parties"><sgmltag>parties</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
<example><title>A contract-front with a date-block and parties.</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"&gt;

  &lt;title&gt;&lt;text&gt;Sample of the five elements at level 1 &lt;/text&gt;&lt;/title&gt;

  &lt;subtitle&gt;This file is to test : - title - sub-title - contract-front -
       date-block - parties - party - body - back -
              attachments - attachment
            &lt;/subtitle&gt;

  &lt;contract-front&gt;
     &lt;date-block&gt;
       &lt;date&gt;&lt;em&gt;Long time ago&lt;/em&gt;&lt;/date&gt;
     &lt;/date-block&gt;
     &lt;parties&gt;
       &lt;party&gt;&lt;/party&gt;
     &lt;/parties&gt;
  &lt;/contract-front&gt;

  &lt;body&gt;&lt;/body&gt;

  &lt;back&gt;&lt;/back&gt;

  &lt;attachments&gt;
    &lt;attachment&gt; &lt;/attachment&gt;
  &lt;/attachments&gt;

&lt;/contract&gt;


</programlisting>
</example>
<example><title>A contract front with a block of text</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt; &lt;text&gt;Sample of :
           - contract-front
           - block
           - text
           - citation
           - background
          &lt;/text&gt;
  &lt;/title&gt;

  &lt;contract-front&gt;
    &lt;block&gt;
      &lt;text&gt;Elkera Pty Limited is the original developer of the XML schema and
              accompanying documents
            described as the &lt;reference&gt;&lt;citation&gt;BNML Schema&lt;/citation&gt;
             &lt;/reference&gt;. The BNML Schema
            is designed to be adapted and extended for use in a wide variety
              of applications.
      &lt;/text&gt;
    &lt;/block&gt;
    &lt;background&gt; &lt;/background&gt;
  &lt;/contract-front&gt;

 &lt;body&gt; &lt;/body&gt;

&lt;/contract&gt;
</programlisting>
</example>
</para></section>
</section></section>
<section id="data"><title id="data.title">data</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
data = element data {
        data.content,

        data.attlist
}

data.content = empty

data.attlist =
        common.attributes,
        data.src.attribute,
        data.height.attribute,
        data.width.attribute,
        data.attlist.extensions


data.src.attribute =    attribute src { xsd:string }?
data.height.attribute = attribute height   { xsd:integer }?
data.width.attribute =  attribute width   { xsd:integer }?

data.attlist.extensions = empty

</programlisting>

</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
<itemizedlist><listitem><para><sgmltag>height</sgmltag></para></listitem><listitem><para><sgmltag>src</sgmltag></para></listitem><listitem><para><sgmltag>width</sgmltag></para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title>
<para>
This is used to reference the source
file and specify dimensions for a multimedia <sgmltag>object</sgmltag>,
particularly images.
</para>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<variablelist>
<varlistentry><term>height</term> <listitem><para>
This integer gives the height of the picture.  (Units are not
defined by this specification.)</para></listitem> </varlistentry> <varlistentry><term>src</term> <listitem><para>This
gives the file path or URI for the multimedia information.</para></listitem> </varlistentry> <varlistentry><term>width
</term> <listitem><para>
This integer gives the width of the picture.  (Units are not
defined by this specification.)</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para><sgmltag>data</sgmltag> appears inside: <link linkend="object"><sgmltag>object</sgmltag></link>
</para>
</section>
<section><title>Children</title>
<para>No elements occur inside <sgmltag>data</sgmltag>.
</para></section>
<section><title>See Also</title>
<para>
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
Please see <filename>fallback.XML</filename> under
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>
</para>
</section>
</section>
</section>
<section id="date"><title id="date.title">date</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>date</sgmltag> has a mixed content model.
<programlisting>
date = element date {
    (inline.content )*,

    date.attlist
}

date.attlist =
        common.attributes,
        date.class.attribute,
        date.name.attribute,
        date.attlist.extensions

date.class.attribute =      standard.class
date.name.attribute =       attribute name { xsd:string }?
date.attlist.extensions =   empty


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
</programlisting>

date ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem>
</itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is used to indicate a  date.  This schema does not specify the date format.
The application programmer or contract writer  may use a format that is appropriate to the
contract.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
<section><title>Parents</title><para>
These elements contain <sgmltag>date</sgmltag>:
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>
and
<link linkend="text"><sgmltag>text</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>date</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="address"><sgmltag>date-block</sgmltag></link>
<link linkend="name"><sgmltag>name</sgmltag></link>
<link linkend="field"><sgmltag>field</sgmltag></link>
<link linkend="party"><sgmltag>party</sgmltag></link>
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
See
the first example
inside <link linkend="contract"><sgmltag>contract</sgmltag></link>.
</para>
</section>
</section></section>


<section id="date-block"><title id="date-block.title">date-block</title>
 <section><title>Synopsis</title>
 <section><title>Content Model</title>
<para>
<sgmltag>date-block</sgmltag> has a mixed content model.
</para>
 <para>
<programlisting>
date-block = element date-block {
    (text.content.inner)*,

    date-block.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional

text.content = (text.content.inner)*
text.content.inner = inline.content.inner | object | term | phrase | field
                     | note | note-in-line | name | address | date | party | person-record


date-block.attlist =
    common.attributes,
    date-block.attlist.extensions

date-block.attlist.extensions = empty
</programlisting>


  date-block ::=
  <itemizedlist>
   <listitem>
    <para>Zero or More of
      <itemizedlist>
<listitem><para><link linkend="address" endterm="address.title" />
</para></listitem>
<listitem><para>
<link linkend="date"><sgmltag>date</sgmltag></link>
</para></listitem>
       <listitem><para><link linkend="em"><sgmltag>em</sgmltag></link></para></listitem>
       <listitem><para><link linkend="field"><sgmltag>field</sgmltag></link></para></listitem>
<listitem><para>
<link linkend="name"><sgmltag>name</sgmltag></link>
</para></listitem>
<listitem><para><link linkend="note"><sgmltag>note</sgmltag></link></para></listitem>
<listitem><para><link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>
</para></listitem>
<listitem><para><link linkend="object"><sgmltag>object</sgmltag></link>
</para></listitem>
       <listitem><para><link linkend="party"><sgmltag>party</sgmltag></link></para></listitem>
       <listitem><para><link linkend="person-record"><sgmltag>person-record</sgmltag></link></para></listitem>
<listitem><para>
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>
</para></listitem>
       <listitem><para><link linkend="reference"><sgmltag>reference</sgmltag></link></para></listitem>
       <listitem><para><link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link></para></listitem>
       <listitem><para><link linkend="strike"><sgmltag>strike</sgmltag></link></para></listitem>
       <listitem><para><link linkend="sub"><sgmltag>sub</sgmltag></link></para></listitem>
       <listitem><para><link linkend="sup"><sgmltag>sup</sgmltag></link></para></listitem>
<listitem><para><link linkend="term" endterm="term.title" />
</para></listitem>
      </itemizedlist>
    </para>
   </listitem>
  </itemizedlist>
 </para>
  </section>
 <section><title>Attributes</title>
  <para>
  <link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para>
 </section>
</section>
<section><title>Description</title>
<para>This is used to format a date on a separate line.</para>
<section>
<title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para>
</section>

<section><title>Parents</title>
<para>
These elements contain
 <sgmltag>date-block</sgmltag>:
  <link linkend="contract-front"><sgmltag>contract-front</sgmltag></link>
  and
<link linkend="back"><sgmltag>back</sgmltag></link>
 </para>
</section>
<section><title>Children</title>
 <para>The following elements occur inside <sgmltag>date-block</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
   <link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
   <link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note"><sgmltag>note</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="object"><sgmltag>object</sgmltag></link>,
   <link linkend="party"><sgmltag>party</sgmltag></link>,
   <link linkend="person-record"><sgmltag>person-record</sgmltag></link>,
<link linkend="phrase" endterm="phrase.title" />
   <link linkend="reference"><sgmltag>reference</sgmltag></link>,
   <link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
   <link linkend="strike"><sgmltag>strike</sgmltag></link>,
   <link linkend="sub"><sgmltag>sub</sgmltag></link>,
   <link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term" endterm="term.title" />
  </para>
</section>
<section><title>See Also</title><para><link linkend="parties"><sgmltag>parties</sgmltag></link></para></section>
<section><title>Example:</title><para>Please see
the first example in
<link linkend="contract"><sgmltag>contract</sgmltag></link>.</para></section>
</section>
</section>

<section id="dc:contributor"><title id="dc:contributor.title">dc:contributor</title>
<section><title>Synopsis</title>
<para>
A person, organization, service or other entity
which made a contribution to the content.
</para>
<section><title>Content Model</title>
<para>
<programlisting>
            element dc:contributor { xsd:string }* &amp;
</programlisting>
</para>
<para>dc:contributor ::= string
</para></section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>
A person, organization, service or other entity which made
a contribution to the content.
This element is taken from the Dublin Core Metadata Elemetn
Set <sgmltag>dc</sgmltag>.   Please refer to that specification
for a description of the semantics of this element.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>
<para>
These elements contain
<sgmltag>dc:contributor</sgmltag>:
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No  elements occur inside <sgmltag>dc:contributor</sgmltag>.</para></section>
<section><title>See Also</title><para><link linkend="dc:creator"><sgmltag>dc:creator</sgmltag></link>
<link linkend="dc:publisher"><sgmltag>dc:publisher</sgmltag>
</link></para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="dc:creator"><title id="dc:creator.title">dc:creator</title>
<section><title>Synopsis</title>
<para>
This is the name of the "entity primarily responsible for making
the content" of this contract.
</para>
<section><title>Content Model</title>
<para>
<programlisting>
            element dc:creator { xsd:string }* &amp;
</programlisting></para>

<para>dc:creator := string
</para></section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>This is the name of the "entity primarily responsible for making the content"
of this contract.
It may be a person, organization
or service.
This element is taken from the Dublin Core Metadata Element set <sgmltag>dc</sgmltag>.
Please refer to that specification for a description of
the semantics of this element.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>
<para><sgmltag>dc:creator</sgmltag> appears inside <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No  elements occur inside <sgmltag>dc:creator
</sgmltag>.</para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="dc:date"><title id="dc:date.title">dc:date</title>
<section><title>Synopsis</title>
<para>
A date associated with the "lifecycle" of the resource.
</para>
<section><title>Content Model</title>
<para><programlisting>
            element dc:date { xsd:date
                { pattern = "[0-9]{4}-[0-9]{2}-[0-9]{2}" }
            }? &amp;
</programlisting></para>
</section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>
This is formally described to be any date associated with the "lifecycle"
of the resource but typically it will be the date of creation or availability.
Its format will consist of a four-digit year, a dash,
a two-digit month, and a two-digit day of the month.
This element is taken from the Dublin Core Metadata Element set <sgmltag>dc</sgmltag>.
Please refer to that specification for a description of
the semantics of this element.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>
<para>
These elements contain
<sgmltag>dc:date</sgmltag>: <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No  elements occur inside <sgmltag>dc:date
</sgmltag>.</para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="dc:description"><title id="dc:description.title">dc:description</title>
<section><title>Synopsis</title>
<para>
A description of the contract.
</para>
<section><title>Content Model</title>
<para><programlisting>
            element dc:description { xsd:string } ? &amp;
</programlisting></para>
<para>dc:description ::= string
</para></section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>This is a description of the contract.
</para>
<para>This element appears within the <link linkend="metadata"><sgmltag>metadata</sgmltag></link>.
This element is taken from the Dublin Core Metadata Element set <sgmltag>dc</sgmltag>.
Please refer to that specification for a description of
the semantics of this element.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>dc:description</sgmltag>: <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No elements occur inside <sgmltag>dc:description</sgmltag>.</para></section>
<section><title>See Also</title><para><link linkend="dc:subject"><sgmltag>dc:subject</sgmltag></link></para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="dc:publisher"><title id="dc:publisher.title">dc:publisher</title>
<section><title>Synopsis</title>
<para>
The "entity responsible for making the resource available."
</para>
<section><title>Content Model</title>
<para><programlisting>
            element dc:publisher { xsd:string }? &amp;
</programlisting></para>
<para>dc:publisher ::= string
</para></section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>This element appears within the <link linkend="metadata"><sgmltag>metadata</sgmltag></link>.
This is the entity responsible for making the resource available.
This element is taken from the Dublin Core Metadata Element set <sgmltag>dc</sgmltag>.
Please refer to that specification for a description of
the semantics of this element.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>
<para>
These elements contain
<sgmltag>dc:publisher</sgmltag>: <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No  elements occur inside <sgmltag>dc:publisher</sgmltag>.</para></section>
<section><title>See Also</title><para><link linkend="dc:creator"><sgmltag>dc:creator</sgmltag>
</link></para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="dc:rights"><title id="dc:rights.title">dc:rights</title>
<section><title>Synopsis</title>
<para>
Intellectual Property rights, including copyright, for the text of this contract.
</para>
<section><title>Content Model</title>
<para><programlisting>
            element dc:rights { xsd:string }?
</programlisting></para>
<para>dc:rights ::= string
</para></section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>

Intellectual Property rights, including copyright, for the text
of this contract.
This element is taken from the Dublin Core Metadata Element set <sgmltag>dc</sgmltag>.
Please refer to that specification for a description of
the semantics of this element.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>
<para><sgmltag>dc:rights</sgmltag> appears inside <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No  elements occur inside <sgmltag>dc:rights</sgmltag>.</para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="dc:subject"><title id="dc:subject.title">dc:subject</title>
<section><title>Synopsis</title>
<para>
The subject matter of the contract.
</para>
<section><title>Content Model</title>
<para><programlisting>
            element dc:subject { xsd:string }? &amp;
</programlisting></para>
<para>
</para></section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>This is a description of the subject of the contract.
It may often be a list of key words or selected from a
"controlled vocabulary."
This element is taken from the Dublin Core Metadata Element set <sgmltag>dc</sgmltag>.
Please refer to that specification for a description of
the semantics of this element.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>

<para>The elements contain <sgmltag>dc:subject</sgmltag>: <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No  elements occur inside <sgmltag>dc:subject</sgmltag>.</para></section>
<section><title>See Also</title><para><link linkend="dc:description"><sgmltag>dc:description</sgmltag></link></para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="dc:title"><title id="dc:title.title">dc:title</title>
<section><title>Synopsis</title>
<para>
The title or name of the contract.
</para>
<section><title>Content Model</title>
<para><programlisting>
            element dc:title { xsd:string }? &amp;
</programlisting></para>
<para>dc:title := string
</para></section>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>
</section>
<section><title>Description</title>
<para>
The name given to the contract and will be the name by which it will
be formally known.
This element is taken from the Dublin Core Metadata Element set <sgmltag>dc</sgmltag>.
Please do not confuse this with the <link linkend="title"><sgmltag>title</sgmltag></link>
element
that is used throughout the rest of the contract.
</para>
<section><title>Attributes</title><para>This element has no attributes.</para>
</section>

<section><title>Parents</title>
<para>
These elements
contain <sgmltag>dc:title</sgmltag>: <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>No  elements occur inside <sgmltag>dc:title
</sgmltag>.</para></section>
<section><title>Examples</title><para>
Please see <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></section></section></section>
<section id="definition"><title id="definition.title">definition</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
definition = element definition {
    (term | terms), block+,

    definition.attlist
}

definition.attlist =
        common.attributes,
        definition.class.attribute,
        definition.attlist.extensions

definition.class.attribute =    standard.class
definition.attlist.extensions = empty
</programlisting>

definition ::=
<itemizedlist><listitem><para>
Sequence of
<itemizedlist><listitem><para>
Choice of
<itemizedlist><listitem><para>
  <link linkend="term"><sgmltag>term</sgmltag></link>
</para></listitem><listitem><para>
   <link linkend="terms"><sgmltag>terms</sgmltag></link>
</para></listitem></itemizedlist>
</para>
</listitem>
<listitem><para>One or more <sgmltag>block</sgmltag>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
</section>
<section><title>Description</title><para>
This is for a formal
definition
structure containing terms and
the text which defines their meaning.
One uses the <link linkend="terms"><sgmltag>terms</sgmltag></link>
when there are multiple terms  associated
with one meaning.
</para>
<section><title>Processing Expectations</title><para>
Each definition SHOULD appear on a separate line and MAY
appear with a hanging indentation.
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>

<section><title>Parents</title>

<para>These elements contain <sgmltag>definition</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>.
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>definition</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link> and
<link linkend="terms"><sgmltag>terms</sgmltag></link>
</para></section>
<section><title>
Examples</title>
<para>
See
<link linkend="field"><sgmltag>field</sgmltag></link>
and
<link linkend="term"><sgmltag>term</sgmltag></link>.
</para>
</section></section></section>
<section id="em"><title id="em.title">em</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>em</sgmltag> has a mixed content model.
<programlisting>
em = element em {
    inline.content,

    em.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
em.attlist =
        common.attributes,
        em.class.attribute,
        em.attlist.extensions

em.class.attribute =    standard.class
em.attlist.extensions = empty

</programlisting>

em ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
The content is emphasized in some way.
This specification does not specify
how.
Typically, the <sgmltag>class</sgmltag> attribute would
be redefined in a specific application to provide enumerated
emphasis types.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements contain <sgmltag>em</sgmltag>:
<link linkend="text"><sgmltag>text</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>em</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Example of some in-line elements including em</title>
<programlisting>
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of inline elements&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;The location to deliver &lt;em&gt;the item&lt;/em&gt;
    &lt;strike&gt;has to be one of &lt;statutory-em&gt;designated
    terminals.&lt;/statutory-em&gt;&lt;/strike&gt; will be any places.&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>
</section></section>


<section id="entry"><title id="entry.title">entry</title>
<section><title>Synopsis</title><para>This is a table cell.</para>
<section><title>Content Model</title><para>
<programlisting>
entry = element entry {
    entry.model,

    entry.attlist
}

entry.elements = block | item.reuse.model | inclusion | signature-line
entry.model = (entry.elements)*

item.reuse.model = (item)
    item.reuse.model |= xiInclude

entry.attlist =
    common.attributes,
    attribute colname    { xsd:NMTOKEN }?,
    attribute namest     { xsd:NMTOKEN }?,
    attribute nameend    { xsd:NMTOKEN }?,
    [a:defaultValue = "0"]
    attribute morerows   { xsd:NMTOKEN }?,
    attribute colsep     { xsd:boolean }?,
    attribute rowsep     { xsd:boolean }?,
    attribute align      { TableAlign }?,
    attribute valign     { TableValign }?,
    entry.numbering.attributes,
    entry.attlist.extensions


TableValign = "top" | "middle" | "bottom"

TableAlign = "left" | "right" | "center" | "justify"

entry.numbering.attributes =    empty
entry.attlist.extensions =      empty
    entry.attlist &amp;= attribute is-row-header {xsd:boolean}?
    entry.attlist &amp;= attribute abbreviation { xsd:string }?
</programlisting>
entry ::=
<itemizedlist><listitem><para>Zero or more of
<itemizedlist><listitem><para>
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="itemregular" endterm="itemregular.title" />
</para></listitem><listitem><para>
<link linkend="xi:include" endterm="xi:include.title" />
</para></listitem><listitem><para>
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="signature-line"><sgmltag>signature-line</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist></para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
Additional Attributes<itemizedlist><listitem><para>
align
</para></listitem><listitem><para>
colname
</para></listitem><listitem><para>colsep
</para></listitem><listitem><para>
morerows
</para></listitem><listitem><para>nameend
</para></listitem><listitem><para>
namest
</para></listitem><listitem><para>
rowsep
</para></listitem><listitem><para>
valign
</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
A cell in a table.
This element and all other elements contained by <sgmltag>table</sgmltag> are taken from the OASIS Exchange Table Model.
Please refer to that specification for full details of this element.
<citation>table1</citation>,<citation>table2</citation>
</para>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para>
<para>
This section only provides a brief description of each
attribute's purpose.  Please refer to the OASIS Exchagne Table Model for
details and processing semantics of these attributes.
</para><para>Additional Attributes:
<variablelist>
<varlistentry><term>abbreviation</term> <listitem><para>This attribute
is provided to expand an abbreviation found in the <sgmltag>entry</sgmltag>.
This attribute is provided to support the WAI Web Content
Accessibility Guidelines.
</para></listitem></varlistentry>
<varlistentry><term>align</term> <listitem><para>
The horizontal alignment for content contained in the cell.

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>left</sgmltag></entry><entry><para>align to the left (default)</para></entry></row>
<row><entry><sgmltag>right</sgmltag></entry><entry><para>align to the right
</para></entry></row>
<row><entry><sgmltag>center</sgmltag></entry><entry><para>center the text</para></entry></row>
<row><entry><sgmltag>justify</sgmltag></entry><entry><para>justify the text</para></entry></row>
</tbody>
</tgroup>
</table>
</para></listitem></varlistentry>
<varlistentry><term>colname</term> <listitem><para>The column
name of the entry.</para></listitem> </varlistentry> <varlistentry><term>colsep
</term> <listitem><para>
This controls the display of the column separator to the right of this cell
in the table.
</para></listitem> </varlistentry> <varlistentry><term>
namest
</term> <listitem><para>
The name of the first column in a column span.
</para></listitem> </varlistentry> <varlistentry><term>nameend</term> <listitem><para>
The name of the last column in a column span.
</para></listitem> </varlistentry>
<varlistentry><term>is-row-header</term> <listitem><para>This attribute indicates
the entry is a header for the row.  This attribute is provided to
support the WAI Web Content Accessibility Guidelines.
</para></listitem> </varlistentry>
<varlistentry><term>
morerows</term> <listitem><para>
The number of rows in a row span.
</para></listitem> </varlistentry> <varlistentry><term>rowsep</term> <listitem><para>
This controls the display of the row separator underneath this cell
in the table.
</para></listitem> </varlistentry> <varlistentry><term>
valign</term> <listitem><para>
The vertical alignment of the table cell.

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>top</sgmltag></entry><entry>Align content at the top of the cell</entry></row>
<row><entry><sgmltag>middle</sgmltag></entry><entry> Center content within the cell</entry></row>
<row><entry><sgmltag>bottom</sgmltag></entry><entry>Align content at the bottom of the cell.</entry></row>
</tbody>
</tgroup>
</table>
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>These elemetns contain <sgmltag>entry</sgmltag>:
<link linkend="row"><sgmltag>row</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>entry</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="itemregular" endterm="itemregular.title" />,
<link linkend="xi:include" endterm="xi:include.title" />,
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>, and
<link linkend="signature-line"><sgmltag>signature-line</sgmltag></link>
</para></section>

</section>
</section>

<section id="fallback"><title id="fallback.title">fallback</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>fallback</sgmltag> has a mixed content model.
</para><para>
<programlisting>
fallback = element fallback {
        (inline.content.inner | object)*,

        fallback.attlist
}



inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
fallback.attlist =
        common.attributes,
        fallback.attlist.extensions

fallback.attlist.extensions = empty
</programlisting>



fallback::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This contains the fallback content for an
<sgmltag>object</sgmltag>.
The fallback element is used as the fallback position
if an object cannot be rendered by a particular application.
If the application cannot retrieve, find or
render that object, it would go to the fallback element.
</para><para>
The <sgmltag>fallback</sgmltag> element can contain text data as well as other
objects.  This provides for nested <sgmltag>object</sgmltag>
elements allowing for a series of fallback positions.
The intention is that the rendering application
will fallback until it finds an object it can render.
To this end, the innermost <sgmltag>fallback</sgmltag> should always
be only text data.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>
These elements contain
<sgmltag>fallback</sgmltag>:  <link linkend="object"><sgmltag>object</sgmltag></link>.
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>fallback</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="data"><sgmltag>data</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
<example><title>an object with several recursive fallback elements</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of :
               - object
               - fallback
               - data
  &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;

      &lt;text&gt;

        &lt;object type="video/mpeg"&gt;
          &lt;data src="mympeg.mpeg" /&gt;
          &lt;fallback&gt;
            &lt;object type="image/png"&gt;
              &lt;data src="myimage.png" /&gt;
              &lt;fallback&gt;The alternate text that should be displayed if both
                        the video and image cannot be displayed.
              &lt;/fallback&gt;
            &lt;/object&gt;
          &lt;/fallback&gt;
        &lt;/object&gt;

      &lt;/text&gt;

    &lt;/block&gt;
  &lt;/body&gt;
&lt;/contract&gt;


</programlisting>
</example>
</para></section>
</section>
</section>


<section id="field"><title id="field.title">field</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
field = element field {
    text,

    field.attlist
}

field.attlist =
    common.attributes,
    field.class.attribute,
    field.label.attribute,
    field.name.attribute,
    field.type.attribute,
    field.source.attribute,
    field.action.attribute,
    field.length.attribute,
    field.attlist.extensions


field.class.attribute =     standard.class
field.label.attribute =     attribute label { xsd:string }?
field.name.attribute =      attribute name { xsd:string }?
field.type.attribute =      attribute type { xsd:string }?
field.source.attribute =    attribute source { xsd:string }?
field.action.attribute =    attribute action { xsd:string }?
field.length.attribute =    attribute length  { xsd:string }?

field.attlist.extensions =  empty

</programlisting>

field ::=
text (#PCDATA)
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
<para>
Additional attributes:
<itemizedlist><listitem><para><sgmltag>action</sgmltag>
</para></listitem><listitem><para>
<sgmltag>label</sgmltag>
</para></listitem><listitem><para>
<sgmltag>length</sgmltag>
</para></listitem><listitem><para>
<sgmltag>name</sgmltag>
</para></listitem><listitem><para>
<sgmltag>source</sgmltag>
</para></listitem><listitem><para><sgmltag>type</sgmltag>
</para></listitem></itemizedlist>
</para>
</section>
</section>
<section><title>Description</title>
<para>
A <sgmltag>field</sgmltag> is a generic element that can be used to mark up a unit of information
in the contract
that is either captured from the user,
inserted from a database, generated by a processing application such
as a cross reference tool, or extracted from the contract for
other uses, such as to populate a contract-management database.
</para><para>
Specific functionality is not provided for the <sgmltag>field</sgmltag>
element.
The design of the element provides hooks
to allow the application developer to implement functionality
according to the requirements of a specific application.
</para><para>
Typically, this element would be used for generating space on a printed
contract page where information, such as a date or signature,
may be written.
This may be rendered differently depending on the output format.
For example, in a printed contract, a space may be rendered.
In a web forms-based rendition,
the field may be rendered as a text input box, allowing the user to type
in a value.
</para><para>
An application will read the XML representation of the contract
document to extract information.  An example scenario would be a firm that
leases products from many different firms.   These firms provide
the lease document in XML
using this specification.  The company's management information systems
department writes an application to read each one and extracts the amount
to be paid each month.  This is used to update the accounts receivable and
liabilities section of the general ledger program.
</para><para>
Another scenario would be a firm generating form contracts from
database information.  An apartment complex has a table containing
for each apartment, the legal description of the apartment and
the monthly rent.  The contract XML would have <sgmltag>field</sgmltag>
elements for each of these
inputs.  Again, their MIS department would write an application.  In this
case, it would look for the appropriate tuple in the database.
It would replace the <sgmltag>field</sgmltag> elements by the
corresponding fields or columns from that tuple.
</para>


<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para><para>
Additional attributes:
<variablelist>
<varlistentry><term>
action</term> <listitem><para>
This is used to specify a statement relating to the type of processing
action that may be applied to the field by processing applications.
</para></listitem> </varlistentry> <varlistentry><term>
label
</term> <listitem><para>
This
is for display purposes.  For example, a form-based
graphical-user interface program could display a text box
for each <sgmltag>field</sgmltag> element it finds.  The <sgmltag>label</sgmltag>
attribute MAY be used to label this box so the user knows what
to put there.
</para></listitem> </varlistentry> <varlistentry><term>
length</term> <listitem><para>
This is used to specify the length of the field when the field
is used for data entry.  This specification does not
define the units of measurement.  The units of measurement used
are left to the application developer.
</para></listitem> </varlistentry> <varlistentry><term>
name</term> <listitem><para>
This is used to assign a name to the field for data extraction and
processnig purposes.  For example, if this application is extracting data from the
contract and putting it in a database, the
name may contain the name of the database column where the content of the
field is extracted
from or written to.
</para></listitem> </varlistentry> <varlistentry><term>
source</term> <listitem><para>
This is used to identify the source of the field information when the field is to
be populated by a processing application.
This could
be a SQL or XPATH query.
</para></listitem> </varlistentry> <varlistentry><term>
type</term> <listitem><para>
This is used to indicate the data type of the field.
This would typically be enumerated for a particular application.
This specification does not define field data types.
These are left to the application developer.
</para></listitem> </varlistentry></variablelist>
</para></section>
<section><title>Parents</title><para>
These elements contain <sgmltag>field</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>
<sgmltag>field</sgmltag> can only contain text data (#PCDATA)
</para></section>
<section><title>See Also</title>
<para>
<link linkend="note"><sgmltag>note</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="party"><sgmltag>party</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,  and
<link linkend="term"><sgmltag>term</sgmltag></link>.
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>The Payment Amount as a field.</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of field&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;In this licence:&lt;/text&gt;
      &lt;definition&gt;
        &lt;term&gt;BNML Standard Schema&lt;/term&gt;
        &lt;block&gt;
          &lt;text&gt;means the XML Schema called
Pay &lt;field source="ida" name="PaymentAmount"&gt;&lt;/field&gt;.
                .
          &lt;/text&gt;
        &lt;/block&gt;
      &lt;/definition&gt;
    &lt;/block&gt;
  &lt;/body&gt;
&lt;/contract&gt;


</programlisting>
</example>
</para>
</section>
</section></section>


<section id="inclusion"><title id="inclusion.title">inclusion</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>

inclusion = element inclusion {

    metadata?, title?, inclusion.structure.model,
    inclusion.attlist

}


inclusion.structure.model = loose.structure.model


## Tight structure model
tight.structure.model = inclusion*,
                ((block, inclusion*)+ | (item.reuse.model+, inclusion*))?



## Standard structure model
standard.structure.model = inclusion*, (block, inclusion*)*,
                 (item.reuse.model+, inclusion*)


## Loose structure model
loose.structure.model = (block | inclusion | item.reuse.model)*


    item.reuse.model |= xiInclude

inclusion.attlist =
    common.attributes,
    inclusion.class.attribute,
    common.number.attribute,
    inclusion.align.attribute,
    orient.attribute,
    inclusion.numbering.attributes,
    inclusion.attlist.extensions


inclusion.numbering.attributes =    empty
inclusion.class.attribute =         standard.class
inclusion.align.attribute =         attribute align { ShortAlignment }?

inclusion.clear.attribute =
            [a:defaultValue = "both"]
            attribute clear { ClearEnumValues }?

ClearEnumValues = "left" | "right" | "both"


inclusion.width.attribute = attribute width { xsd:string }?
inclusion.attlist.extensions = empty

</programlisting>


inclusion ::=
<itemizedlist><listitem><para>Sequence of <itemizedlist><listitem><para>
Zero or one <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></listitem><listitem><para>
Zero or more <link linkend="title"><sgmltag>title</sgmltag></link>
.</para></listitem><listitem><para>
<itemizedlist><listitem><para>If loose model is selected, sequence of:
<itemizedlist><listitem><para>
Zero or more of:
<itemizedlist><listitem><para><link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para><link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem>
<listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
If standard model is selected, sequence of:
<itemizedlist><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem><listitem><para>
Zero or more sequences of
<itemizedlist><listitem><para>One <link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem></itemizedlist>
</para></listitem>
<listitem><para>Sequence of
<itemizedlist><listitem><para>One or more  <!-- X-->
choice of
<itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist> <!-- X close -->
</para></listitem></itemizedlist> <!-- itemizedlist after standard model -->
</para></listitem>



<listitem><para>If tight structure model is selected, sequence of
<itemizedlist><listitem><para>
Zero or more of <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem><listitem><para>
Zero or one of:
<itemizedlist>
<listitem><para>
One or more Sequences of
<itemizedlist><listitem><para>
One <link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
Sequence of <itemizedlist><listitem><para>
One or more sequences of <itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem><listitem><para>Zero or
more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist> <!--inlcusion *, block, inclusion*()+ -->
</para></listitem></itemizedlist> <!-- end of model -->
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
<link linkend="orient.attribute" endterm="orient.attribute.title" />
<link linkend="common.number.attribute" endterm="common.number.attribute.title"/>
</para><para>Additional Attributes:
<itemizedlist><listitem><para>
align
</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
The inclusion element is a generic container element for content that is distinct
from the narrative, such as quotations, annotations, notes and examples.
It is also used to provide a title and number
on graphical objects and tables.
</para><para>
Typically, the <sgmltag>inclusion</sgmltag> element contains content that is separate from
the main contract provisions
for automatic number of layout purposes.
</para><para>
By default, the <sgmltag>inclusion</sgmltag> uses the loose structure model.
This model is very flexible and is able to mark up a variety of content
that may not conform to regular structures and where a more strict
structure is generally not necessary.  The structure model used
for the inclusion element may be
changed to one of the other structure models as part of a customization.
</para>
<section><title>Processing Expectations</title><para>
Hierarchical content inside the inclusion should use a separate number
sequence frmo the main contract hierarchy.
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
<link linkend="orient.attribute" endterm="orient.attribute.title" />
<link linkend="common.number.attribute" endterm="common.number.attribute.title"/>
</para><para>Additional Attributes:
<variablelist><varlistentry><term>align</term> <listitem><para>
This is the horizontal alighment for content within the inclusion
as given by <sgmltag>ShortAlignment</sgmltag>
pattern:
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry>left</entry><entry>The content of the <sgmltag>inclusion</sgmltag> is left aligned.</entry></row>
<row><entry>center</entry><entry>The content of the <sgmltag>inclusion</sgmltag> is
centered.</entry></row>
<row><entry>right</entry><entry>The content of the <sgmltag>inclusion</sgmltag> is right-aligned.</entry></row>
</tbody>
</tgroup></table>
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>inclusion</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>
<link linkend="entry"><sgmltag>entry</sgmltag></link>
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>,
<link linkend="back"><sgmltag>back</sgmltag></link>,
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link> and
<link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>inclusion</sgmltag>:

<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>,
<link linkend="itemregular"><sgmltag>item</sgmltag></link>,
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>,
<link linkend="title"><sgmltag>item</sgmltag></link>,
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></section>
<section><title>See Also:</title><para>
<link linkend="object"><sgmltag>object</sgmltag></link>
</para></section>
<section><title>Examples:</title><para>
<example><title>Two inclusion elements</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of 
               - item
               - num
               - block
               - inclusion
               - phrase
         &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;

    &lt;item number="2.1"&gt;

      &lt;block number-type="none"&gt;

        &lt;text&gt;BNML Standard consists of 6 BNML specific files and 
            2 files that incorporate external
            features into the application. 
            The bnml-standard is the main file which includes all of the
            other files:&lt;/text&gt;

        &lt;inclusion class="code-listing"&gt;
          &lt;block number-type="none"&gt;
            &lt;text&gt;/BNML Standard&lt;/text&gt;
            &lt;item&gt;
              &lt;block number-type="none"&gt;
                &lt;text&gt;/RelaxNG&lt;/text&gt;
                &lt;item&gt;
                  &lt;block&gt;
                    &lt;text&gt;bnml-standard.rnc&lt;/text&gt;
                    &lt;text&gt;bnml-document.rnc&lt;/text&gt;
                    &lt;text&gt;bnml-contract.rnc&lt;/text&gt;
                    &lt;text&gt;bnml-correspondence.rnc&lt;/text&gt;
                    &lt;text&gt;bnml-core.rnc&lt;/text&gt;
                    &lt;text&gt;bnml-structure.rnc&lt;/text&gt;
                    &lt;text&gt;dc-metadata.rnc&lt;/text&gt;
                    &lt;text&gt;xi-include.rnc&lt;/text&gt;
                  &lt;/block&gt;
                &lt;/item&gt;
              &lt;/block&gt;
            &lt;/item&gt;
          &lt;/block&gt;
        &lt;/inclusion&gt;

        &lt;inclusion class="example"&gt;
          &lt;block&gt; 
            &lt;text&gt;
              &lt;phrase class="code"&gt;bnml-s-application name.rnc&lt;/phrase&gt;
            &lt;/text&gt;
          &lt;/block&gt;
        &lt;/inclusion&gt;

      &lt;/block&gt;

    &lt;/item&gt;

  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para></section>
</section>
</section>

<section id="itemregular"><title id="itemregular.title">item (outside
of a block)</title>
 <section><title>Synopsis</title>
<para>
The <sgmltag>item</sgmltag> is the basic building block of the
document hierarchy and represents structures that may have a
title and a number.  These may be known in documents as
"chapters," "parts," "sections," "clauses" and "subclauses."</para>
  <section><title>Content Model</title>
   <para>
<programlisting>
item = element item {
    metadata?, title?, item.structure.model,
    item.attlist
}


item.structure.model = loose.structure.model
item.reuse.model = (item)


## Tight structure model
tight.structure.model = inclusion*,
                ((block, inclusion*)+ | (item.reuse.model+, inclusion*))?



## Standard structure model
standard.structure.model = inclusion*, (block, inclusion*)*,
                 (item.reuse.model+, inclusion*)


## Loose structure model
loose.structure.model = (block | inclusion | item.reuse.model)*

    item.reuse.model |= xiInclude

item.attlist =
    common.attributes,
    item.class.attribute,
    common.number.attribute,
    conditional.attributes,
    stop-contents.attribute,
    item.numbering.attributes,
    item.attlist.extensions


item.numbering.attributes =     empty
item.class.attribute =          standard.class
item.attlist.extensions =       empty
</programlisting>

item ::=
    <itemizedlist>
     <listitem>
      <para>Sequence of:
       <itemizedlist>
        <listitem>
         <para>Zero or one <link linkend="metadata"><sgmltag>metadata</sgmltag></link></para>
        </listitem>
       </itemizedlist>
<itemizedlist><listitem><para>If loose model is selected, sequence of:
<itemizedlist><listitem><para>
Zero or more of:
<itemizedlist><listitem><para><link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para><link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem>
<listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
If standard model is selected, sequence of:
<itemizedlist><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem><listitem><para>
Zero or more sequences of
<itemizedlist><listitem><para>One <link linkend="block"><sgmltag>block</sgmltag></link></para></listitem><listitem><para>Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link></para></listitem></itemizedlist>
</para></listitem>
<listitem><para>Sequence of
<itemizedlist><listitem><para>One or more  <!-- X-->
choice of
<itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link></para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist> <!-- X close -->
</para></listitem></itemizedlist> <!-- itemizedlist after standard model -->
</para></listitem>



<listitem><para>If tight structure model is selected, sequence of
<itemizedlist><listitem><para>
Zero or more of <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem><listitem><para>
Zero or one of:
<itemizedlist>
<listitem><para>
One or more Sequences of
<itemizedlist><listitem><para>
One <link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem><listitem><para>
Zero or more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem></itemizedlist>

</para></listitem><listitem><para>
Sequence of <itemizedlist><listitem><para>
One or more sequences of <itemizedlist><listitem><para><link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para></listitem>
<listitem><para><link linkend="xi:include"><sgmltag>xi:include</sgmltag></link></para></listitem>
</itemizedlist>
</para></listitem><listitem><para>Zero or
more <link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></listitem>
</itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist> <!--inlcusion *, block, inclusion*()+ -->
</para></listitem></itemizedlist> <!-- end of model -->
      </para>
     </listitem>
    </itemizedlist>
   </para>
   <para>
Zero or one <link linkend="title"><sgmltag>title</sgmltag></link>
   </para>
  </section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
<link linkend="condition.attribute" endterm="condition.attribute.title" />
<link linkend="stop-contents.attributes" endterm="stop-contents.attributes.title" />
</para>
</section>
</section>
<section><title>Description</title><para>
The <sgmltag>item</sgmltag> element is the basic building block of the
contract hierarchy.  It represents structures that may have
a titile or a number.
Commonly, such structures are known as provisions,
sections, clauses
and subclauses.
</para><para>
It also intended to represent items in a list.
The TC was careful not to use a name for elements that maches any
of that list so as to avoid confusion or biassing the reader's
idea of how they might be used: <citation>meyer03</citation>.
Please see
<link linkend="block.item" endterm="block.item.title" />
as <sgmltag>item</sgmltag> when it appears directly inside
a <sgmltag>block</sgmltag> as a list item.
</para><para>
The <sgmltag>item</sgmltag> is intended to be the basic re-usable element that can be inserted
almost anywhere in the document hierarchy.
</para><para>
The <sgmltag>item</sgmltag> element is typically added to an element's content
models by using the
<sgmltag>item.reuse.model</sgmltag>
pattern, defined above.  This pattern allows the content reuse features
of the schema to be used in
all content models where <sgmltag>item</sgmltag> occurs.
</para>

<section><title>Processing expectations</title><para>
If the <sgmltag>stop-contents</sgmltag> attribute is not used on a parent
or ancestor element, the item's number and title
SHOULD be presented
in the table of contents.  The item may be suppressed based upon its
<sgmltag>condition</sgmltag> attribute.
</para></section>

<section><title>Attributes</title><para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
<link linkend="condition.attribute" endterm="condition.attribute.title" />
<link linkend="stop-contents.attributes" endterm="stop-contents.attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements contain <sgmltag>item</sgmltag>:
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>,
<link linkend="back"><sgmltag>back</sgmltag></link>,
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link> and
<link linkend="itemregular"><sgmltag>item</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>
The following elements occur inside item:
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
<link linkend="itemregular"><sgmltag>item</sgmltag></link>,
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>,
<link linkend="title"><sgmltag>item</sgmltag></link>
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para>
</section>
</section>
</section>


<section id="block.item"><title id="block.item.title">item (inside a block)</title>
<section><title>Synopsis</title>
<para>This is the list item element.</para>
<section><title>Content Model</title>
<para>
<programlisting>


block = element block {
            (block.level.elements |
                    element item {
                        metadata?, title?, (block | inclusion)*,
                        block.item.attlist
                    }
              )*,

    block.attlist
}


block.level.elements = text.container.element | definition | table | inclusion
text.container.element = \text


block.attlist =
    common.attributes,
    block.class.attribute,
    conditional.attributes,
    block.numbering.attributes,
    block.attlist.extensions


block.numbering.attributes =
    block.number.type


block.class.attribute = standard.class
block.number.type =     attribute number-type { ListItemNumberTypes }?

ListItemNumberTypes =   "manual"
                      | "none"
                      | "disc"
                      | "line"
                      | "number"
                      | "loweralpha"
                      | "upperalpha"
                      | "lowerroman"
                      | "upperroman"

block.attlist.extensions = empty

</programlisting>

item ::=
<itemizedlist><listitem><para>Sequence of
<itemizedlist><listitem><para>Zero or one <link linkend="metadata"><sgmltag>metadata</sgmltag></link>
</para></listitem><listitem><para>
Zero or more of
<itemizedlist>
<listitem><para>
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem><listitem><para><link linkend="inclusion"><sgmltag>inclusion</sgmltag>
</link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />,
<link linkend="Class.Attributes" endterm="Class.Attributes.title" /> and
<link linkend="condition.attribute" endterm="condition.attribute.title" />
<link linkend="common.number.attribute" endterm="common.number.attribute.title"/>
</para>
</section>
</section>
<section><title>Description</title><para>
Relax NG supports the ability to define an element with a different
content model when it is directly under some other element.  That is,
it creates a context-sensitive grammar. See   <citation>sperberg</citation> and
<citation>Relax</citation>.
This feature is used only once in the grammar for this specification,
an <sgmltag>item</sgmltag> has a different definition inside a
<sgmltag>block</sgmltag> than when it appears in other elements.
</para>
<para>This is the list item element.  The list element is redefined in the schema
within the block context.  This constrains the content model to
allow only structures that would appear in list items.</para>

<section><title>Process Expectations</title><para>
The list item should be numbered or marked according to the
<sgmltag>number-type</sgmltag> attribute on the enclosing
<sgmltag>block</sgmltag> element.
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />,
<link linkend="Class.Attributes" endterm="Class.Attributes.title" /> and
<link linkend="condition.attribute" endterm="condition.attribute.title" />
</para>
</section>
<section><title>Parents</title><para>
These elements contain a list <sgmltag>item</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></section>
<section><title>Children</title><para>
The following elements occur inside  a list
<sgmltag>item</sgmltag>:
<link linkend="metadata"><sgmltag>metadata</sgmltag></link>,
<link linkend="title"><sgmltag>title</sgmltag></link>,
<link linkend="block"><sgmltag>block</sgmltag></link> and
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
</para></section>
<section><title>See Also</title><para><link linkend="itemregular" endterm="itemregular.title" /></para></section>
<section><title>Examples</title><para>
See
<link linkend="body"><sgmltag>body</sgmltag></link>.
</para></section>
</section>
</section>
<section id="metadata"><title id="metadata.title">metadata</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
metadata = element metadata {
    metadata.content,

    metadata.attlist
}

metadata.content = empty

metadata.attlist =
        common.attributes,
        metadata.attlist.extensions

metadata.attlist.extensions = empty


div {

    # add the condition attribute to all eContract elements.
    conditional.attributes &amp;= condition.attribute
    inline.content.inner |= conditional

    # add the conditions structure to the metadata element
    metadata.content &amp;=

        # define the conditions element and its children
        element conditions {

            element condition {
                text,

                attribute name { xsd:string },
                attribute default { xsd:boolean }?
            }+
        }?

}


    # add the condition attribute to all eContract elements.
    conditional.attributes &amp;= condition.attribute
    inline.content.inner |= conditional

    # add the conditions structure to the metadata element
    metadata.content &amp;=

        # define the conditions element and its children
        element conditions {

            element condition {
                text,

                attribute name { xsd:string },
                attribute default { xsd:boolean }?
            }+
        }?

</programlisting>

metadata ::=
<itemizedlist><listitem><para>
Zero or more instances of
<itemizedlist><listitem><para>
<link linkend="conditions"><sgmltag>conditions</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:contributor"><sgmltag>dc:contributor</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:creator"><sgmltag>dc:creator</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:date"><sgmltag>dc:date</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:description"><sgmltag>dc:description</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:publisher"><sgmltag>dc:publisher</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:rights"><sgmltag>dc:rights</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:subject"><sgmltag>dc:subject</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="dc:title"><sgmltag>dc:title</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This is a container for metadata.  Metadata
is currently defined to
include a number of basic  elements from the Dublin Core standard defined
in <filename>dc-metadata.rnc</filename> <citation>dc</citation>
and the <sgmltag>conditions</sgmltag> element.
</para><para>
It is intended that applications of  the eContract schema will customize the <sgmltag>metadata</sgmltag> element to provide values that are applicable to that application.
</para>
<section><title>Processing Expectations</title><para>
The information in <sgmltag>metadata</sgmltag>
tags SHOULD NOT be rendered in the normal narrative of the
contract document.  However, metadata values MAY be used in presentation,
such as for page headers and footers.
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>These elements contain
<sgmltag>metadata</sgmltag>:
<link linkend="attachment"><sgmltag>attachment</sgmltag> </link>,
<link linkend="block.item" endterm="block.item.title" />,
<link linkend="contract" ><sgmltag>contract</sgmltag></link>,
<link linkend="inclusion" ><sgmltag>inclusion</sgmltag></link>,
and
<link linkend="itemregular" ><sgmltag>item</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>metadata</sgmltag>:
<link linkend="conditions"><sgmltag>conditions</sgmltag></link>
<link linkend="dc:contributor"><sgmltag>dc:contributor</sgmltag></link>
<link linkend="dc:creator"><sgmltag>dc:creator</sgmltag></link>
<link linkend="dc:date"><sgmltag>dc:date</sgmltag></link>
<link linkend="dc:description"><sgmltag>dc:description</sgmltag></link>
<link linkend="dc:publisher"><sgmltag>dc:publisher</sgmltag></link>
<link linkend="dc:rights"><sgmltag>dc:rights</sgmltag></link>
<link linkend="dc:subject"><sgmltag>dc:subject</sgmltag></link>
<link linkend="dc:title"><sgmltag>dc:title</sgmltag></link>
</para></section>
<section><title>See Also:</title><para>
<link linkend="title"><sgmltag>title</sgmltag></link>
</para></section>
<section><title>Example</title>
<para>
<example><title>A metadata element showing several elements from the Dublin Core</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;metadata&gt;
    &lt;dc:title&gt;WIU CS Department notice 001&lt;/dc:title&gt;
    &lt;dc:creator&gt;Julie Sasa&lt;/dc:creator&gt;
    &lt;dc:contributor&gt;Keith Wallen&lt;/dc:contributor&gt;
    &lt;dc:subject&gt;Scope of licence&lt;/dc:subject&gt;
    &lt;dc:publisher&gt;WIU&lt;/dc:publisher&gt;
    &lt;!-- &lt;dc:date&gt;2005-09-20&lt;/dc:date&gt; --&gt;
    &lt;dc:rights&gt;Copyright, Elkera Pty Limited, 2005&lt;/dc:rights&gt;
  &lt;/metadata&gt;

  &lt;title&gt;&lt;text&gt;Sample of metadata and its child elements&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt; &lt;/body&gt;

&lt;/contract&gt;




</programlisting>
</example>

</para>
</section>
</section>
</section>




<section id="name"><title id="name.title">name</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>name</sgmltag> has a mixed content model.
<programlisting>
name = element name {
    (inline.content | field)*,

    name.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional

name.attlist =
        common.attributes,
        name.class.attribute,
        name.name.attribute,
        name.attlist.extensions

name.class.attribute =      standard.class
name.name.attribute =       attribute name { xsd:string }?
name.attlist.extensions =   empty
</programlisting>
name :=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This provides a
text content for a name of a person, organization or company.
It is often used in a party-record to mark up the name of the party
to a contract.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>name</sgmltag>:
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>, and
<link linkend="text"><sgmltag>text</sgmltag></link>
</para>
</section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>name</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also:</title><para>
<link linkend="address"><sgmltag>address</sgmltag></link>
<link linkend="name"><sgmltag>name</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
See
<link linkend="address"><sgmltag>address</sgmltag></link>
and
<link linkend="parties"><sgmltag>parties</sgmltag></link>
</para></section>
</section></section>


<section id="note"><title id="note.title">note</title>
<section><title>Synopsis</title>
<para>This is a footnote or endnote.</para>
<section><title>Content Model</title>
<para>
<programlisting>
note = element note {
    block+,

    note.attlist
}

note.attlist =
        common.attributes,
        note.class.attribute,
        common.number.attribute,
        note.attlist.extensions

note.class.attribute =      standard.class
note.attlist.extensions =   empty
</programlisting>

note ::=
<itemizedlist><listitem><para>Sequence of <itemizedlist><listitem><para>
</para></listitem><listitem><para>
One or more <link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
,
<link linkend="common.number.attribute" endterm="common.number.attribute.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This is used for a foot note, end note or other type of note.  These
would be notes that are NOT rendered in line with its surrounding
text.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>These elements
contain <sgmltag>note</sgmltag>:
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>
and
<link linkend="text" endterm="text.title" />
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>note</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>
</para>
</section>
<section><title>Example</title>
<para>
<example><title>Two notes and a note-in-line</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of note and note-in-line.&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;

    &lt;block&gt;
      &lt;text&gt;Send me a shirt.
             &lt;note-in-line&gt;standard size.&lt;/note-in-line&gt;&lt;/text&gt;
    &lt;/block&gt;

    &lt;block&gt;
      &lt;text&gt;Send me desks as listed below.
        &lt;note number="1"&gt;&lt;block&gt;&lt;item&gt;&lt;/item&gt;&lt;/block&gt;&lt;/note&gt;
        &lt;note number="2"&gt;&lt;block&gt;&lt;item&gt;&lt;/item&gt;&lt;/block&gt;&lt;/note&gt;
      &lt;/text&gt;
    &lt;/block&gt;

  &lt;/body&gt;

&lt;/contract&gt;


</programlisting>
</example>
</para></section>
</section>
</section>

<section id="note-in-line"><title id="note-in-line.title">note-in-line</title>
<section><title>Synopsis</title>
<para>
This is for notes that are kept inline with surrounding text.
</para>
<section><title>Content Model</title>
<para>
<sgmltag>note-in-line</sgmltag> has a mixed content model.
<programlisting>
note-in-line = element note-in-line {
    inline.content,

    note-in-line.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
note-in-line.attlist =
        common.attributes,
        note-in-line.class.attribute,
        note-in-line.attlist.extensions

note-in-line.class.attribute =      standard.class
note-in-line.attlist.extensions =   empty

</programlisting>
note-in-line ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is for notes that are kept inline with surrounding text.
</para>
<section><title>Processing Expectations</title>
<para>
This SHOULD be rendered so the text comprising the <sgmltag>note-in-line</sgmltag>
can be easily distinguished from the other text surrounding it.
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements contain <sgmltag>note-in-line</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>
The following elements
occur inside: <sgmltag>note-in-line</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="note"><sgmltag>note</sgmltag></link>
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Two notes and a note-in-line</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of note and note-in-line.&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;

    &lt;block&gt;
      &lt;text&gt;Send me a shirt.
             &lt;note-in-line&gt;standard size.&lt;/note-in-line&gt;&lt;/text&gt;
    &lt;/block&gt;

    &lt;block&gt;
      &lt;text&gt;Send me desks as listed below.
        &lt;note number="1"&gt;&lt;block&gt;&lt;item&gt;&lt;/item&gt;&lt;/block&gt;&lt;/note&gt;
        &lt;note number="2"&gt;&lt;block&gt;&lt;item&gt;&lt;/item&gt;&lt;/block&gt;&lt;/note&gt;
      &lt;/text&gt;
    &lt;/block&gt;

  &lt;/body&gt;

&lt;/contract&gt;


</programlisting>
</example>
</para>
</section>
</section></section>


<section id="object"><title id="object.title">object</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
object = element object {
    data, fallback,

    object.attlist
}


object.attlist =
    common.attributes,
    object.type.attribute,
    object.scale.attribute,
    object.rotate.attribute,
    object.attlist.extensions


object.type.attribute =     attribute type { xsd:string }?
object.scale.attribute =    attribute scale   { xsd:string }?
object.rotate.attribute =   attribute rotate  { xsd:string }?

object.attlist.extensions = empty
</programlisting>


object ::=
<itemizedlist><listitem><para>Sequence of <itemizedlist><listitem><para>
<link linkend="data"><sgmltag>data</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="object"><sgmltag>object</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para><para>Additional Attributes:<itemizedlist><listitem><para>
<sgmltag>type</sgmltag></para></listitem><listitem><para><sgmltag>scale</sgmltag></para></listitem><listitem><para><sgmltag>rotate</sgmltag></para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title>
<para>
The object element is a container element for external objects such as
images
and other multimedia files.
</para><para>
An object can contain
one <sgmltag>data</sgmltag> and one <sgmltag>fallback</sgmltag>
element.
The <sgmltag>data</sgmltag> element indicates the
source of the object and the <sgmltag>fallback</sgmltag> element contains the fallback position if a particular application cannot render
the object.
</para><para>
The <sgmltag>type</sgmltag> attribute MUST be a MIME content type (e.g. image/png), and the <sgmltag>data</sgmltag> element MUST point
to a valid location from which the object may be
accessed.
</para>
<section><title>Processing Expectations</title>
<para>
The data  element indicates the source of the object, e. g. a file
name or URL.  It is possible that the application may not be able
to locate the object or may not be able to render it once
reached.  For example, the application may not know how to deal
with a format or the network may fail or the object data might
be corrupted.  If so, the <sgmltag>fallback</sgmltag> contains
the item or text to be displayed.  As discussed under <sgmltag>fallback</sgmltag>, this may be a cascading or recursive set of fallbacks.
</para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para><para>
Additional Attributes:
<itemizedlist>
<listitem><para>
<sgmltag>rotate</sgmltag>:
This is used to rotate the object.  This attribute typically contains the
degrees of anti-clockwise rotation applied to the object.
</para></listitem>
<listitem><para>
<sgmltag>scale</sgmltag>:
This is used to scale the object.
This specification
does not state how this should be written.
</para></listitem>
<listitem><para><sgmltag>type</sgmltag>:
This specifies the MIME type of the object, e. g.
<literal>Image/Jpeg</literal> or <literal>Audio/Basic</literal>
<citation>Grand93</citation>
</para></listitem>
</itemizedlist>
</para></section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>object</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note"><sgmltag>note</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="object"><sgmltag>object</sgmltag></link>,
<link linkend="party"><sgmltag>party</sgmltag></link>,
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>

</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>object</sgmltag>:
<link linkend="data"><sgmltag>data</sgmltag></link>
and <link linkend="fallback"><sgmltag>fallback</sgmltag></link>
</para></section>
<section><title>Example</title>  <para>Please see <link linkend="fallback"><sgmltag>fallback</sgmltag></link>.
</para></section>
</section></section>
<section id="parties"><title id="parties.title">parties</title>
<section><title>Synopsis</title>
<para>The <sgmltag>parties</sgmltag> element contains the parties to the contract.
</para>
<section><title>Content Model</title>
<para>
<programlisting>
parties = element parties {

    title?, party+,

    parties.attlist
}


parties.attlist =
    common.attributes,
    parties.class.attribute,
    parties.attlist.extensions


parties.class.attribute =    standard.class
parties.attlist.extensions = empty
</programlisting>
parties ::=
<itemizedlist><listitem><para>
Sequence of <itemizedlist><listitem><para>Zero or one <link linkend="title"><sgmltag>title</sgmltag></link>
</para></listitem><listitem><para>
One or more <link linkend="party"><sgmltag>party</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
The <sgmltag>parties</sgmltag> contains the parties to the contract.
</para><para>
In some jurisdictions, such as Australia, New Zealand and the UK, it is common to layout the
parties to a contract on separate lines under a Parties title.
For example:
</para><para>
This agreement is made on the ___ day of ___
</para><para>
between the
</para><para>
first party (short-name)
</para><para>
and
</para><para>
second party (short-name)
</para><para>
<citation>crc</citation>, <citation>harrop03</citation>, <citation>oxford</citation>.
</para>
<para>In US contracts, this is not so common.
In the US cases, the <sgmltag>parties</sgmltag>
element may not be required.
For example:
</para><para>
This contract is made and entered into between
<emphasis>first party</emphasis>, hereinafter referred to as
"<emphasis>short-name</emphasis>"
and <emphasis>second party</emphasis>, hereinafter referred to as
"<emphasis>short-name</emphasis>"
</para><para>
Or taking the form from the American Institute of Architects standard
contract:
</para><para>
AGREEMENT made as of the day of in the year
</para><para>
BETWEEN the <emphasis>short-name</emphasis>:
</para><para>
<emphasis>name and address</emphasis>
</para><para>
and the <emphasis>short-name</emphasis>:
</para><para>
<emphasis>name and address</emphasis><citation>
aia</citation>
</para>
<para>
the <emphasis>short-name</emphasis> is then used throughout
the contract.  For example, one might write that "Acme Business Systems, Inc."
would be referred to as "the Company" hereinafter.
</para><para>
The <sgmltag>party</sgmltag> element may be used directly inside
<sgmltag>block</sgmltag> for US contracts.
</para>
<section><title>Processing Expectations</title>
<para>
The title SHOULD appear
at the top
with the information for each party on a separate line.
</para><para>
Below is an example of how the front
might look for such a contract.  Please note that this does NOT match
any of the xml examples provided:

<mediaobject>
<imageobject id="Party">
<objectinfo><title id="Party.title">Party</title></objectinfo>
<imagedata fileref="Party.GIF" format="GIF"/>
</imageobject>
<caption><para>Party </para></caption>
</mediaobject>
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>parties</sgmltag>:
<link linkend="contract-front"><sgmltag>contract-front</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>parties</sgmltag>:
<link linkend="title"><sgmltag>title</sgmltag></link>
and
<link linkend="party"><sgmltag>party</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para><link linkend="party"><sgmltag>party</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
<example><title>Parties Example </title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;
Sample of :
               - contract-front
               - parties
               - party
               - person-record
               - name
               - address
               - background
  &lt;/text&gt;&lt;/title&gt;

&lt;contract-front&gt;

&lt;date-block&gt;Agreement dated:
    &lt;field class="date" type="blank" name="contract_date" length="75mm"&gt;
&lt;?xm-replace_text {ec:field}?&gt;&lt;/field&gt;&lt;/date-block&gt;
&lt;parties&gt;&lt;title&gt;&lt;text&gt;Parties&lt;/text&gt;&lt;/title&gt;
    &lt;party&gt;&lt;person-record&gt;&lt;name&gt;ABC Ventures Limited&lt;/name&gt; having
            its office at &lt;address&gt;100 Main Street, Sydney, NSW 2000&lt;/address&gt;
           &lt;/person-record&gt;, hereafter referred to as
                 "&lt;term&gt;General Partner&lt;/term&gt;"
    &lt;/party&gt;
    &lt;party&gt;&lt;person-record&gt;&lt;name&gt;John A. Doe&lt;/name&gt; of
            &lt;address&gt;10 Ramrod Drive, Sydney, NSW 2000&lt;/address&gt;&lt;/person-record&gt;
              and &lt;person-record&gt;&lt;name&gt;John W. Smith&lt;/name&gt; of
          &lt;address&gt;25 Pine Road, Plainsville, NSW, 0000&lt;/address&gt;
            &lt;/person-record&gt;, herafter collectively referred to as
                  "Limited Partners"
    &lt;/party&gt;
&lt;/parties&gt;
&lt;background&gt;&lt;title&gt;&lt;text&gt;Background&lt;/text&gt;&lt;/title&gt;
    &lt;item number="A"&gt;
      &lt;block&gt;&lt;text&gt;This is the text of the first recital&lt;/text&gt;&lt;/block&gt;
    &lt;/item&gt;
    &lt;item number="B"&gt;
      &lt;block&gt;&lt;text&gt;Text of the second recital&lt;/text&gt;&lt;/block&gt;
    &lt;/item&gt;
&lt;/background&gt;

&lt;/contract-front&gt;

&lt;body&gt;&lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
Remember that this does NOT match the
picture above.
</para></section>
</section></section>


<section id="party"><title id="party.title">party</title>
<section><title>Synopsis</title>
<para>This is a party to the contract.</para>
<section><title>Content Model</title>
<para>
<sgmltag>party</sgmltag> has a mixed content model.
<programlisting>

party = element party {

    (text | person-record | term)*,

    party.attlist
}


party.attlist =
    common.attributes,
    party.class.attribute,
    party.attlist.extensions


party.class.attribute =    standard.class
party.attlist.extensions = empty
</programlisting>

party ::=
<itemizedlist><listitem><para>Zero or More of<itemizedlist><listitem><para><link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="term"><sgmltag>term</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
The <sgmltag>party</sgmltag> element is used to contain the
details of each party to the contract.
</para><para>
A <sgmltag>party</sgmltag> may occur inside the <sgmltag>parties</sgmltag> element or it may occur inside a <sgmltag>text</sgmltag> element.
</para><para>
Within the <sgmltag>party</sgmltag> element, the details such as
name and address of each person or entity in the <sgmltag>party</sgmltag> are
captured using the <sgmltag>person-record</sgmltag> element.
</para>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>

<section><title>Parents</title>
<para>These elements contain
<sgmltag>party</sgmltag>:
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>
<link linkend="parties"><sgmltag>parties</sgmltag></link>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>party</sgmltag>:
<link linkend="text"><sgmltag>text</sgmltag></link>, <link linkend="person-record"><sgmltag>person-record</sgmltag></link> and
<link linkend="term"><sgmltag>term</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="name"><sgmltag>name</sgmltag></link>
<link linkend="address"><sgmltag>address</sgmltag></link>
</para></section>
<section><title>Example</title>
<para>
See
<link linkend="parties"><sgmltag>parties</sgmltag></link>
</para></section>
</section></section>


<section id="party-signature"><title id="party-signature.title">party-signature</title>
<section><title>Synopsis</title>
<para>party-signature
-- Place where a signature or seal
will be applied to the contract document.
</para>
<section><title>Content model</title>
<para>
<programlisting>
party-signature = element party-signature {

    (block*, ( signatory-group | signatory-record ), block*),

    party-signature.attlist
}


party-signature.attlist =
    common.attributes,
    party-signature.layout.attribute,
    party-signature.party-id.attribute,
    party-signature.attlist.extensions


party-signature.layout.attribute =
    [a:defaultValue = "from-left"]
    attribute layout { party-signature.layout.values }?

party-signature.layout.values = "right-column-only" | "from-left"

party-signature.party-id.attribute = attribute party-id { xsd:string }?
party-signature.attlist.extensions = empty
</programlisting>

party-signature ::=
<itemizedlist>
<listitem><para>Sequence of
<itemizedlist>
<listitem><para>Zero or more
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem>
<listitem><para>One of
<itemizedlist>
<listitem><para>
<link linkend="signatory-group" endterm="signatory-group.title" />
</para></listitem>
<listitem><para>
<link linkend="signatory-record" endterm="signatory-record.title" />
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
Zero or more
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
Additional attributes:
<itemizedlist><listitem><para><sgmltag>layout
</sgmltag>(enumeration)<itemizedlist><listitem><para>"from-left"</para></listitem>
<listitem><para>"right-column-only"</para></listitem>
</itemizedlist>
</para></listitem><listitem><para>
<sgmltag>party-id</sgmltag></para></listitem></itemizedlist>
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is the place for markup for what would be considered a signature.
In the case, where  this is rendered to a physical document, this is where
a person would apply a "pen-and-ink" signature and/or affix a seal.
There will be sets of signatures, for example, a signatory
and witness
or two partners or officers of the same company
</para>
<para>
The <sgmltag>party-signature</sgmltag> markup
provides a semantic representation of the
components needed to render complex signature provisions in contracts.
It also includes some presentational characteristics.
If this complexity is not required, signature provisions
may be created by using tables and the <sgmltag>signature-line</sgmltag>
element.
</para>
<section><title>Processing Expectations</title><para>
If <sgmltag>align-records</sgmltag> is <sgmltag>horizontal</sgmltag>, then
the signatures will be rendered in multiple columns,  usually two.
If set to <sgmltag>vertical</sgmltag>, then they will be rendered
vertically.
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
<variablelist><varlistentry><term>layout</term><listitem><para>
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><para>right-column-only</para></entry><entry><para>
The page is divided into two columns.
Render the signature in the right column.
</para></entry></row>
<row><entry><para>from-left</para></entry><entry><para>render signatures
from the left page margin.</para></entry></row>
<row><entry><para>party-id</para></entry><entry><para></para></entry>
</row>
</tbody>
</tgroup>
</table>
</para></listitem> </varlistentry></variablelist>
</para></section>
<section><title>Parents</title><para>These elements contain <sgmltag>party-signature</sgmltag>: <link linkend="back"><sgmltag>back</sgmltag></link>
</para></section>
<section><title>Children</title><para>
The following elements occur in <sgmltag>party-signature</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="signatory-group"><sgmltag>signatory-group</sgmltag></link>,
<link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
The following  example consists of a single <sgmltag>signatory-record</sgmltag>
containing both a <sgmltag>signatory-record</sgmltag>
and a <sgmltag>witness</sgmltag>
within the <sgmltag>party-signature</sgmltag>
record:
<example><title>A single signer plus a witness</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of :
               - back
               - party-signature
               - signatory-group
               - signatory-record
               - signatory
               - signatory-line
  &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;&lt;/body&gt;

  &lt;back&gt;

    &lt;party-signature&gt;

      &lt;signatory-group&gt;

        &lt;block&gt; &lt;/block&gt;

        &lt;signatory-record&gt;

          &lt;signatory id="T0001" xml:lang="ja"&gt;
            &lt;signature-line id="I0001" xml:lang="en_US"&gt;
              &lt;text&gt;Mr. Signatory Jr.&lt;/text&gt;
              &lt;field&gt;Field for a text.&lt;/field&gt;
            &lt;/signature-line&gt;
          &lt;/signatory&gt;

          &lt;witness&gt;
            &lt;signature-line id="I0002" xml:lang="fr"&gt;
              &lt;text&gt;Ms. Witness Arcole&lt;/text&gt;
              &lt;field&gt;Field for a text.&lt;/field&gt;
            &lt;/signature-line&gt;
          &lt;/witness&gt;

        &lt;/signatory-record&gt;

      &lt;/signatory-group&gt;

    &lt;/party-signature&gt;

  &lt;/back&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
<para>A simple party signature by John Doe is here.  Observe the initial
<sgmltag>block</sgmltag> to give the text "Signed by John Doe"
A <sgmltag>signatory-record</sgmltag>, <sgmltag>signatory</sgmltag>
and <sgmltag>signature-line</sgmltag>
<mediaobject>
<imageobject id="SIG1X">
<objectinfo><title id="SIG1X.title">Simple Signature </title></objectinfo>
<imagedata fileref="SIG1.gif" format="GIF"/>
</imageobject>
</mediaobject>
<example><title>A single person signing</title>
<programlisting>
&lt;party-signature&gt; &lt;block&gt;&lt;text&gt;Signed by &lt;name class="person"&gt;John W.
Doe&lt;/name&gt;&lt;/text&gt;&lt;/block&gt;&lt;signatory-record&gt;&lt;signatory&gt;&lt;signature-line&gt;
&lt;field type="blank" length="50"/&gt; &lt;text&gt;John W.
Doe&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt; &lt;/signatory-record&gt;&lt;/party-signature&gt;
</programlisting>
</example>
</para><para>
When there are two persons signing for one party, there are two <sgmltag>signature-line</sgmltag> tags within one <sgmltag>signature-group</sgmltag>:

<mediaobject>
<imageobject id="SIG2X">
<objectinfo><title id="SIG2X.title">SIG2</title></objectinfo>
<imagedata fileref="SIG2.gif" format="GIF"/>
</imageobject>
</mediaobject>
<example><title>Two Partners or officers of the same company</title>
<programlisting>
&lt;party-signature&gt; &lt;block&gt;&lt;text&gt;Signed by the Limited
Partners&lt;/text&gt;&lt;/block&gt;&lt;signatory-group align-records="horizontal"&gt;
&lt;signatory-record&gt;&lt;signatory&gt;&lt;signature-line&gt;&lt;field type="blank" length="50"/&gt; 
   &lt;text&gt;John A Doe&lt;/text&gt;
   &lt;text&gt;Partner&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt;
&lt;/signatory-record&gt;&lt;signatory-record&gt;&lt;signatory&gt;&lt;signature-line&gt;
&lt;field type="blank" length="50"/&gt; 
&lt;text&gt;John W.  Smith&lt;/text&gt;&lt;text&gt;Partner&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt;
&lt;/signatory-record&gt;&lt;/signatory-group&gt;&lt;/party-signature&gt;
</programlisting>
</example>
Observe the <sgmltag>align-record</sgmltag>= <sgmltag>horizontal</sgmltag> which
forces both Mr. Doe and Mr. Smith's signature lines to be side by side.
</para><para>
Similarly, one can include a <sgmltag>witness</sgmltag> element
in a <sgmltag>signatory-record</sgmltag>:
<mediaobject>
<imageobject id="SIG3X">
<objectinfo><title id="SIG3X.title">SIG3</title></objectinfo>
<imagedata fileref="SIG3.gif" format="GIF"/>
</imageobject>
</mediaobject>
<example><title> A signatory and a witness</title>
<programlisting>
&lt;party-signature&gt;&lt;block&gt;&lt;text&gt;Signed by John W. Smith in the presence
of:&lt;/text&gt;&lt;/block&gt;
&lt;signatory-record align-signatory-witness="horizontal"&gt;
&lt;witness&gt;&lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;
&lt;text&gt;Witness&lt;/text&gt;&lt;/signature-line&gt;&lt;/witness&gt;&lt;signatory&gt;
&lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;&lt;text&gt;John W.
Smith&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt;&lt;/signatory-record&gt;&lt;/party-signature&gt;
</programlisting>
</example>
Observe the  <sgmltag>align-signatory-witness</sgmltag>  attribute which
appears on the <sgmltag>signatory-record</sgmltag>.
Here is a similar example, but where the <sgmltag>align-signatory-witness</sgmltag>
attribute is specified to be vertical:
<mediaobject>
<imageobject id="SIG4X">
<objectinfo><title id="SIG4X.title">SIG4</title></objectinfo>
<imagedata fileref="SIG4.gif" format="GIF"/>
</imageobject>
</mediaobject>
<example><title>Illustration of align-signatory-witness</title>
<programlisting>
&lt;party-signature&gt;&lt;block&gt;&lt;text&gt;Signed by John W.
Smith:&lt;/text&gt;&lt;/block&gt;&lt;signatory-record align-signatory-witness="vertical"&gt;
&lt;signatory&gt;&lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;
&lt;text&gt;John W.  Smith&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt;
&lt;witness&gt;&lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;
   &lt;text&gt;Witness&lt;/text&gt;&lt;/signature-line&gt;&lt;/witness&gt;
&lt;/signatory-record&gt;&lt;/party-signature&gt;
</programlisting>
</example>
</para><para>
The user may put the attribute, <sgmltag>layout="right-column-only"</sgmltag>
on the <sgmltag>party-signature</sgmltag> to have several lines of text
as well as the place where the user will sign lined up on the right
side of the page:
<mediaobject>
<imageobject id="SIG5X">
<objectinfo><title id="SIG5X.title">SIG5</title></objectinfo>
<imagedata fileref="SIG5.gif" format="GIF"/>
</imageobject>
</mediaobject>
<example><title>Right-column-only illustration</title>
<programlisting>
&lt;party-signature layout="right-column-only"&gt;&lt;block&gt;
&lt;text&gt;Accepted and agreed:&lt;/text&gt;&lt;/block&gt;&lt;block&gt;
&lt;text&gt;Signed on behalf of XYZ Corporation Limited, 
by John W. Smith, its authorized director:&lt;/text&gt;&lt;/block&gt;
&lt;signatory-record&gt;&lt;signatory&gt;&lt;signature-line&gt;
   &lt;field length="50" type="dotleader"/&gt;&lt;text&gt;John W.  Smith&lt;/text&gt;
   &lt;text&gt;Director&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt;
&lt;/signatory-record&gt;&lt;/party-signature&gt;
</programlisting>
</example>
</para><para>
This example shows the use of the <sgmltag>brace</sgmltag> attribute
on the <sgmltag>signatory-record</sgmltag>:
<mediaobject>
<imageobject id="SIG9X">
<objectinfo><title id="SIG9X.title">SIG9</title></objectinfo>
<imagedata fileref="SIG9.gif" format="GIF"/>
</imageobject>
</mediaobject>
<example><title>The brace attribute</title>
<programlisting>
&lt;party-signature&gt; &lt;signatory-group align-records="vertical" brace="block-only"&gt;
&lt;block&gt;&lt;text&gt;Signed, sealed and delivered on behalf of XYZ Corporation Limited
by two of its directors:
&lt;/text&gt;&lt;/block&gt;&lt;signatory-record align-signatory-witness="horizontal"&gt; 
&lt;witness&gt; &lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;
&lt;text&gt;Signature of
witness&lt;/text&gt;&lt;/signature-line&gt;&lt;signature-line&gt;&lt;field type="dotleader" 
length="50"/&gt;&lt;text&gt;Name of witness&lt;/text&gt;&lt;/signature-line&gt;
&lt;/witness&gt;&lt;signatory&gt;&lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;
    &lt;text&gt;John W.  Smith&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt;&lt;/signatory-record&gt;
&lt;signatory-record align-signatory-witness="horizontal"&gt; 
&lt;witness&gt; &lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;
&lt;text&gt;Signature of witness&lt;/text&gt;&lt;/signature-line&gt;
&lt;signature-line&gt;
   &lt;field type="dotleader" length="50"/&gt;&lt;text&gt;Name of witness&lt;/text&gt;
&lt;/signature-line&gt;&lt;/witness&gt;
&lt;signatory&gt;&lt;signature-line&gt;&lt;field type="dotleader" length="50"/&gt;
    &lt;text&gt;John A.  Doe&lt;/text&gt;&lt;/signature-line&gt;&lt;/signatory&gt;
&lt;/signatory-record&gt;&lt;/signatory-group&gt;
&lt;/party-signature&gt; 
</programlisting>
</example>
</para><para>
<sgmltag>signatory-record</sgmltag>'s can be nested to show
delegation.  This is rendered by a small indentation for the
information within the
nested <sgmltag>signatory-record</sgmltag>.
<mediaobject>
<imageobject id="SIG12X">
<objectinfo><title id="SIG12X.title">SIG12</title></objectinfo>
<imagedata fileref="SIG12.gif" format="GIF"/>
</imageobject>
</mediaobject>
<example><title>Nested signatory-records to show delegation.</title>
<programlisting>
&lt;block&gt;&lt;text&gt;This is a signature block with a nested record:&lt;/text&gt;&lt;/block&gt; 
&lt;party-signature layout="right-column-only"&gt; 
&lt;block&gt;&lt;text&gt;"Lender"&lt;/text&gt;&lt;/block&gt;
&lt;block&gt;&lt;text&gt;Roadway Finance Company,&lt;/text&gt; 
       &lt;text&gt;a Delaware limited company&lt;/text&gt;&lt;/block&gt;
&lt;signatory-record&gt;&lt;block&gt;
   &lt;text&gt;By: XYZ Limited Partnership,&lt;/text&gt; 
   &lt;text&gt;a Delaware limited partnership, its sole member&lt;/text&gt;&lt;/block&gt; 
&lt;signatory-record&gt; &lt;block&gt;&lt;text&gt;By: XYZ Office Properties Trust,&lt;/text&gt;
       &lt;text&gt;a Delaware real estate investment trust, 
             its general partner&lt;/text&gt;&lt;/block&gt; 
&lt;signatory-record&gt;&lt;signatory&gt; 
   &lt;signature-line&gt;&lt;text&gt;By: /s/ John A. Doe&lt;/text&gt; 
         &lt;field length="50" type="blank"/&gt; 
   &lt;/signature-line&gt;
   &lt;block&gt;&lt;text&gt;Name: John A. Doe&lt;/text&gt;&lt;/block&gt;
   &lt;block&gt;&lt;text&gt;Title: Senior Vice President&lt;/text&gt;&lt;/block&gt;
&lt;/signatory&gt;&lt;/signatory-record&gt;&lt;/signatory-record&gt;&lt;/signatory-record&gt;
&lt;block&gt;&lt;text&gt;&lt;/text&gt;&lt;/block&gt;&lt;block&gt;
       &lt;text&gt;1000 North Riverside Plaza&lt;/text&gt;
       &lt;text&gt;Chicago, IL 60606&lt;/text&gt;
       &lt;text&gt;Attention: General Counsel&lt;/text&gt;&lt;/block&gt;
&lt;/party-signature&gt; 
</programlisting>
</example>
</para>
</section>
</section>
</section>

<section id="person-record"><title id="person-record.title">person-record</title>
<section><title>Synopsis</title>
<para>
This is used to contain information about a person or other entity.
</para>
<section><title>Content Model</title>
<para>
<sgmltag>person-record</sgmltag> has a mixed content model.
<programlisting>

person-record = element person-record {

    (text | name | address | field | term)*,

    person-record.attlist
}


person-record.attlist =
    common.attributes,
    person-record.class.attribute,
    person-record.party-id.attribute,
    person-record.attlist.extensions


person-record.class.attribute =     standard.class
person-record.party-id.attribute =  attribute party-id { xsd:string }?
person-record.attlist.extensions =  empty
</programlisting>
person-record ::=
<itemizedlist><listitem><para>Zero or more <itemizedlist><listitem><para>
<link linkend="address"><sgmltag>address</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="name"><sgmltag>name</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="term"><sgmltag>term</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para><para>
Additional attributes:
<itemizedlist><listitem><para><sgmltag>party-id</sgmltag></para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title>
<para>
The <sgmltag>person-record</sgmltag> element is used to capture the details of a person
or other entity that is a party
to the contract.  It may also be used to describe any person who is referenced in the
contract, such as an attorney under a power of attorney.
</para><para>
Normally, a <sgmltag>person-record</sgmltag> would be
contained within a <sgmltag>party</sgmltag> element.
However, in some US-style contracts, the person's details may be broken up so it is not possible to capture all details within a single
<sgmltag>party</sgmltag> element and still maintain semantic integrity of
the markup and grammatical integrity of the sentence.  For situations where
the person's details
cannot be captured within a single party
element, the <sgmltag>person-record</sgmltag> element is allowed to occur inside the <sgmltag>text</sgmltag> element.
</para><para>
When a <sgmltag>person-record</sgmltag> element is not used within
a <sgmltag>party</sgmltag> element, the <sgmltag>person-record</sgmltag>'s <sgmltag>party-id</sgmltag> attribute
is used to reference the <sgmltag>party</sgmltag> to which the record relates.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>Additional Attributes:<variablelist><varlistentry><term><sgmltag>party-id</sgmltag></term> <listitem><para>This
is used to associate a <sgmltag>person-record</sgmltag>
with a <sgmltag>party</sgmltag> element when the <sgmltag>person-record</sgmltag>
needs to be created outside the <sgmltag>party</sgmltag> element.
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>These elements contain
<sgmltag>person-record</sgmltag>:
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="party"><sgmltag>party</sgmltag></link>, and
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements
occur inside <sgmltag>person-record</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link> and
<link linkend="term"><sgmltag>term</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="party"><sgmltag>party</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>
See  <link linkend="parties"><sgmltag>parties</sgmltag></link>
</para></section>
</section></section>
<section id="phrase"><title id="phrase.title">phrase</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>phrase</sgmltag> has a mixed content model.
<programlisting>
phrase = element phrase {
    inline.content,

    phrase.attlist
}



inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
phrase.attlist =
        common.attributes,
        phrase.class.attribute,
        phrase.attlist.extensions


phrase.class.attribute =    standard.class
phrase.attlist.extensions = empty
</programlisting>

phrase ::=
<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This might be used on something for which emphasis is placed in
rendering.  It may be used to explain something outside
the normal flow of text.  It may be a technical or foreign word.
</para>
<section><title>Processing Expectations</title>
<para>
This is rendered inline.
Typically, it would be rendered differently so as to give emphasis,
possibly as indicated by class attribute.
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
The following elements occur inside <sgmltag>phrase</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>phrase</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="note"><sgmltag>note</sgmltag></link>
and
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>
</para>
</section>
</section></section>


<section id="reference"><title id="reference.title">reference</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
reference = element reference {
    (inline.content | citation)*,

    reference.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
reference.attlist =
    common.attributes,
    reference.class.attribute,
    reference.href.attribute,
    reference.print-url.attribute,
    reference.attlist.extensions


reference.class.attribute =     standard.class
reference.href.attribute =      attribute href { xsd:anyURI }?
reference.print-url.attribute = attribute print-url { xsd:boolean }?

reference.attlist.extensions = empty

    reference.attlist &amp;= attribute destination-type { xsd:string }?
    reference.attlist &amp;= attribute destination-lang { xsd:string }?
</programlisting>


reference ::=
<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="citation"><sgmltag>citation</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
<para>Additional attributes:<itemizedlist>
<listitem><para>destination-lang</para></listitem><listitem><para>destination-type</para></listitem>
<listitem><para>
href</para></listitem><listitem><para>print-url</para></listitem></itemizedlist>
</para>
</section>
</section>
<section><title>Description</title>
<para>
A <sgmltag>reference</sgmltag> is a word or phrase which refers
to another resource, whether internal or external
to the contract.  Typically, it is used for cross references
and citations to other works.
</para>
<section><title>Processing Expectations</title>
<para>
The content of this element is rendered inline.
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
Additional Attributes:<variablelist>
<varlistentry><term>destination-type</term> <listitem><para>
This attribute indicates the type of resource that is referenced.
This attribute
is provided to support the WAI Web Content
Accessibility Guidelines.
</para></listitem> </varlistentry> <varlistentry><term>
destination-lang</term> <listitem><para>
This attribute indicates the lagnuage of the resource
that is referenced.  This attribute is provided to
support the WAI Web Content Accessibility
Guidelines.
</para></listitem></varlistentry>
<varlistentry><term>href</term> <listitem><para>
This specifies the URL or other way of finding the object, as one would
write it in HTML</para></listitem> </varlistentry> <varlistentry><term>print-url</term> <listitem><para>
This is used to control rendering of the references to external
web sites in print outputs.  For example:
<sgmltag>&lt;reference href="http://www.oasis-open.org/committees/documents.php?wg_abbrev=
legalxml-econtracts"&gt;This specification&lt;/reference&gt;</sgmltag>

In print output, it might be desirable to be able to output this
as:
<programlisting>
This specification
(www.oasis-open.org/committes/documents.php?wg_abbrev=legalxml-econtracts)
</programlisting>
</para>
</listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>reference</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>reference</sgmltag>:

</para><para>
<link linkend="citation"><sgmltag>citation</sgmltag></link>
<link linkend="em"><sgmltag>em</sgmltag></link>
<link linkend="field"><sgmltag>field</sgmltag></link>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para>
</section>


<section><title>See Also</title>
<para>
<link linkend="term"><sgmltag>term</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Shows one reference element with print-url true</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of
               - attachments
               - attachment
               - title
               - block
               - text
  &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;&lt;/body&gt;

  &lt;attachments&gt;
    &lt;attachment class="appendix" id="a1" number="15"&gt;
      &lt;title&gt;&lt;text&gt;Form of notice in Schema files&lt;/text&gt;&lt;/title&gt;
      &lt;block&gt;&lt;text&gt;They must be sent regular mail.&lt;/text&gt;&lt;/block&gt;
      &lt;block&gt;&lt;text&gt;Standard Schema
          &lt;reference href="http://www.elkera.com" print-url="true"&gt;
can be read on the web easily!&lt;/reference&gt;.&lt;/text&gt;&lt;/block&gt;
    &lt;/attachment&gt;
 &lt;/attachments&gt;

&lt;/contract&gt;
</programlisting>
</example>
</para>
</section>
</section></section>


<section id="row"><title id="row.title">row</title>
<section><title>Synopsis</title><para>
This is a table row.

</para>
<section><title>Content Model</title>
<para>
<programlisting>
row = element row {
    entry+,

    row.attlist
}

row.attlist =
    common.attributes,
    attribute rowsep  { xsd:boolean }?,
    attribute valign  { TableValign }?,
    row.attlist.extensions

TableValign = "top" | "middle" | "bottom"

row.attlist.extensions = empty
</programlisting>
row ::=
<itemizedlist><listitem><para>One or more <itemizedlist><listitem><para><link linkend="entry"><sgmltag>entry</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>Additional Attributes:
<itemizedlist><listitem><para>
rowsep
</para></listitem><listitem><para>
valign
</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
A row in a table.
This element and all other elements contained by <sgmltag>table</sgmltag> are taken from the OASIS Exchange Table Model.
Please refer to that specification for full details of this element.
<citation>table1</citation>,<citation>table2</citation>.
</para>
<section><title>Attributes</title>
<para>
This section only provides a brief description of each attribute's
purpose.  Please refer to the OASIS Exchagne Table Model for details
and processing semantics of these attributes:
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>Additional Attributes:
<variablelist>
<varlistentry><term>rowsep</term> <listitem><para>
This controls the display of the row separator underneath this
cell in the table.
</para></listitem></varlistentry>
<varlistentry><term>
valign</term> <listitem><para>The vertical alignment
of the table row.

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>top</sgmltag></entry><entry>Align the content at the top of the row.</entry></row>
<row><entry><sgmltag>middle</sgmltag></entry><entry>Align the content within the row.</entry></row>
<row><entry><sgmltag>bottom</sgmltag></entry><entry>Align the content at the bottom of the row.</entry></row>
</tbody>
</tgroup>
</table>
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>These elements contain
<sgmltag>row</sgmltag>: <link linkend="thead"><sgmltag>thead</sgmltag></link>
and <link linkend="tbody"><sgmltag>tbody</sgmltag></link>.
</para></section>
<section><title>Children</title>
<para>The following element occur inside <sgmltag>row</sgmltag>:
<link linkend="entry"><sgmltag>entry</sgmltag></link>
</para>

<section><title>Example:</title><para>Please see <link linkend="table"><sgmltag>table</sgmltag></link>.</para></section>
</section>

</section>
</section>

<section id="signatory"><title id="signatory.title">signatory</title>
<section><title>Synopsis</title>
<para>
A signatory is a person who signs a contract or document.
</para>
<section><title>Content Model</title>
<para>
<programlisting>
signatory = element signatory {

    (signature-line | block)*,

    signatory.attlist
}

signatory.attlist =
    common.attributes,
    signatory.person-record-id.attribute,
    signatory.attlist.extensions


signatory.person-record-id.attribute = attribute person-record-id { xsd:string }?
signatory.attlist.extensions = empty

</programlisting>
signatory ::=
<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para><link linkend="signature-line"><sgmltag>signature-line</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes"  endterm="Common.Attributes.title"/>
</para><para>Additional Attributes
<itemizedlist><listitem><para>person-record-id</para></listitem></itemizedlist>
</para>
</section>
</section>
<section><title>Description</title>
<para>
This provides the blank line and printed information for a person
who signs a contract.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes"  endterm="Common.Attributes.title"/>
</para><para>Additional Attributes: <variablelist><varlistentry><term>person-record-id</term> <listitem><para>
This  allows the <sgmltag>signatory</sgmltag> to be associated with a
<sgmltag>person-record</sgmltag> element
that contains more information about
the <sgmltag>signatory</sgmltag>.
</para>
</listitem> </varlistentry></variablelist>
</para></section>
<section><title>Parents</title><para>The
elements contain <sgmltag>signatory</sgmltag>:
<link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
</para></section>
<section><title>Children</title><para>The following elements
occur inside: <sgmltag>signatory</sgmltag>
</para>
<para>
<link linkend="signature-line"><sgmltag>signature-line</sgmltag></link>
and
<link linkend="block"><sgmltag>block</sgmltag></link>
</para>
</section>
<section><title>See Also</title>
<para><link linkend="witness"><sgmltag>witness</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>Please see <link linkend="party-signature" endterm="party-signature.title" />
for extensive examples.
</para><para>
<example><title>Shows use of person-record-id</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;
&lt;title&gt;&lt;text&gt;Showinging person-record-id&lt;/text&gt;&lt;/title&gt;
&lt;contract-front&gt;
&lt;parties&gt;
&lt;party&gt;&lt;person-record id="AA2"&gt;&lt;name&gt;John Smith&lt;/name&gt;
&lt;/person-record&gt;
 and &lt;person-record id="AA3"&gt;&lt;name&gt;Jaime Velazquez&lt;/name&gt;&lt;/person-record&gt;&lt;/party&gt;
&lt;/parties&gt;&lt;/contract-front&gt;
&lt;body&gt;&lt;block&gt;&lt;text&gt;Empty Body&lt;/text&gt;&lt;/block&gt;&lt;/body&gt;
&lt;back&gt;&lt;party-signature&gt;
&lt;signatory-group&gt;
&lt;signatory-record&gt;
&lt;signatory id="T001" xml:lang="en" person-record-id="AA2"&gt;
          &lt;signature-line&gt;&lt;text&gt;Mr. John Smith&lt;/text&gt;&lt;field&gt;___&lt;/field&gt;&lt;/signature-line&gt;
&lt;/signatory&gt;
&lt;signatory id="T002" xml:lang="en" person-record-id="AA3"&gt;
&lt;signature-line&gt;&lt;text&gt;Ms. Jaime Velazquez&lt;/text&gt;&lt;field&gt;___&lt;/field&gt;&lt;/signature-line&gt;
&lt;/signatory&gt;
&lt;/signatory-record&gt;
&lt;/signatory-group&gt;
&lt;/party-signature&gt;
&lt;/back&gt;
&lt;/contract&gt;


</programlisting>
</example>
</para></section>
</section></section>


<section id="signatory-group"><title id="signatory-group.title">signatory-group</title>


<section><title>Synopsis</title>

<section><title>Content Model</title>
<para>
<programlisting>

signatory-group = element signatory-group    {

    (block*, signatory-record+),

    signatory-group.attlist
}


signatory-group.attlist =
    common.attributes,
    signatory-group.align-records.attribute,
    signatory-group.brace.attribute,
    signatory-group.attlist.extensions


signatory-group.align-records.attribute =
    attribute align-records { signatory-group.align-records.values }?

signatory-group.align-records.values = "horizontal" | "vertical"

signatory-group.brace.attribute =
    attribute brace  { signatory-group.brace.values }?

signatory-group.brace.values = "block-only"

signatory-group.attlist.extensions = empty
</programlisting>
signatory-group ::=
<itemizedlist>
 <listitem><para>Sequence of <itemizedlist>
                              <listitem><para>
                                         <link linkend="block"><sgmltag>block</sgmltag></link>
                              </para></listitem>
                              <listitem><para>
One or more <link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
                              </para></listitem>
                             </itemizedlist>
 </para></listitem>
</itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes"  endterm="Common.Attributes.title"/>
</para><para>
Additional attributes:
<itemizedlist><listitem><para><sgmltag>align-records</sgmltag>(enumeration)
<itemizedlist><listitem><para>"horizontal"</para></listitem><listitem><para>"vertical"</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
</section>

<section><title>Description</title>
<para>
This represents a group of related signatures, e. g., several
officers for the same corporation or
a witness and a signature.  These are represented as the
<sgmltag>signature</sgmltag> and <sgmltag>witness</sgmltag> tags,
respectively.
</para><para>
A <sgmltag>signatory-group</sgmltag> is used where several persons
must sign on behalf of a party, such
as to attest the fixing of a common seal or for partners
in a partnership.
</para>
<section><title>Processing Expectations</title><para>
The signature information will be aligned across the page
if <sgmltag>align-records</sgmltag> is <sgmltag>horizontal</sgmltag>
or vertically if specified as  <sgmltag>vertical</sgmltag>.
A brace or thick line will be to the right of the signatures
if the <sgmltag>brace</sgmltag> is specified.
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
Additional Attributes:
<itemizedlist><listitem><para><sgmltag>align-records</sgmltag>.
This specifies how <sgmltag>signatory-record</sgmltag>s are aligned
with the <sgmltag>signatory-group</sgmltag>.
This attribute can have the following values:
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><para>"horizontal"</para></entry><entry><para>
The information for this signature group SHOULD be layed
out across the page.
</para></entry></row>
<row><entry><para>"vertical"</para></entry><entry><para>
The information for this signature group SHOULD be layed out
underneath each other.</para></entry></row>
</tbody>
</tgroup>
</table>
</para></listitem><listitem><para>
<sgmltag>brace</sgmltag>
This specifies that a brace (or thick column separator) is
rendered to the right of the content in the left column.
This is ignored when the <sgmltag>layout</sgmltag> attribute
for <sgmltag>party-signature</sgmltag> is <sgmltag>right-column-only</sgmltag>
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><para>"block-only"</para></entry><entry><para>
A brace or thick column separator is rendered to the
right of the content in the left column.
</para></entry></row>
</tbody>
</tgroup>
</table>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Parents</title><para>These elements
contain <sgmltag>signatory-group</sgmltag>:
<link linkend="party-signature"><sgmltag>party-signature</sgmltag></link>.
</para>
</section>
<section><title>Children</title><para>
The following elements occur inside
<sgmltag>signatory-group</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>
and
<link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
</para>
</section>
<section>
  <title>See Also</title>
  <para><link linkend="signatory-record" endterm="signatory-record.title" /></para>
</section>
<section>
 <title>Examples</title>
 <para>
See <link linkend="party-signature" endterm="party-signature.title" />
 </para>
</section>
</section>
</section>


<section id="signatory-record"><title id="signatory-record.title">signatory-record</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
signatory-record = element signatory-record  {

    (block*,
        (signatory-record |
            ((signatory+, witness*) | (witness+, signatory))
        ),
    block*),

    signatory-record.attlist
}


signatory-record.attlist =
    common.attributes,
    signatory-record.align-signatory-witness.attribute,
    signatory-record.brace.attribute,
    signatory-record.attlist.extensions


signatory-record.align-signatory-witness.attribute =
    attribute align-signatory-witness { align-signatory-witness.values }?

align-signatory-witness.values = "horizontal" | "vertical"

signatory-record.brace.attribute =
    attribute brace { brace.values }?

brace.values = "block-only"

signatory-record.attlist.extensions = empty
</programlisting>

signatory-record ::=
 <itemizedlist>
  <listitem><para>Sequence of
   <itemizedlist>
    <listitem><para><link linkend="block"><sgmltag>block</sgmltag></link></para></listitem>
    <listitem><para>Choice of
     <itemizedlist>
      <listitem><para><link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
       <itemizedlist>
        <listitem><para>Choice of
         <itemizedlist>
          <listitem><para>Sequence of
           <itemizedlist>
            <listitem><para>One or more <link linkend="signatory"><sgmltag>signatory</sgmltag></link></para></listitem>
            <listitem><para>Zero or more
<link linkend="witness"><sgmltag>witness</sgmltag></link>
</para></listitem>
           </itemizedlist>
          </para></listitem>
          <listitem><para>Sequence of
           <itemizedlist>
            <listitem><para>One or more <link linkend="witness"><sgmltag>witness</sgmltag></link></para></listitem>
            <listitem><para>One <link linkend="signatory"><sgmltag>signatory</sgmltag></link></para></listitem>
           </itemizedlist>
          </para></listitem>
         </itemizedlist>
        </para></listitem>
        <listitem><para>Zero or more <link linkend="block"><sgmltag>block</sgmltag></link></para></listitem>
       </itemizedlist>
      </para></listitem>
     </itemizedlist>
    </para></listitem>
   </itemizedlist>
  </para></listitem>
 </itemizedlist>
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
Additional attributes:
<itemizedlist><listitem><para>
<sgmltag>align-signatory-witness</sgmltag>
(enumeration)<itemizedlist><listitem><para>
"horizontal"</para></listitem><listitem><para>"vertical"</para></listitem></itemizedlist></para></listitem><listitem><para><sgmltag>brace</sgmltag>(enumeration)<itemizedlist><listitem><para>"block-only"</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Additional Constraints</title><para>
<sgmltag>brace</sgmltag> is ignored when contained
the enclosing <sgmltag>party-signature</sgmltag> specified
<sgmltag>layout</sgmltag> as <sgmltag>right-column-only</sgmltag>
or if enclosed within a <sgmltag>signatory-group</sgmltag> element.
</para></section>
</section>
<section><title>Description</title>
<para>
This is used to bind one or more signatories as well as a possible witness.
Its content can be in three forms:
<itemizedlist><listitem><para>
A single <link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>.
This is used for sub-delegations.
</para></listitem><listitem><para>
One or more <link linkend="signatory"><sgmltag>signatory</sgmltag></link>
elements.  These may be followed by <link linkend="witness"><sgmltag>witness</sgmltag></link>.  The multiple <sgmltag>signatory</sgmltag> records
reflect several people signing on behalf of one party.

</para></listitem><listitem><para>
One or more <link linkend="witness"><sgmltag>witness</sgmltag></link> records
followed by a <link linkend="signatory" endterm="signatory.title" /> record.
(See
the third example
under <link linkend="party-signature" endterm="party-signature.title" />.)
</para></listitem></itemizedlist>
The <sgmltag>signatory-record</sgmltag> can be used
recursively or as a flat model.
The recursive model allows
nested
<sgmltag>signature-record</sgmltag> elements for complex signatures
with sub-delegations. This
is used in US contracts.
</para>
</section>

<section><title>Processing Expectations</title>
<para>
If one has <sgmltag>signatory-record</sgmltag> nested, then the inner one,
representing a subdelegation, would be nested.
See the last screen shot
in <sgmltag>party-signature</sgmltag>.
</para><para>
If a <sgmltag>align-signatory-witness</sgmltag> is <sgmltag>horizontal</sgmltag>
the information in the
<sgmltag>signatory-record</sgmltag> is laid out horizontally.
If <sgmltag>vertical</sgmltag>, then the information is
laid out one under another.
Please look at the second
and third example under <sgmltag>party-signature</sgmltag>.
</para><para>
If <sgmltag>brace</sgmltag> is
<sgmltag>block-only</sgmltag>, then
there will be a brace or thick colun separator to the right of the
left column's content.  See the second to last
example under <sgmltag>party-signature</sgmltag>.
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para>
<para>
Additional Attributes:
</para><para>
<sgmltag>align-signatory-witness</sgmltag>
</para><para>
This indicates whether the <sgmltag>witness</sgmltag> and <sgmltag>signatorys</sgmltag>
arranged by row or vertically within each defined by the <sgmltag>signatory-record</sgmltag>
element.
This attribute can have the following values:
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="3.5in"/>
<tbody>
<row><entry>horizontal</entry><entry><para>
The signature information is laid out across the page.
</para></entry></row>
<row><entry>vertical</entry><entry><para>
The signature inforamtion is laid out vertically, with one item underneath another
</para></entry></row>
</tbody></tgroup></table>
</para><para>
<sgmltag>brace</sgmltag>
</para><para>
This specifies that a brace (or thick column separator) is rendered to
the right of the content in the
left column.

This attribute is
ignored when the <sgmltag>layout</sgmltag> attribute
for a <sgmltag>party-signature</sgmltag> is <sgmltag>right-column-only</sgmltag>.
<table><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="3.5in"/>
<tbody>
<row><entry><para>"horizontal"</para></entry><entry><para>
The signature information is laid out across the page.
</para></entry></row>
<row><entry><para>"vertical"</para></entry><entry><para>
The signature information is laid out with one item underneath another.
</para></entry></row>
</tbody>
</tgroup>
</table>
</para>
</section>

<section><title>Parents</title>
 <para>These elements contain <sgmltag>signatory-record</sgmltag>:
<link linkend="party-signature"><sgmltag>party-signature</sgmltag></link>,
<link linkend="signatory-group"><sgmltag>signatory-group</sgmltag></link>,
and
<link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
 </para>
</section>

<section><title>Children</title>
 <para>The following elements occur inside <sgmltag>signatory-record</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="signatory"><sgmltag>signatory</sgmltag></link>,
<link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
and
<link linkend="witness"><sgmltag>witness</sgmltag></link>
 </para>
</section>

<section><title>See Also</title>
  <para><link linkend="signatory"><sgmltag>signatory</sgmltag></link></para>
</section>

<section><title>Examples</title>
  <para>See <link linkend="party-signature" endterm="party-signature.title" /></para>
</section>
</section>


<section id="signature-line"><title id="signature-line.title">signature-line</title>
<para><sgmltag>signature-line</sgmltag> creates the line on which a pen-and-ink signature
is applied.</para>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
signature-line = element signature-line {

   (\text* &amp; field )*,

    signature-line.attlist
}

signature-line.attlist =
    common.attributes,
    signature-line.attlist.extensions

signature-line.attlist.extensions = empty

   </programlisting>
signature-line ::
<itemizedlist><listitem><para>Zero or more interleave of
<itemizedlist><listitem><para>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>This creates the line on which a pen-and-ink signature
may be written on a printed document.</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>These elements contain <sgmltag>signature-line</sgmltag>:
<link linkend="entry"><sgmltag>entry</sgmltag></link>
<link linkend="signatory"><sgmltag>signatory</sgmltag></link>
and
<link linkend="witness"><sgmltag>witness</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>signature-line</sgmltag>:
<link linkend="text"><sgmltag>text</sgmltag></link>
and
<link linkend="field"><sgmltag>field</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>Please see <link linkend="party-signature" endterm="party-signature.title" />
for extensive examples.</para></section>

</section>
</section>
<section  id="statutory-em"><title id="statutory-em.title">statutory-em</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>statuory-em</sgmltag> has a mixed content model.
<programlisting>
statutory-em = element statutory-em {
    inline.content,

    statutory-em.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional

statutory-em.attlist =
        common.attributes,
        statutory-em.class.attribute,
        statutory-em.attlist.extensions

statutory-em.class.attribute =    standard.class
statutory-em.attlist.extensions = empty
</programlisting>

statutory-em ::=
<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is used to mark up content that must be emphasized as per
a particular statute.  Presumably, the application program will
render the contract emphasizing the text as required by that statute.
The TC recognized this need in <citation>Min0216</citation>.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements contain <sgmltag>statutory-em</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside: <sgmltag>statutory-em</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="em"><sgmltag>em</sgmltag></link>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Statutory-em Example</title>
<programlisting>
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of inline elements&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;The location to deliver &lt;em&gt;the item&lt;/em&gt;
    &lt;strike&gt;has to be one of &lt;statutory-em&gt;designated
    terminals.&lt;/statutory-em&gt;&lt;/strike&gt; will be any places.&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>
</section></section>


<section id="strike"><title id="strike.title">strike</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>strike</sgmltag>
has a mixed content model.
<programlisting>
strike = element strike {
    inline.content,

    strike.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional

strike.attlist =
    common.attributes,
    strike.attlist.extensions

strike.attlist.extensions = empty
</programlisting>


strike ::=
<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is used to markup text that is to be struck  through.  This is
commonly used to indicate changes between versions of documents.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements contain <sgmltag>strike</sgmltag>:
<link linkend="text"><sgmltag>text</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>strike</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
<link linkend="strike"><sgmltag>sup</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Example of the strike element</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of inline elements&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;The location to deliver &lt;em&gt;the item&lt;/em&gt;
    &lt;strike&gt;has to be one of &lt;statutory-em&gt;designated
    terminals.&lt;/statutory-em&gt;&lt;/strike&gt; will be any places.&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>
</section></section>


<section id="sub"><title id="sub.title">sub</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>sub</sgmltag> has a mixed content model:
<programlisting>
sub = element sub {
    inline.content,

    sub.attlist
}

inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
sub.attlist =
    common.attributes,
    sub.attlist.extensions

sub.attlist.extensions = empty
   </programlisting>
sub ::=
<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is used to mark up content to be subscripted.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements cotnain <sgmltag>sub</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>sub</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Example of sub and sup elements</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of sub and sup&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;The Elkera&lt;sup&gt;3&lt;/sup&gt; Business Narrative
Markup Language (BNML&lt;sup&gt;1&lt;/sup&gt;)&lt;/text&gt;
    &lt;/block&gt;
    &lt;block&gt;
      &lt;text&gt;A&lt;sub&gt;10&lt;/sub&gt;&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>
</section></section>


<section id="subtitle"><title id="subtitle.title">subtitle</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>subtitle</sgmltag> has a mixed content model.
<programlisting>
subtitle = element subtitle {
    inline.content,

    subtitle.attlist
}
inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
subtitle.attlist =
    common.attributes,
    subtitle.attlist.extensions

subtitle.attlist.extensions = empty
</programlisting>

subtitle ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="citation"><sgmltag>citation</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Description</title><para>
This contains a secondary title for the parent structure.
The
subtitle is usually intended to further explain the title.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Parents</title>
<para>These elements contain <sgmltag>subtitle</sgmltag>:
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>
and
<link linkend="contract"><sgmltag>contract</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>subtitle</sgmltag>:
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></section>
<section><title>See Also:</title><para><link linkend="title"><sgmltag>title</sgmltag></link>
</para>
</section>
<section><title>Examples</title><para>
<example><title>Example of a subtitle element</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Subtitle Example &lt;/text&gt;&lt;/title&gt;
  &lt;subtitle&gt;Here is a &lt;em&gt;subtitle&lt;/em&gt; for this subcontract
    eContracts specifcation draft
  &lt;/subtitle&gt;





  &lt;body&gt;&lt;/body&gt;

  &lt;back&gt;&lt;/back&gt;

  &lt;attachments&gt;

    &lt;attachment&gt;&lt;title&gt;&lt;text&gt;Attachment Title&lt;/text&gt;&lt;/title&gt;&lt;subtitle&gt;Attachment
Subtitle&lt;/subtitle&gt;&lt;subtitle&gt;More than One Subtitle
Allowed&lt;/subtitle&gt;&lt;/attachment&gt;
  &lt;/attachments&gt;

&lt;/contract&gt;


</programlisting>
</example>
</para></section>
</section></section>
<section id="sup"><title id="sup.title">sup</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>sup</sgmltag> has a
mixed content model.
<programlisting>
sup = element sup {
    inline.content,

    sup.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional

sup.attlist =
    common.attributes,
    sup.attlist.extensions

sup.attlist.extensions = empty

</programlisting>
sup ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
</section>
</section>
<section><title>Description</title>
<para>
This is used to markup text that is to be superscripted.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para></section>
<section><title>Parents</title><para>
These elements contain <sgmltag>sup</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>,
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>,
<link linkend="name"><sgmltag>name</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="terms"><sgmltag>terms</sgmltag></link>,
<link linkend="text"><sgmltag>text</sgmltag></link> and
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>sup</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
<example><title>Example showing the sub and sup elements</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of sub and sup&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;The Elkera&lt;sup&gt;3&lt;/sup&gt; Business Narrative
Markup Language (BNML&lt;sup&gt;1&lt;/sup&gt;)&lt;/text&gt;
    &lt;/block&gt;
    &lt;block&gt;
      &lt;text&gt;A&lt;sub&gt;10&lt;/sub&gt;&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>
</section></section>


<section id="table"><title id="table.title">table</title>
<section><title>Synopsis</title><para>
This is a table.  This element and all other elements contained
by <sgmltag>table</sgmltag> are taken from the OASIS Exchange Table Model.
Please refer to that specification for full details of this element.
<citation>table1</citation>, <citation>table2</citation>
</para>
<section><title>Content Model </title><para>
<programlisting>
table = element table {
    title?, tgroup+,

    table.attlist
}

table.attlist =
    common.attributes,
    orient.attribute,
    [a:defaultValue = "all"]
    attribute frame { "top" | "bottom" | "topbot" | "all" | "sides" | "none" }?,
    attribute colsep { xsd:boolean }?,
    attribute rowsep { xsd:boolean }?,
    attribute pgwide { xsd:boolean }?,
    table.attlist.extensions

table.attlist.extensions = empty

</programlisting>
table ::=
<itemizedlist><listitem><para>Sequence of
<itemizedlist><listitem><para><link linkend="title"><sgmltag>title</sgmltag></link>
</para></listitem><listitem><para>
One or more <link linkend="tgroup"><sgmltag>tgroup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="orient.attribute" endterm="orient.attribute.title" />
</para><para>Additional Attributes<itemizedlist><listitem><para>frame<itemizedlist><listitem><para>"top"</para></listitem><listitem><para>"bottom"</para></listitem><listitem><para>"topbot"</para></listitem><listitem><para>"all"</para></listitem><listitem><para>"sides"</para></listitem><listitem><para>"none"</para></listitem></itemizedlist>
</para></listitem><listitem><para>
colsep</para></listitem><listitem><para>rowsep</para></listitem><listitem><para>pgwide</para></listitem>
<listitem><para>summary</para></listitem><listitem><para>title</para></listitem>
</itemizedlist>
</para></section>
</section>
<section><title>Description</title>
<para>
This is a table.
This element and all other elements contained by <sgmltag>table</sgmltag> are taken from the OASIS Exchange Table Model.
Please refer to that specification for full details of this element.
<citation>table1</citation>,<citation>table2</citation>.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="orient.attribute" endterm="orient.attribute.title" />
</para><para>Additional Attributes:
This section only provides a brief description of each attribute's purpose.
Please refer to the OASIS Exchange Table Model
for details and processing semantics
of these
attributes.
<variablelist>
<varlistentry><term>frame</term> <listitem><para>
This is to control the table frame, that is the border rendered around
the table:
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>top</sgmltag></entry><entry>below title</entry></row>
<row><entry><sgmltag>sides</sgmltag></entry><entry>(left and right sides)</entry></row>
<row><entry><sgmltag>bottom</sgmltag></entry><entry>after information
for last <sgmltag>row</sgmltag></entry></row>
<row><entry><sgmltag>topbot</sgmltag></entry><entry>both <sgmltag>top</sgmltag>
and <sgmltag>bottom</sgmltag></entry></row>
<row><entry><sgmltag>none</sgmltag></entry><entry>none of the above</entry></row>
<row><entry><sgmltag>all</sgmltag></entry><entry>all of the above</entry></row>
</tbody>
</tgroup>
</table>
</para></listitem> </varlistentry>
<varlistentry><term>colsep</term> <listitem><para>
This controls the display of the column separator to the right of
the  cells in the table.
</para></listitem> </varlistentry> <varlistentry><term>
rowsep</term> <listitem><para>
This controls the display of the row separator underneath the  cell in the
table.
</para></listitem> </varlistentry> <varlistentry><term>
pgwide</term> <listitem><para>
This controls whether the table spans the entire page.
</para></listitem> </varlistentry>
<varlistentry><term>summary</term> <listitem><para>This is a summary
of the table content.  This attribute is provided to support the
WAI Web
Content Accessibility Guidelines.
</para></listitem> </varlistentry> <varlistentry><term>
title</term> <listitem><para>This is the table title.
This attribute should be used when the
title element is not specified (i. e.
when the table title is not required in the rendered
text of the table).  This attribute
is provided to support the WAI Web Content Accessibility
Guidelines.
</para></listitem> </varlistentry></variablelist>
</para>
</section>

<section><title>Parents</title>
<para>
These elements contain <sgmltag>table</sgmltag>:
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>table</sgmltag>:
<link linkend="tgroup"><sgmltag>tgroup</sgmltag></link>
and
<link linkend="title"><sgmltag>title</sgmltag></link>
</para></section>
<section><title>See also:</title>
<para>
The TC noted the possibility
of using markup for table for signatures.  However, the TC thought
that it would be more preferable to use markup specifically
for signatures such as that provided
by <link linkend="party-signature"><sgmltag>party-signature</sgmltag></link>
and <link linkend="signatory-group"><sgmltag>signatory-group</sgmltag></link>.
</para></section>
<section><title>Example</title><para>
<example><title>Example showing a table</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of
               - table
               - tgroup
  &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;table&gt;
        &lt;tgroup cols="1"&gt;
          &lt;colspec colnum="1" colname="C1" colwidth="10" colsep="true"
                rowsep="false" align="justify"/&gt;
          &lt;thead&gt;
            &lt;row&gt;&lt;entry&gt;&lt;block&gt;&lt;/block&gt;&lt;/entry&gt;&lt;/row&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;row&gt;&lt;entry&gt;&lt;block&gt;&lt;/block&gt;&lt;/entry&gt;&lt;/row&gt;
          &lt;/tbody&gt;
        &lt;/tgroup&gt;
      &lt;/table&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para></section>
</section></section>


<section id="tbody"><title id="tbody.title">tbody</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
tbody = element tbody {
    row+,

    tbody.attlist
}

tbody.attlist =
    common.attributes,
    [a:defaultValue = "middle"]
    attribute valign  { TableValign }?,
    tbody.attlist.extensions

TableValign = "top" | "middle" | "bottom"

tbody.attlist.extensions = empty
</programlisting>
tbody ::=
<itemizedlist><listitem><para>One or more<itemizedlist><listitem><para>
<link linkend="row"><sgmltag>row</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>Additional Attributes<itemizedlist><listitem><para>
valign</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
This is the table body.
This element and all other elements contained by <sgmltag>table</sgmltag> are taken from the OASIS Exchange Table Model.
Please refer to that specification for full details of this element.
<citation>table1</citation>,<citation>table2</citation>.
</para>
<section><title>Attributes</title>
<para>
This section only provides a brief description of each attribute's purpose.
Please refer to
the OASIS Exchange Table Model for details and processing semantics of these
attributes:
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
<variablelist>
<varlistentry><term>
valign</term> <listitem><para>This is the default for all <link linkend="row"><sgmltag>row</sgmltag></link>
and <link linkend="entry"><sgmltag>entry</sgmltag></link>
within the <sgmltag>tbody</sgmltag> element.

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>top</sgmltag></entry><entry><para>Align content at the top
of the row.</para></entry></row>
<row><entry><sgmltag>middle</sgmltag></entry><entry><para>Center content within the row (default)</para></entry></row>
<row><entry><sgmltag>bottom</sgmltag></entry><entry><para>Align content at the
bottom of the row.</para></entry></row>
</tbody>
</tgroup>
</table>
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>tbody</sgmltag>:
<link linkend="tgroup"><sgmltag>tgroup</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>tbody</sgmltag>:
<link linkend="row"><sgmltag>row</sgmltag></link>
</para></section>
<section><title>Example:</title><para>Please see <link linkend="table"><sgmltag>table</sgmltag></link>.</para></section>

</section>
</section>
<section id="term"><title id="term.title">term</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>term</sgmltag> has a mixed content model.
</para>
<para>
<programlisting>
term = element term {
    inline.content,

    term.attlist
}

term.attlist =
        common.attributes,
        term.class.attribute,
        term.attlist.extensions

term.class.attribute =      standard.class
term.attlist.extensions =   empty

</programlisting>
term ::=
<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
<para>Additional Attributes
<itemizedlist><listitem><para>
"abbreviation"</para></listitem></itemizedlist>
</para>
</section>
</section>
<section><title>Description</title>
<para>
The <sgmltag>term</sgmltag> element contains a single term, either at its place of definition, or its place of reference.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title" />
</para>
<para>Additional Attributes:
<variablelist>
<varlistentry><term>
abbreviation</term> <listitem><para>
This is to provide an abbreviation for  a defined term.
This attribute is provided to support the
WAI Web Content Accessibility Guidelines.
</para></listitem> </varlistentry></variablelist>
</para>
</section>
<section><title>Parents</title><para>
These elements contain <sgmltag>date</sgmltag>:
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>
<link linkend="party"><sgmltag>party</sgmltag></link>
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>
<link linkend="terms"><sgmltag>terms</sgmltag></link>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para>
</section>
<section><title>Children</title><para>The following elements
occur inside <sgmltag>date</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></section>
<section><title>See Also</title>
<para>
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>
and <link linkend="field"><sgmltag>field</sgmltag></link>
</para>
</section>
<section><title>Examples</title>
<para>
Please see <link linkend="terms"><sgmltag>terms</sgmltag></link>
</para>
</section>
</section></section>


<section id="terms"><title id="terms.title">terms</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<sgmltag>terms</sgmltag> has a mixed content model.
<programlisting>
terms = element terms {
    (inline.content | term)*,

    terms.attlist
}


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
terms.attlist =
    common.attributes,
    terms.attlist.extensions


terms.attlist.extensions = empty
</programlisting>

terms ::=
<itemizedlist><listitem><para>Zero or More of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This is for definitions where the meaning is related to more than
a single term.  The <sgmltag>terms</sgmltag> element
may also contain text data (#PCDATA) between
<sgmltag>term</sgmltag> elements to allow for punctuation.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
<section><title>Parents</title>
<para>These element contain <sgmltag>terms</sgmltag>:
<link linkend="definition"><sgmltag>definition</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>terms</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
<link linkend="term"><sgmltag>term</sgmltag></link>
</para>
</section>
<section><title>Examples</title><para>
<example><title>Examples of term and terms elements</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of
               - terms and -term &lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;

    &lt;block&gt;
      &lt;definition&gt;
        &lt;terms&gt;&lt;term&gt;You&lt;/term&gt; or &lt;term&gt;Your&lt;/term&gt;&lt;/terms&gt;
        &lt;block&gt;
          &lt;text&gt;means an individual or entity exercising rights under this Licence.&lt;/text&gt;
        &lt;/block&gt;
      &lt;/definition&gt;
    &lt;/block&gt;

  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para></section>
</section>
</section>



<section id="text"><title id="text.title">text</title>
<para>
text - contains text and elements that markup parts of text, particularly
for formatting purposes.
</para>


<section><title>Synopsis</title>


<section><title>Content Model</title>
<para>
<sgmltag>text</sgmltag> has a mixed content model.
</para>
<para>
<programlisting>

\text = element text {
    (text.content.inner)*,

    text.attlist
}

text.attlist =
    common.attributes,
    text.class.attribute,
    text.textflow.attribute,
    text.xmlspace.attribute,
    text.attlist.extensions

text.class.attribute =      standard.class
text.textflow.attribute =   attribute textflow  { "runon" }?

text.xmlspace.attribute =
        [ a:defaultValue = "default" ]
        attribute xml:space { "default" | "preserve" }?

text.attlist.extensions =   empty


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional

text.content = (text.content.inner)*
text.content.inner = inline.content.inner | object | term | phrase | field
                     | note | note-in-line | name | address | date | party | person-record


</programlisting>

text ::=
<itemizedlist><listitem><para>
Choice of:
<itemizedlist><listitem><para>
<link linkend="address"><sgmltag>address</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="date"><sgmltag>date</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="note"><sgmltag>note</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="object"><sgmltag>object</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="party"><sgmltag>party</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="term"><sgmltag>term</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para>
</section>


<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title"/>
</para>
<para>
Additional attributes:
<itemizedlist>
 <listitem><para><sgmltag>textflow</sgmltag> (enumeration)
   <itemizedlist>
    <listitem><para>"runon"</para></listitem>
   </itemizedlist>
 </para></listitem>
 <listitem><para><sgmltag>xml:space</sgmltag> (enumeration)
   <itemizedlist>
     <listitem><para>"default"</para></listitem>
     <listitem><para>"preserve"</para></listitem>
   </itemizedlist>
 </para></listitem>
</itemizedlist>
</para>
</section>

</section>


<section><title>Description</title>
<para>
This is a container element for text data (#PCDATA)
and other inline elements such as those for emphasis.  It
is a semantic line element that enables formatting control
#PCDATA that occurs between and after block-formatted
content.
</para>


<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
and
<link linkend="Class.Attributes" endterm="Class.Attributes.title"/>
</para>
<para>
Additional Attributes:
<itemizedlist><listitem><para><sgmltag>textflow</sgmltag>
This indicates whether
this <sgmltag>text</sgmltag> element should be rendered in the same line
as the previous element.  Normally, if a <sgmltag>text</sgmltag>
element occurs after a structure that is formatted
as a block,
there will be
a line break.  If this attribute is <sgmltag>runon</sgmltag>, then
it will be on the same line.

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><para>"runon"</para></entry>
     <entry><para>If this <sgmltag>text</sgmltag> follows a structure
that is formatted as a <sgmltag>block</sgmltag>, the enclosed characters will appear on the same line as the text from the information from <sgmltag>block</sgmltag>.</para></entry>
</row>
</tbody>
</tgroup>
</table>

</para></listitem>
<listitem><para>
<sgmltag>xml:space</sgmltag>
This attribute is used to preserve white-space
within an element.
This attribute is defined by the XML specification.
Please refer to that specification for processing semantics.

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.5in"/>
<colspec colname="meaning" colwidth="3.5in"/>
<tbody>
<row><entry><para>"default"</para></entry><entry><para>Use application default
</para></entry></row>
<row><entry><para>"preserve"</para></entry><entry><para>Preserve
white space</para></entry></row>
</tbody>
</tgroup></table>
</para></listitem></itemizedlist>
</para>
</section>


<section><title>Parents</title>
<para>
These elements contain
<sgmltag>text</sgmltag>:
<link linkend="address"  ><sgmltag>address</sgmltag></link>,
<link linkend="block"><sgmltag>block</sgmltag></link>,
<link linkend="citation"><sgmltag>citation</sgmltag></link>
<link linkend="Conditional" ><sgmltag>Conditional</sgmltag></link>
<link linkend="date" ><sgmltag>date</sgmltag></link>
<link linkend="date-block"><sgmltag>date-block</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="fallback" ><sgmltag>fallback</sgmltag></link>
<link linkend="name" ><sgmltag>name</sgmltag></link>
<link linkend="note-in-line" ><sgmltag>note-in-line</sgmltag></link>
<link linkend="party"><sgmltag>party</sgmltag></link>,
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>,
<link linkend="reference" ><sgmltag>reference</sgmltag></link>
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="signature-line"><sgmltag>signature-line</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
<link linkend="sup"><sgmltag>sup</sgmltag></link>,
<link linkend="subtitle"><sgmltag>subtitle</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="term" ><sgmltag>term</sgmltag></link>
<link linkend="terms"><sgmltag>terms</sgmltag></link>,  and
<link linkend="title"><sgmltag>title</sgmltag></link>
</para>
</section>


<section><title>Children</title>
<para>The following elements occur inside <sgmltag>text</sgmltag>:
<link linkend="address"><sgmltag>address</sgmltag></link>,
<link linkend="date"><sgmltag>date</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="note"><sgmltag>note</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>,
<link linkend="object"><sgmltag>object</sgmltag></link>,
<link linkend="party"><sgmltag>party</sgmltag></link>,
<link linkend="person-record"><sgmltag>person-record</sgmltag></link>,
<link linkend="phrase"><sgmltag>phrase</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>, and
<link linkend="term"><sgmltag>term</sgmltag></link>
</para></section>


<section><title>See Also</title>
<para>
<link linkend="term"><sgmltag>term</sgmltag></link>,
<link linkend="note-in-line"><sgmltag>note-in-line</sgmltag></link>
</para></section>


<section><title>Examples</title>
<para>
The two examples below show the <sgmltag>text</sgmltag> in its
 most typical home, a <sgmltag>block</sgmltag> element as well as
some of the <sgmltag>inline.content</sgmltag> such as <sgmltag>em</sgmltag>
and <sgmltag>sub</sgmltag> that <sgmltag>text</sgmltag> often contains:
<example><title> An example showing  <sgmltag>text</sgmltag> element</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of sub and sup&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;The Elkera&lt;sup&gt;3&lt;/sup&gt; Business Narrative
Markup Language (BNML&lt;sup&gt;1&lt;/sup&gt;)&lt;/text&gt;
    &lt;/block&gt;
    &lt;block&gt;
      &lt;text&gt;A&lt;sub&gt;10&lt;/sub&gt;&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
<example><title>Another example showing  <sgmltag>text</sgmltag> element including inline elements</title>
<programlisting>
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of inline elements&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;block&gt;
      &lt;text&gt;The location to deliver &lt;em&gt;the item&lt;/em&gt;
    &lt;strike&gt;has to be one of &lt;statutory-em&gt;designated
    terminals.&lt;/statutory-em&gt;&lt;/strike&gt; will be any places.&lt;/text&gt;
    &lt;/block&gt;
  &lt;/body&gt;

&lt;/contract&gt;

</programlisting>
</example>
</para>
</section>

</section>

</section>

<section id="tgroup"><title id="tgroup.title">tgroup</title>
<section><title>Synopsis</title><para>
This is a
set of rows and possibly a header from a table.
</para>
<section><title>Content Model</title>
<para>
<programlisting>
tgroup = element tgroup {
    colspec*, thead?, tbody,

    tgroup.attlist
}

tgroup.attlist =
    common.attributes,
    attribute cols     { xsd:NMTOKEN },
    [a:defaultValue = "1"]
    attribute colsep   { xsd:boolean }?,
    [a:defaultValue = "1"]
    attribute rowsep   { xsd:boolean }?,
    [a:defaultValue = "left"]
    attribute align    { TableAlign }?,
    tgroup.attlist.extensions


TableAlign = "left" | "right" | "center" | "justify"
tgroup.attlist.extensions = empty

</programlisting>

tgroup ::=
<itemizedlist><listitem><para>
Sequence of
<itemizedlist><listitem><para>
Zero or more <link linkend="colspec"><sgmltag>colspec</sgmltag></link>
</para></listitem><listitem><para>
Zero or one <link linkend="thead"><sgmltag>thead</sgmltag></link>
</para></listitem><listitem><para>
Exactly one <link linkend="tbody"><sgmltag>tbody</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>

<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>Additional Attributes:
<itemizedlist><listitem><para>
cols
</para></listitem><listitem><para>
colsep
</para></listitem><listitem><para>
rowsep
</para></listitem><listitem><para>
align
</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
This is the table group.
This element and all other elements contained by <sgmltag>table</sgmltag> are taken from the OASIS Exchange Table Model.
Please refer to that specification for full details of this element.
<citation>table1</citation>,<citation>table2</citation>.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
This section only provides a brief description of each attribute's purpose.
Please refer to the OASIS Exchange Table Model for details and
processing semantics of these attributes.
</para><para>Additional Attributes:
<variablelist>
<varlistentry><term>align</term> <listitem><para>
The horizontal alignment for content contained in the cell.

<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>left</sgmltag></entry><entry><para>align to the left (default)</para></entry></row>
<row><entry><sgmltag>right</sgmltag></entry><entry><para>align to the right
(default)</para></entry></row>
<row><entry><sgmltag>center</sgmltag></entry><entry><para>center the text</para></entry></row>
<row><entry><sgmltag>justify</sgmltag></entry><entry><para>justify the text</para></entry></row>
</tbody>
</tgroup>
</table>
</para></listitem></varlistentry>
<varlistentry><term>cols</term> <listitem><para>Number of columns in
the <sgmltag>tgroup</sgmltag></para></listitem> </varlistentry> <varlistentry><term>colsep</term> <listitem><para>This controls the display of the column separator
to the right of the  cells  within the <sgmltag>tgroup</sgmltag>.
</para></listitem> </varlistentry> <varlistentry><term>rowsep</term> <listitem><para>This controls the display of this row separator
underneath the  cells in this <sgmltag>tgroup</sgmltag>.</para></listitem> </varlistentry> </variablelist>
</para></section>

<section><title>Parents</title>
<para>These elements occur inside <sgmltag>tgroup</sgmltag>:
<link linkend="table"><sgmltag>table</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>tgroup</sgmltag>:
<link linkend="colspec"><sgmltag>colspec</sgmltag></link>,
<link linkend="thead"><sgmltag>thead</sgmltag></link>
and
<link linkend="tbody"><sgmltag>tbody</sgmltag></link>
</para></section>
<section><title>Example:</title><para>Please see <link linkend="table"><sgmltag>table</sgmltag></link>.</para></section>
</section></section>

<section id="thead"><title id="thead.title">thead</title>
<section><title>Synopsis</title><para>
This is the table
header.
</para>
<section><title>Content Model</title>
<para>
<programlisting>
thead = element thead {
    row+,

    thead.attlist
}

thead.attlist =
    common.attributes,
    [a:defaultValue = "middle"]
    attribute valign  { TableValign }?,
    thead.attlist.extensions

TableValign = "top" | "middle" | "bottom"

thead.attlist.extensions = empty
</programlisting>

thead ::=
<itemizedlist><listitem><para>One or more<itemizedlist><listitem><para>
<link linkend="row"><sgmltag>row</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>Additional Attributes<itemizedlist><listitem><para>
valign</para></listitem></itemizedlist>
</para></section>
</section>
<section><title>Description</title><para>
This is the table header.
This element and all other elements contained by <sgmltag>table</sgmltag> are taken from the OASIS Exchange Table Model.
Please refer to that specification for full details of this element.
<citation>table1</citation>,<citation>table2</citation>.
</para>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para><para>
This element only provides
brief description of each attribute's purpose.
Please refer to the OASIS Exchange Table Model
for details and processing semantics  of these
attributes.
<variablelist>
<varlistentry><term>
valign</term> <listitem><para>
The vertical alignment for
all <link linkend="row"><sgmltag>row</sgmltag></link>
and <link linkend="entry"><sgmltag>entry</sgmltag></link>
within the <sgmltag>thead</sgmltag> element.
<table colsep="1" rowsep="1"><title>(enumeration)</title>
<tgroup cols="2">
<colspec colname="value" colwidth="2.0in"/>
<colspec colname="meaning" colwidth="4.0in"/>
<tbody>
<row><entry><sgmltag>top</sgmltag></entry><entry>Align content at the top of cell.</entry></row>
<row><entry><sgmltag>middle</sgmltag></entry><entry>Centered content within the cell.</entry></row>
<row><entry><sgmltag>bottom</sgmltag></entry><entry>Align content at the bottom of
the cell.</entry></row>
</tbody>
</tgroup>
</table>
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para>These elements contain <sgmltag>thead</sgmltag>:
<link linkend="tgroup"><sgmltag>tgroup</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>thead</sgmltag>:
<link linkend="row"><sgmltag>row</sgmltag></link>
</para></section>
<section><title>Example:</title><para>Please see <link linkend="table"><sgmltag>table</sgmltag></link>.</para></section>

</section>
</section>
<section id="title"><title id="title.title">title</title>
<section><title>Synopsis</title>
<section><title>Content Model</title>
<para>
<programlisting>
title = element title {
    \text+,

    title.attlist
}

title.attlist =
    common.attributes,
    title.attlist.extensions

title.attlist.extensions = empty
</programlisting>

title ::=
<itemizedlist><listitem><para>Zero or more occurrences of
<itemizedlist><listitem><para><link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title>
<para>
<link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title><para>
This is used to indicate the title for
the contract itself,
attachments, elements
in lists, and many other elements, as listed below.
</para>


<section><title>Parents</title>
<para>These elements contain <sgmltag>title</sgmltag>:
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>
<link linkend="background"><sgmltag>background</sgmltag></link>
<link linkend="back"><sgmltag>back</sgmltag></link>
<link linkend="body"><sgmltag>body</sgmltag></link>
<link linkend="contract"><sgmltag>contract</sgmltag></link>
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
<link linkend="itemregular"><sgmltag>item</sgmltag></link>
<link linkend="block.item"><sgmltag>block.item</sgmltag></link>
<link linkend="parties"><sgmltag>parties</sgmltag></link>
<link linkend="table"><sgmltag>table</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>title</sgmltag>:
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></section>
<section><title>See Also:</title><para>subtitle</para></section>
<section><title>Examples</title>
<para>
<example><title>To illustrate a title in an otherwise minimal contract.</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;
 &lt;title&gt;&lt;text&gt;Minimum XML sample&lt;/text&gt;&lt;/title&gt;
 &lt;body&gt;
 &lt;/body&gt;
&lt;/contract&gt;
</programlisting>
</example>
</para></section>
</section></section>

<section id="witness"><title id="witness.title">witness</title>

<section><title>Synopsis</title>
<para>
witness (a person who witnesses the signing of a contract or document)
</para>
<section><title>Content Model</title>
<para>
<programlisting>
witness = element witness {

    (signature-line | block)*,

    witness.attlist
}

witness.attlist =
    common.attributes,
    witness.attlist.extensions

witness.attlist.extensions = empty
</programlisting>

witness ::=

<itemizedlist><listitem><para>Zero or more of
<itemizedlist>
<listitem><para><link linkend="signature-line"><sgmltag>signature-line</sgmltag></link>
</para></listitem>
<listitem><para>
<link linkend="block"><sgmltag>block</sgmltag></link>
</para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para>
</section>
<section><title>Attributes</title>
<para><link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para></section>
</section>
<section><title>Description</title>
<para>
This is the person who witnesses the signing of the document.
</para>
<section><title>Attributes</title>
<para><link linkend="Common.Attributes" endterm="Common.Attributes.title" />
</para>
</section>
<section><title>Parents</title>
<para>These elements contain <sgmltag>witness</sgmltag>:
<link linkend="signatory-record"><sgmltag>signatory-record</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements appear inside <sgmltag>witness</sgmltag>:
<link linkend="signature-line"><sgmltag>signature-line</sgmltag></link>
and <link linkend="block"><sgmltag>block</sgmltag></link>.
</para></section>
<section><title>See Also</title>
<para>
<link linkend="signatory"><sgmltag>signatory</sgmltag></link>
</para></section>
<section><title>Examples</title>
<para>Please see <link linkend="party-signature" endterm="party-signature.title" />
</para></section>
</section>
</section>


<section id="xi:fallback"><title id="xi:fallback.title">xi:fallback</title>
<section><title>Synopsis</title>
<para>
</para>
<section><title>Content Model</title><para><sgmltag>xi:fallback</sgmltag>
has a mixed content model.
<programlisting>
    xiInclude = element xi:include {

        element xi:fallback {

            (xiInclude.fallback.model)*

        }?,
        attribute href { xsd:anyURI }?,
        xiInclude.extensions

    }

    xiInclude.fallback.model = xiInclude | inline.content.inner
    xiInclude.extensions = empty


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
}
</programlisting>
xi:fallback ::=

<itemizedlist><listitem><para>Zero or more of <itemizedlist><listitem><para>
<link linkend="Conditional"><sgmltag>Conditional</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="em"><sgmltag>em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="field"><sgmltag>field</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="reference"><sgmltag>reference</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="strike"><sgmltag>strike</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sub"><sgmltag>sub</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="sup"><sgmltag>sup</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="text"><sgmltag>text</sgmltag></link>
</para></listitem><listitem><para>
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></listitem></itemizedlist></para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title><para>None.</para></section>
</section>
<section><title>Description</title><para>
This is <sgmltag>xi:include</sgmltag> fallback text.
This element and all other elements contained by <sgmltag>xi:include</sgmltag>
are taken from the World Wide ConsoritumXML Inclusions recommendation.
Please refer to that specification for full details of this element.
</para>

<section><title>Parents</title>
<para>These elements contain <sgmltag>xi:fallback</sgmltag>:
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></section>

<section><title>Children</title>
<para>The following elements occur inside <sgmltag>xi:fallback</sgmltag>:
</para><para>
<link linkend="Conditional"><sgmltag>conditional</sgmltag></link>,
<link linkend="em"><sgmltag>em</sgmltag></link>,
<link linkend="field"><sgmltag>field</sgmltag></link>,
<link linkend="reference"><sgmltag>reference</sgmltag></link>,
<link linkend="statutory-em"><sgmltag>statutory-em</sgmltag></link>,
<link linkend="strike"><sgmltag>strike</sgmltag></link>,
<link linkend="sub"><sgmltag>sub</sgmltag></link>,
<link linkend="sup"><sgmltag>sup</sgmltag></link>
<link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></section>
<section><title>See Also:</title><para>
Please do not confuse this with
<link linkend="fallback"><sgmltag>fallback</sgmltag></link>
</para><para>
<sgmltag>xi:fallback</sgmltag> can only be used inside <link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></section>
<section><title>Example</title>
<para>Please see the example for <link linkend="xi:include"><sgmltag>xi:include</sgmltag></link>
</para></section></section>
</section>
<section id="xi:include"><title id="xi:include.title">xi:include</title>
<section><title>Synopsis</title>
<para>
This allow including or bringing in content
from other files.  It uses the World Wide Web Consortium XML
Inclusions recommendation:
</para><para>
<ulink url="http://www.w3.org/TR/2004/PR-xinclude-20040930">
http://www.w3.org/TR/2004/PR-xinclude-20040930</ulink>
</para>
<section><title>Content Model</title><para>
<programlisting>
    xiInclude = element xi:include {

        element xi:fallback {

            (xiInclude.fallback.model)*

        }?,
        attribute href { xsd:anyURI }?,
        xiInclude.extensions

    }


inline.content = (inline.content.inner)*
inline.content.inner = text | reference | em | statutory-em | strike | sub | sup | field

    inline.content.inner |= conditional
    xiInclude.fallback.model = xiInclude | inline.content.inner
    xiInclude.extensions = empty

}
</programlisting>
xi:include::=
<itemizedlist><listitem><para>Zero or one  <link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para></listitem></itemizedlist>
</para></section>
<section><title>Attributes</title><para>href</para></section>
</section>
<section><title>
Description</title><para>
As mentioned above, this is taken from
other files.  It uses the World Wide Web Consortium XML
Inclusions recommendation:
</para><para>
<ulink url="http://www.w3.org/TR/2004/PR-xinclude-20040930">
http://www.w3.org/TR/2004/PR-xinclude-20040930</ulink>
</para><para>
It specifies an external reference from
which to load the content.
</para>
<para>
A sample use might be for a law firm that has certain standard boilerplate that is put
in every lease.  At the appropriate
point in the xml text for the lease one would have:
<programlisting>
&lt;xi:include href="boilerplate.xml"/&gt;
</programlisting>
Currently, only the <sgmltag>href</sgmltag> attribute is implemented in the
schemas.
As per
the X-Include standard, we provide for an <sgmltag>xi:fallback</sgmltag>.
This gives the ifnormation to be included
when
the indicated file is not located.
</para>
<section><title>Attributes</title>
<para>
<variablelist><varlistentry><term>href
</term> <listitem><para>This specifies the URI (possibly after
escaping characters) from which to load the content.
</para></listitem> </varlistentry></variablelist>
</para></section>

<section><title>Parents</title>
<para><sgmltag>xi:include</sgmltag> appears inside:
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
<link linkend="attachment"><sgmltag>attachment</sgmltag></link>
<link linkend="back"><sgmltag>back</sgmltag></link>
<link linkend="background"><sgmltag>background</sgmltag></link>
<link linkend="body"><sgmltag>body</sgmltag></link>
<link linkend="entry"><sgmltag>entry</sgmltag></link>
<link linkend="inclusion"><sgmltag>inclusion</sgmltag></link>
<link linkend="itemregular"><sgmltag>itemregular</sgmltag></link>
</para></section>
<section><title>Children</title>
<para>The following elements occur inside <sgmltag>xi:include</sgmltag>:
<link linkend="xi:fallback"><sgmltag>xi:fallback</sgmltag></link>
</para></section>

<section><title>Example:</title><para>
This will bring in <filename>Inventry01.xml</filename>.
If that
is not available, it will bring in <filename>Acct.xml</filename>.
If both of these files are not available, it will bring
in the text:
<programlisting>
This is the fallback of Acct.xml
</programlisting>
</para><para>
It will then include <filename>Terminal.xml</filename>.  Should this file not
be available, this will be a fatal error.
<example><title>Example of xInclude element as well as fallback element</title>
<programlisting>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;contract xmlns="urn:oasis:names:tc:eContracts:1:0"
          xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:xi="http://www.w3.org/2001/XInclude"&gt;

  &lt;title&gt;&lt;text&gt;Sample of xi:include.&lt;/text&gt;&lt;/title&gt;

  &lt;body&gt;
    &lt;xi:include href="Inventry01.xml"&gt;
      &lt;xi:fallback&gt;
        &lt;xi:include href="Acct.xml"&gt;
          &lt;xi:fallback&gt;This is the fallback of Acct.xml.&lt;/xi:fallback&gt;
        &lt;/xi:include&gt;
      &lt;/xi:fallback&gt;
    &lt;/xi:include&gt;
    &lt;xi:include href="Terminal.xml"/&gt;
  &lt;/body&gt;

&lt;/contract&gt;


</programlisting>
</example>
</para></section>
</section></section>


</appendix>
<appendix id="a.committee" role="non-normative">
<title>Acknowledgments</title>

<para>The following members of the committee have participated in the creation of this specification:

<itemizedlist spacing="compact">
<listitem><para>Rolly Chambers, American Bar Association</para></listitem>
<listitem><para>Daniel Greenwood, Electronic Commerce Architecture
Project, Massachussets Institute of Technology</para></listitem>
<listitem><para>Dr. Laurence Leff, Individual Member</para></listitem>
<listitem><para>Mr. Dave Marvit, Fujitsu Corporation</para></listitem>
<listitem><para>Mr. Peter Meyer, Associate Member</para></listitem>
<listitem><para>Dr. Zoran Milosevic, Individual Member</para></listitem>
</itemizedlist>
The following persons
assisted in the writing and review of this specification.
There contributions are gratefully acknowledged:
<itemizedlist><listitem><para>
Mr. Nobuhiro Sasagawa
</para></listitem><listitem><para>
Mr. Andrew Squire
</para></listitem><listitem><para>
Dr. Hoylen Sue
</para></listitem></itemizedlist>
Contributions by the following persons who were formerly members of
the Technical Committee
are gratefully acknowledged:
<itemizedlist><listitem><para>Mr. Jason Harrop, Individual Member
</para></listitem><listitem><para>Mr. John McClure, Individual Member
</para></listitem></itemizedlist>

The eContracts Schema is derived from an instance of the BNML Schema contributed to OASIS by Elkera Pty Limited (http://www.elkera.com). The contribution of Elkera Pty Limited is gratefully acknowledged.</para>


</appendix>
<bibliography id="bibl"><title>References</title>

<bibliodiv><title>Normative</title>

<bibliomixed id="dc"><abbrev>dc</abbrev>
<citetitle>Dublin Core Metadata Element Set, Version 1.1: Reference
Description</citetitle>
2004-12-20, http://dublincore.org/documents/dces</bibliomixed>
	<bibliomixed id="XInclude"><abbrev>XInclude</abbrev>
<citetitle>XML Inclusions (XInclude) Version 1.0</citetitle>
W3C Proposed Recommendation 30 September 2004</bibliomixed>

<bibliomixed id="rfc2119"><abbrev>RFC 2119</abbrev>S. Bradner.
<citetitle><ulink url="http://www.ietf.org/rfc/rfc2119.txt">RFC 2119:
Key words for use in RFCs to Indicate Requirement Levels</ulink></citetitle>.
IETF (Internet Engineering Task Force). 1997.</bibliomixed>



</bibliodiv>

<bibliodiv><title>Non-normative</title>
<bibliomixed id="CM"><abbrev>CM</abbrev>
eContracts Structure sub-committee, Harrop, Jason, editor,
eContracts Structure Markup - Preliminary,
July 19, 2004.
<bibliomisc><ulink url="http://www.oasis-open.org/committees/documents.php?wg_abbrev=legalxml-econtracts">
http://www.oasis-open.org/committees/documents.php?wg_abbrev=legalxml-econtracts
</ulink></bibliomisc>
</bibliomixed>
<bibliomixed id="crc"><abbrev>crc</abbrev>
Australian Government, Department of Education, Science
and Training,
2006 CRC Commonwealth Agreement,
<bibliomisc><ulink url="https://www.crc.gov.au/HTMLDocuments/Documents/PDF/Comm_Agreement.pdf">
https://www.crc.gov.au/HTMLDocuments/Documents/PDF/Comm_Agreement.pdf
</ulink></bibliomisc></bibliomixed>
<bibliomixed id="grand93"><abbrev>grand93</abbrev>
Grand, Mark, "Mime Overview" Revised
October 26, 1993
<bibliomisc><ulink url="http://mgrand.home.mindspring.com/mime.html"/>
</bibliomisc>
</bibliomixed>


<bibliomixed id="meyer03">
<abbrev>meyer03</abbrev>
Meyer, Peter and Harrop, Jason:
OASIS Legal XML eContracts TC Requirements Process: Requirements
for Clause Model,
Draft Number, May 27, 2003.

<bibliomisc><ulink url="http://www.oasis-open.org/committees/documents.php?wg_abbrev=legalxml-econtracts">
http://www.oasis-open.org/committees/documents.php?wg_abbrev=legalxml-econtracts
</ulink></bibliomisc><bibliomisc>
<ulink url="http://lists.oasis-open.org/archives/legalxml-econtracts">
http://lists.oasis-open.org/archives/legalxml-econtracts
</ulink></bibliomisc>
</bibliomixed>

<bibliomixed id="meyer05">
<abbrev>meyer05</abbrev>
Meyer, Peter,
"A Proposed XML Standard for Contract
Documents"
Presented at IDEAlliance XML2005 in Atlanta Georgia
<bibliomisc><ulink url="www.elkera.com/cms/articles/seminars_and_presentations/xml_2005_atlanta_ga">
(www.elkera.com/cms/articles/seminars_and_presentations/xml_2005_atlanta_ga)</ulink>
</bibliomisc>
</bibliomixed>
<bibliomixed id="meyer06">
<abbrev>meyer06</abbrev>
Meyer, Peter, "Extracting More Value From and Reducing the Cost of
Precedents"
Presentation at the Sinch Precedents Automation Conference,
Sydney, 26 October 2006,
<bibliomisc><ulink url="www.ccthefile.com/sinchseminars/spac06/">
www.ccthefile.com/sinchseminars/spac06</ulink></bibliomisc>
</bibliomixed>

<bibliomixed id="oxford"><abbrev>oxford</abbrev>
Agreement for the Supply of Services by
External Consultancy, <bibliomisc><ulink url="
http://www.admin.ox.ac.uk/rso/contracts/CA13.doc">
http://www.admin.ox.ac.uk/rso/contracts/CA13.doc
</ulink></bibliomisc>
</bibliomixed>
<bibliomixed id="RD"><abbrev>RD</abbrev>
OASIS Legal XML Contracts TC
<citetitle>Requirements for a Technical
Specification</citetitle>
On
<bibliomisc><ulink url="www.oasis-open.org/committees/documents.php?wg_abbrev=legalxml-econtracts">OASIS LegalXML eContracts TC Public Documents</ulink></bibliomisc>.
Version Number 1.0, May 20, 2005</bibliomixed>

<bibliomixed id="Relax"><abbrev>Relax</abbrev>
Clark, James, Cown, John and Murata, Makoto,
"Relax NG Compact Syntax Tutorial"
Working Draft 26 March 2003,
<bibliomisc><ulink url="http://relaxng.org/compact-tutorial-20030326.html">
http://relaxng.org/compact-tutorial-20030326.html</ulink></bibliomisc>
</bibliomixed>
<bibliomixed id="sperberg"><abbrev>sperberg</abbrev>
<bibliomisc><ulink url="www.w3.org/2000/04/26-csrules.html"/>
</bibliomisc>
C. M. Sperberg-McQueen, <citetitle>Context-sensitive Rules in XML Schema</citetitle>
rev. 25 April 2000</bibliomixed>

<bibliomixed id="table1"><abbrev>table1</abbrev>
CALS "XML Exchange Table Model" <bibliomisc><ulink url="www.oasis-open.org/specs/soextblx.dtd"/></bibliomisc></bibliomixed>
<bibliomixed id="table2"><abbrev>table2</abbrev>
Norman Walsh
OASIS CALS Table Model
Technical memorandum TR 9901:1999, September 29th 1999.
<bibliomisc><ulink url="http://www.oasis-open.org/specs/tm9901.htm"/></bibliomisc>
</bibliomixed>
<bibliomixed id="table3"><abbrev>table3</abbrev>
Harvey Bingham,
<citetitle>CALS Table Model Document Type Definition</citetitle>
OASIS Technical Memorandum TM 9502:1995
<bibliomisc><ulink url="www.oasis-open.org/specs/a502.htm"/></bibliomisc>
October 19, 1995.
</bibliomixed>
<bibliomixed id="XSLT"><abbrev>XSLT</abbrev>
World Wide Web Consortium,
<bibliomisc><emphasis>XSLT Transformations (XSLT) </emphasis></bibliomisc>Version 1.0,
W3C Recommendation 16 November 1999.
</bibliomixed>


</bibliodiv>

</bibliography>

</article>
