<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- 
For use when a committee document points at the OASIS web site for publishing:
<?xml-stylesheet type="text/xsl" 
href="http://docs.oasis-open.org/templates/DocBook/spec-0.6/stylesheets/oasis-specification-html.xsl"?>
<!DOCTYPE article
  PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
         "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" 

For use when a committee document points to an embedded installation of DocBook
<?xml-stylesheet type="text/xsl" 
               href="db/spec-0.6/stylesheets/oasis-specification-html.xsl"?>
<!DOCTYPE article
 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 
        "db/spec-0.6/docbook/docbookx.dtd" 

For use when a committee document is published in a local environment only
(note the instructions for local publishing require adjusting the stylesheet
 and DocBook directories in these declarations):
<?xml-stylesheet type="text/xsl" 
href="file:///z:/oasis/spec-0.6/stylesheets/oasis-specification-html-offline.xsl"?>
<!DOCTYPE article
  PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
         "file:///z:/oasis/spec-0.6/docbook/docbookx.dtd" 
-->
<?xml-stylesheet type="text/xsl" 
               href="db/spec-0.6/stylesheets/oasis-specification-html.xsl"?>
<!DOCTYPE article
 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 
        "db/spec-0.6/docbook/docbookx.dtd" 
[
<!--the document properties-->
<!ENTITY dir "bdx-bde">
<!ENTITY name "&dir;-v&version;">
<!ENTITY version "1.0">
<!ENTITY stage "csprd01"><!--remember title ent-->
<!ENTITY title "Business Document Envelope Version&#xa0;&version;">
<!ENTITY standard "Committee Specification Draft 01 / Public Review Draft 01">
<!ENTITY this-loc     "http://docs.oasis-open.org/bdxr/&dir;/v&version;/&stage;">
<!ENTITY latest-loc   "http://docs.oasis-open.org/bdxr/&dir;/v&version;">
<!ENTITY pubdate "04 March 2015">
<!ENTITY pubdate "<emphasis role='date'>$Revision: 1.2 $$Date: 2015/03/02 16:16:50 $</emphasis>">
]>
<article status="&standard;">
  <articleinfo>
    <title>&title;</title>
    <releaseinfo role="cvs"> $Id: bdx-bde-v1.0-csprd01.xml,v 1.2 2015/03/02 16:16:50 admin Exp $ </releaseinfo>
    <productname>&name;</productname>
    <productnumber>&stage;</productnumber>
    <releaseinfo role="track">Standards Track Work Product</releaseinfo>
    <releaseinfo role="OASIS-specification-this-authoritative">&this-loc;/&name;-&stage;.xml</releaseinfo>
    <releaseinfo role="OASIS-specification-this">&this-loc;/&name;-&stage;.html</releaseinfo>
    <releaseinfo role="OASIS-specification-this">&this-loc;/&name;-&stage;.pdf</releaseinfo>
    <!-- generic form of above
      <releaseinfo role="OASIS-specification-previous"
         >&previous-loc;/&name;-&stage;.html</releaseinfo>
      <releaseinfo role="OASIS-specification-previous"
         >&previous-loc;/&name;-&stage;.pdf</releaseinfo>
      <releaseinfo role="OASIS-specification-previous-authoritative"
         >&previous-loc;/&name;-&stage;.xml</releaseinfo> -->
    <releaseinfo role="OASIS-specification-latest">&latest-loc;/&name;.html</releaseinfo>
    <releaseinfo role="OASIS-specification-latest">&latest-loc;/&name;.pdf</releaseinfo>
    <releaseinfo role="committee"><ulink url="https://www.oasis-open.org/committees/ubl/">OASIS Business Document Exchange (BDXR) TC</ulink></releaseinfo>
    <authorgroup>
      <editor>
        <firstname>G. Ken</firstname>
        <surname>Holman</surname>
        <affiliation>
          <orgname><ulink
              url="http://www.CraneSoftwrights.com/links/info-ubl21.htm">Crane
              Softwrights Ltd.</ulink></orgname>
        </affiliation>
        <email>gkholman@CraneSoftwrights.com</email>
      </editor>
      <editor>
        <firstname>Kenneth</firstname>
        <surname>Bengtsson</surname>
        <affiliation>
          <orgname><ulink url="http://www.alfa1lab.com/"
            >Alfa1lab</ulink></orgname>
        </affiliation>
        <email>kenneth@alfa1lab.com</email>
      </editor>
      <othercredit>
        <firstname>Kenneth</firstname>
        <surname>Bengtsson</surname>
        <affiliation>
          <orgname><ulink url="http://www.alfa1lab.com/"
            >Alfa1lab</ulink></orgname>
        </affiliation>
        <email>kenneth@alfa1lab.com</email>
      </othercredit>
    </authorgroup>
    <pubdate>&pubdate;</pubdate>
    <copyright>
      <year>2015</year>
      <holder>OASIS Open, Inc. All Rights Reserved.</holder>
    </copyright>
    <legalnotice role="namespaces">
      <title>Declared XML Namespaces</title>
      <simplelist>
        <member><literal>http://docs.oasis-open.org/bdxr/ns/bde/1.0/Envelope</literal></member>
        <member><literal>http://docs.oasis-open.org/bdxr/ns/bde/1.0/AggregateComponents</literal></member>
        <member><literal>http://docs.oasis-open.org/bdxr/ns/bde/1.0/BasicComponents</literal></member>
        <member><literal>http://docs.oasis-open.org/bdxr/ns/bde/1.0/ExtensionComponents</literal></member>
        <member><literal>http://docs.oasis-open.org/bdxr/ns/bde/1.0/QualifiedDataTypes</literal></member>
        <member><literal>http://docs.oasis-open.org/bdxr/ns/bde/1.0/UnqualifiedDataTypes</literal></member>
      </simplelist>
    </legalnotice>
    <abstract>
      <para>This specification defines a business-oriented artefact enveloping
        a payload of one or more business documents or other artefacts with
        supplemental semantic information about the collection of payloads as a
        whole. This is distinct from any transport-layer infrastructure
        envelope that may be required to propagate documents from one system to
        another. A business document envelope describes contextual information
        important to the sender and receiver about the payloads, without having
        to modify the payloads in any fashion.</para>
    </abstract>
    <legalnotice role="status" id="STATUS">
      <title>Status</title>
      <!--
      <para>This <ulink
          url="https://www.oasis-open.org/policies-guidelines/tc-process#dWorkingDraft"
          >Working Draft</ulink> (WD) has been produced by one or more TC
        Members; it has not yet been voted on by the TC or <ulink
          url="https://www.oasis-open.org/policies-guidelines/tc-process#committeeDraft"
          >approved</ulink> as a Committee Specification Draft. The OASIS
        document <ulink
          url="https://www.oasis-open.org/policies-guidelines/tc-process#standApprovProcess"
          >Approval Process</ulink> begins officially with a TC vote to approve
        a WD as a Committee Draft. A TC may approve a Working Draft, revise it,
        and re-approve it any number of times as a Committee Draft.</para>
      -->
      
      <para>This document was last revised or approved by the OASIS Business Document Exchange (BDXR) TC on the above date. The level of approval is also
        listed above. Check the &#x201c;Latest version&#x201d; location noted
        above for possible later revisions of this document. Any other numbered
        Versions and other technical work produced by the Technical Committee
        (TC) are listed at <ulink
          url="https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=bdxr#technical"
          >https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=bdxr#technical</ulink>.</para>
      <para>TC members should send comments on this specification to the
        TC&#8217;s email list. Others should send comments to the TC's public
        comment list, after subscribing to it by following the instructions at
        the &#8220;<ulink
          url="https://www.oasis-open.org/committees/comments/index.php?wg_abbrev=bdxr"
          >Send A Comment</ulink>&#8221; button on the TC&#8217;s web page at
          <ulink url="https://www.oasis-open.org/committees/bdxr/"
          >https://www.oasis-open.org/committees/bdxr/</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 at <ulink
          url="https://www.oasis-open.org/committees/bdxr/ipr.php"
          >https://www.oasis-open.org/committees/bdxr/ipr.php</ulink>.</para>
      
      <para>See <xref linkend="A-RELEASE-NOTES"/> for more information
        regarding this release package.</para>
    </legalnotice>
    <legalnotice role="citation" id="CITATION">
      <title>Citation format</title>
      <para>When referencing this specification the following citation format
        should be used:</para>
      <bibliolist id="citationfmt">
        <bibliomixed id="UBL-NDR"><abbrev>BDX-BDE-V1.0</abbrev>
          <citetitle>&title;.</citetitle>
          <bibliomisc>Edited by G. Ken Holman and Kenneth
            Bengtsson.</bibliomisc>
          <date>&pubdate;.</date>
          <releaseinfo>&standard;.</releaseinfo>
          <bibliomisc>
            <ulink url="&this-loc;/&name;-&stage;.html"
              >&this-loc;/&name;-&stage;.html</ulink>. Latest version: <ulink
              url="&latest-loc;/&name;.html">&latest-loc;/&name;.html</ulink>.
          </bibliomisc>
        </bibliomixed>
      </bibliolist>
    </legalnotice>
    <legalnotice role="notices">
      <title>Notices</title>
      <para>Copyright &#169; OASIS Open 2015. All Rights Reserved. </para>
      <para>All capitalized terms in the following text have the meanings
        assigned to them in the OASIS Intellectual Property Rights Policy (the
        &#8220;OASIS IPR Policy&#8221;). The full <ulink
          url="https://www.oasis-open.org/policies-guidelines/ipr"
          >Policy</ulink> may be found at the OASIS website.</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 section are included
        on all such copies and derivative works. However, this document itself
        may not be modified in any way, including by removing the copyright
        notice or references to OASIS, except as needed for the purpose of
        developing any document or deliverable produced by an OASIS Technical
        Committee (in which case the rules applicable to copyrights, as set
        forth in the OASIS IPR Policy, 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 &#8220;AS IS&#8221; 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 OWNERSHIP RIGHTS
        AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
        PARTICULAR PURPOSE. </para>
      <para>OASIS requests that any OASIS Party or any other party that
        believes it has patent claims that would necessarily be infringed by
        implementations of this OASIS Committee Specification or OASIS Standard
        notify OASIS TC Administrator and provide an indication of its
        willingness to grant patent licenses to such patent claims in a manner
        consistent with the IPR Mode of the OASIS Technical Committee that
        produced this specification. </para>
      <para>OASIS invites any party to contact the OASIS TC Administrator if it
        is aware of a claim of ownership of any patent claims that would
        necessarily be infringed by implementations of this specification by a
        patent holder that is not willing to provide a license to such patent
        claims in a manner consistent with the IPR Mode of the OASIS Technical
        Committee that produced this specification. OASIS may include such
        claims on its website, but disclaims any obligation to do so. </para>
      <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&#x2019;
        procedures with respect to rights in any document or deliverable
        produced by an OASIS Technical Committee can be found on 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 implementers or users of this OASIS
        Committee Specification or OASIS Standard, can be obtained from the
        OASIS TC Administrator. OASIS makes no representation that any
        information or list of intellectual property rights will at any time be
        complete, or that any claims in such list are, in fact, Essential
        Claims. </para>
      <para>The name &#8220;OASIS&#8221; is a trademark of <ulink
          url="https://www.oasis-open.org">OASIS</ulink>, the owner and
        developer of this specification, and should be used only to refer to
        the organization and its official outputs. OASIS welcomes reference to,
        and implementation and use of, specifications, while reserving the
        right to enforce its marks against misleading uses. Please see <ulink
          url="https://www.oasis-open.org/policies-guidelines/trademark.php"
          >https://www.oasis-open.org/policies-guidelines/trademark.php</ulink>
        for guidance.</para>
    </legalnotice>
  </articleinfo>
  <section id="S-INTRODUCTION">
    <title>Introduction</title>
    <para>The metaphor of a paper envelope in which one places business
      documents for transport or management is apt to describe the role of a
      business document envelope in relationship to its payloads. Concepts of
      routing, authentication, non-repudiation and concealment all apply in
      both the metaphor and the electronic equivalent.</para>
    <para>The OASIS Business Document Envelope specifies an XML vocabulary
      expressing in machine-processable syntax the semantics of enveloping a
      payload of content with information about that content.</para>
    <para>This specification details example candidate scenarios in which a
      payload envelope plays a role, and the use cases identified in such
      scenarios.</para>
    <para>This specification enumerates the information components of the
      payload envelope and formally describes the semantics of each
      component.</para>
    <para>This specification mandates a suite of XML schemas describing the
      document constraints against which a conforming instance must validate
      without error.</para>
    <section id="S-TERMINOLOGY">
      <title>Terminology</title>
      <section id="S-KEY-WORDS">
        <title>Key words</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"/>. Note that for
          reasons of style, these words are not capitalized in this
          document.</para>
      </section>
      <section id="S-TERMS-AND-DEFINITIONS">
        <title>Terms and Definitions</title>
        <variablelist>
          <varlistentry>
            <term>schema</term>
            <listitem>
              <para>An expression of constraints placed on XML content.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>structural schema</term>
            <listitem>
              <para>An expression of structural constraints placed on XML
                elements, attributes and textual content.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>value constraints</term>
            <listitem>
              <para>An expression of constraints placed on the values of
                attributes and textual content.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </section>
      <section id="S-SYMBOLS-AND-ABBREVIATIONS">
        <title>Symbols and Abbreviations</title>
        <variablelist>
          <varlistentry>
            <term>DTQ</term>
            <listitem>
              <para>Data type qualifications</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>RFC</term>
            <listitem>
              <para>Request for comment</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>XSD</term>
            <listitem>
              <para>XML Schema Definition</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>XSLT</term>
            <listitem>
              <para>Extensible Stylesheet Language Transformations</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </section>
      <section id="S-KEY-CONCEPTS">
        <title>Key concepts</title>
        <variablelist>
          <varlistentry>
            <term> validation</term>
            <listitem>
              <para>The act of testing an XML document against a set of
                structural constraints (as expressed in a schema) or value
                constrains (as expressed in an arbitrary XML processing
                language, for example, XSLT).</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </section>
    </section>
    <section id="S-NORMATIVE-REFERENCES">
      <title>Normative References</title>
      <bibliolist>
        <bibliomixed id="isoccts"><abbrev>CCTS - ISO/TS
              15000-5:2005</abbrev><citetitle><ulink
              url="https://www.oasis-open.org/committees/download.php/6232/CEFACT-CCTS-Version-2pt01.zip"
              >ISO/TS 15000-5:2005 Electronic Business Extensible Markup
              Language (ebXML)&#8212; Part 5: ebXML Core Components Technical
              Specification, Version 2.01</ulink> (identical to Part 8 of the
            ebXML Framework) </citetitle></bibliomixed>
        <bibliomixed id="genericode"><abbrev>genericode</abbrev>
          <citetitle>Code List Representation (Genericode) Version
            1.0.</citetitle>
          <bibliomisc>Edited by Anthony B. Coates.</bibliomisc>
          <date>28 December 2007.</date>
          <releaseinfo>Committee Specification 01.</releaseinfo>
          <bibliomisc>
            <ulink url="http://docs.oasis-open.org/codelist/genericode/"
              >http://docs.oasis-open.org/codelist/genericode/</ulink>. Latest
            version: <ulink
              url="http://docs.oasis-open.org/codelist/genericode/doc/oasis-code-list-representation-genericode.html"
              >http://docs.oasis-open.org/codelist/genericode/doc/oasis-code-list-representation-genericode.html</ulink>.
          </bibliomisc>
        </bibliomixed>
        <bibliomixed id="rfc2119"><abbrev>RFC 2119</abbrev>
          <title>Key words for use in RFCs to Indicate Requirement
            Levels</title>, <date>March 1997. </date>
          <author>
            <firstname>S. </firstname>
            <surname>Bradner</surname>
          </author>. <releaseinfo>IETF (Internet Engineering Task Force) RFC
            2119, </releaseinfo>
          <citetitle><ulink url="http://www.ietf.org/rfc/rfc2119.txt"
              >http://www.ietf.org/rfc/rfc2119.txt</ulink></citetitle>
        </bibliomixed>
        <bibliomixed id="xml"><abbrev>XML</abbrev><citetitle><ulink
              url="http://www.w3.org/TR/2008/REC-xml-20081126/">Extensible
              Markup Language (XML) 1.0 (Fifth Edition), W3C Recommendation 26
              November 2008</ulink></citetitle></bibliomixed>
        <bibliomixed id="xsd1"><abbrev>XSD1</abbrev><citetitle><ulink
              url="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">XML
              Schema Part 1: Structures. Second Edition. W3C Recommendation 28
              October 2004</ulink></citetitle></bibliomixed>
        <bibliomixed id="xsd2"><abbrev>XSD2</abbrev><citetitle><ulink
              url="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML
              Schema Part 2: Datatypes. Second Edition. W3C Recommendation 28
              October 2004</ulink></citetitle></bibliomixed>
      </bibliolist>
    </section>
    <section id="S-NON-NORMATIVE-REFERENCES">
      <title>Non-Normative References</title>
      <bibliolist>
        <bibliomixed id="xmldsig"><abbrev>xmldsig</abbrev><citetitle>
            <ulink url="http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/"
              >XML-Signature Syntax and Processing. W3C Recommendation 10 June
              2008</ulink></citetitle></bibliomixed>
      </bibliolist>
    </section>
  </section>
  <section id="S-REQUIREMENTS">
    <title>Requirements</title>
    <para>Based on the purpose of this document the following main requirements
      have been identified:</para>
    <section id="S-HIGH-LEVEL-AND-NON-FUNCTIONAL-REQUIREMENTS">
      <title>High-level and non-functional requirements</title>
      <itemizedlist>
        <listitem>
          <para>The BDE must be an electronic envelope and universally
            understandable document header that allows its originator to send
            one or more electronic business documents to a recipient.</para>
        </listitem>
        <listitem>
          <para>The BDE must be payload agnostic, meaning that it must function
            completely independently from its content.</para>
        </listitem>
        <listitem>
          <para>The BDE must be an independent work product with no bindings or
            references to specific document standards.</para>
        </listitem>
        <listitem>
          <para>The BDE must be transport protocol agnostic, meaning that it
            must be possible to send and receive a BDE through any file
            transfer protocol.</para>
        </listitem>
        <listitem>
          <para>It must be possible to route a BDE through several
            intermediaries and networks.</para>
        </listitem>
        <listitem>
          <para>It must be possible for the sender and receiver of a BDE to
            keep its payload confidential from end to end.</para>
        </listitem>
        <listitem>
          <para>It must be possible for the receiver of a BDE to verify the
            integrity of its payload.</para>
        </listitem>
        <listitem>
          <para>A gateway or intermediary must be able to route a BDE without
            any knowledge of its payload.</para>
        </listitem>
        <listitem>
          <para>The BDE should support business scenarios where it is required
            to unambiguously establish the identity of its sender.</para>
        </listitem>
        <listitem>
          <para>The BDE should support business scenarios where it is required
            to keep the identity of its sender hidden.</para>
        </listitem>
      </itemizedlist>
    </section>
    <section id="S-FUNCTIONAL-REQUIREMENTS">
      <title>Functional requirements</title>
      <informaltable frame="all">
        <tgroup cols="2">
          <colspec colnum="1" colname="col1" colwidth="2cm"/>
          <colspec colnum="2" colname="col2" colwidth="1*"/>
          <thead>
            <row>
              <entry>Requirement</entry>
              <entry>Description</entry>
            </row>
          </thead>
          <tbody>
            <row id="BDE-01">
              <entry>BDE-01</entry>
              <entry>A BDE must contain an identifier that uniquely identifies
                the envelope.</entry>
            </row>
            <row id="BDE-02">
              <entry>BDE-02</entry>
              <entry>It must be possible to specify the BDE version of the
                envelope.</entry>
            </row>
            <row id="BDE-03">
              <entry>BDE-03</entry>
              <entry>A BDE must contain a timestamp for its creation.</entry>
            </row>
            <row id="BDE-04">
              <entry>BDE-04</entry>
              <entry>A BDE must contain unambiguous identification of its final
                recipient.</entry>
            </row>
            <row id="BDE-05">
              <entry>BDE-05</entry>
              <entry>It must be possible to include information in a BDE that
                unambiguously identifies the originating party.</entry>
            </row>
            <row id="BDE-06">
              <entry>BDE-06</entry>
              <entry>It must be possible for the originating party to digitally
                sign a BDE with any number of signatures.</entry>
            </row>
            <row id="BDE-07">
              <entry>BDE-07</entry>
              <entry>A BDE must contain one or more payloads.</entry>
            </row>
            <row id="BDE-08">
              <entry>BDE-08</entry>
              <entry>It must be possible to uniquely identify each payload in a
                BDE.</entry>
            </row>
            <row id="BDE-09">
              <entry>BDE-09</entry>
              <entry>It must be possible to specify the document syntax for
                each payload in a BDE.</entry>
            </row>
            <row id="BDE-10">
              <entry>BDE-10</entry>
              <entry>It must be possible to identify the reference to a
                relevant resource, such as a specific agreement, case,
                document, prior correspondence, etc.</entry>
            </row>
            <row id="BDE-11">
              <entry>BDE-11</entry>
              <entry>It must be possible to identify any customization that
                applies to the document of a given payload.</entry>
            </row>
            <row id="BDE-12">
              <entry>BDE-12</entry>
              <entry>It must be possible to specify if the document of a given
                payload is a transaction in a business process with a
                predefined profile ID.</entry>
            </row>
            <row id="BDE-13">
              <entry>BDE-13</entry>
              <entry>It must be possible to specify the appropriate service for
                handling the document of a payload, if not specified by a
                predefined profile ID.</entry>
            </row>
            <row id="BDE-14">
              <entry>BDE-14</entry>
              <entry>It must be possible for a BDE to contain payloads that
                have been encrypted, as long as they have been expressed in
                such a way as to not interfere with the XML schema.</entry>
            </row>
            <row id="BDE-15">
              <entry>BDE-15</entry>
              <entry>It must be possible for the recipient to identify if a
                given payload of a BDE has been encrypted.</entry>
            </row>
            <row id="BDE-16">
              <entry>BDE-16</entry>
              <entry>It must be possible to include the hash value of an
                unencrypted payload of a BDE in order to verify its
                integrity.</entry>
            </row>
            <row id="BDE-17">
              <entry>BDE-17</entry>
              <entry>It must be possible to set a flag identifying a BDE as a
                test message.</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </section>
  </section>
  <section id="S-ENVELOPE-INFORMATION">
    <title>Envelope information</title>
    <para>The CCTS-modeled classes of information in the envelope model, and
      the relationships between them and the additional schema fragments that
      satisfy non-CCTS-modeled content are depicted in <xref
        linkend="F-INFORMATION-CLASSES"/>.</para>
    <figure id="F-INFORMATION-CLASSES">
      <title>Information classes</title>
      <mediaobject>
        <imageobject>
          <imagedata fileref="art/bde-classes.png" contentwidth="750px"/>
        </imageobject>
        <textobject>
          <phrase>[Information classes]</phrase>
        </textobject>
      </mediaobject>
    </figure>
    <section id="S-THE-ENVELOPE-CLASS">
      <title>The envelope class</title>
      <para>The CCTS-modeled objects in the envelope class are as follows,
        indicating the requirements being met by the object:</para>
      <informaltable frame="all">
        <tgroup cols="5">
          <colspec colnum="1" colname="col1" colwidth="2*"/>
          <colspec colnum="2" colname="col2" colwidth="4*"/>
          <colspec colnum="3" colname="col3" colwidth="5*"/>
          <colspec colnum="4" colname="col4" colwidth="1*"/>
          <colspec colnum="5" colname="col5" colwidth="5*"/>
          <tbody>
            <row>
              <entry>
                <para><emphasis role="bold">Supports</emphasis></para>
              </entry>
              <entry><para><emphasis role="bold"
                  >Name</emphasis></para><emphasis role="bold">(Unqualified
                  data type)</emphasis></entry>
              <entry>
                <para><emphasis role="bold">Description</emphasis></para>
              </entry>
              <entry>
                <para><emphasis role="bold">Crd</emphasis></para>
              </entry>
              <entry>
                <para><emphasis role="bold">Rationale</emphasis></para>
              </entry>
            </row>
            <row>
              <entry><link linkend="BDE-02">BDE-02</link></entry>
              <entry>
                <para>BDEVersionID</para> (Identifier) </entry>
              <entry>The version of the specific envelope model in use.</entry>
              <entry>0..1</entry>
              <entry>To allow coexistence of different versions of envelopes
                without using the namespace. The element identifies which
                syntax version is being used.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-01">BDE-01</link></entry>
              <entry>
                <para>ID</para> (Identifier) </entry>
              <entry>Unique ID for the envelope for tracking purposes.</entry>
              <entry>1..1</entry>
              <entry>Required to identify and trace the envelope. The ID must
                be at least unique pr. sender. </entry>
            </row>
            <row>
              <entry><link linkend="BDE-03">BDE-03</link></entry>
              <entry>
                <para>CreationDateTime</para> (DateTime) </entry>
              <entry>Date and time when the envelope was created.</entry>
              <entry>1..1</entry>
              <entry>The value of the CreationDateAndTime element MUST be set
                to the date and time when the document originating application
                or the parser created the document.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-04">BDE-04</link></entry>
              <entry>
                <para>FromID</para> (Identifier) </entry>
              <entry>An unambiguous identification of the party that originated
                the envelope.</entry>
              <entry>0..1</entry>
              <entry>The identity of the envelope originator needs to be
                identified.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-05">BDE-05</link></entry>
              <entry>
                <para>ToID</para> (Identifier) </entry>
              <entry>An unambiguous identification of the destination of the
                envelope.</entry>
              <entry>1..1</entry>
              <entry>A unique identification key to unambiguously identify the
                Receiver party. Example: GS1 GLN.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-17">BDE-17</link></entry>
              <entry>
                <para>TestIndicator</para> (Indicator) </entry>
              <entry>There is a requirement to identify that the content inside
                the envelope is for test purposes. </entry>
              <entry>0..1</entry>
              <entry>The test flag will enable the recipient to identify an
                incoming message as a test or production message.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-07">BDE-07</link></entry>
              <entry><para>Payload</para> (Payload class)</entry>
              <entry>The actual payload, such as an invoice, to be processed at
                next level.</entry>
              <entry>1..n</entry>
              <entry> An envelope without payload serves no purpose.</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <section id="S-ADDITIONAL-ENVELOPE-INFORMATION">
        <title>Additional envelope information</title>
        <para>Certain information related to the envelope are not modeled as
          CCTS classes, rather, they are realized in the schema expressions as
          additional document constraints.</para>
        <section id="S-EXTENSION-INFORMATION">
          <title>Extension information</title>
          <para>Through the use of optional extension metadata and content,
            additional user-defined information that is not modelled by the
            CCTS classes can be added to the envelope instance.</para>
          <para>The extension point is an optional construct as the initial
            child of the document element. The extension point, when it exists,
            must contain one or more user-defined extensions, with each
            extension wrapped with optional extension metadata identifying
            properties of the extension.</para>
          <informaltable frame="all">
            <tgroup cols="4">
              <colspec colnum="1" colname="col2" colwidth="4*"/>
              <colspec colnum="2" colname="col3" colwidth="5*"/>
              <colspec colnum="3" colname="col4" colwidth="1*"/>
              <colspec colnum="4" colname="col5" colwidth="5*"/>
              <tbody>
                <row>
                  <entry><para><emphasis role="bold"
                      >Name</emphasis></para><emphasis role="bold">(Unqualified
                      Data Type)</emphasis></entry>
                  <entry>
                    <para><emphasis role="bold">Description</emphasis></para>
                  </entry>
                  <entry>
                    <para><emphasis role="bold">Crd</emphasis></para>
                  </entry>
                  <entry>
                    <para><emphasis role="bold">Rationale</emphasis></para>
                  </entry>
                </row>
                <row>
                  <entry>
                    <para>BDEExtensions</para>
                  </entry>
                  <entry>A container for all extensions present in the
                    document.</entry>
                  <entry>0..1</entry>
                  <entry>This is the single point of access to all extensions
                    as the first child of the main document.</entry>
                </row>
                <row>
                  <entry>
                    <para>BDEExtension</para>
                  </entry>
                  <entry>A single extension for private use.</entry>
                  <entry>1..n</entry>
                  <entry>There may be many extensions added to a single
                    document.</entry>
                </row>
                <row>
                  <entry>
                    <para>ExtensionID</para> (Identifier) </entry>
                  <entry>An identifier for the Extension assigned by the
                    creator of the extension.</entry>
                  <entry>0..1</entry>
                  <entry>This identifies the extension amongst other extensions
                    within the document.</entry>
                </row>
                <row>
                  <entry>
                    <para>ExtensionName</para> (Name) </entry>
                  <entry>A name for the Extension assigned by the creator of
                    the extension.</entry>
                  <entry>0..1</entry>
                  <entry>This identifies the extension in natural language
                    within the document.</entry>
                </row>
                <row>
                  <entry>
                    <para>ExtensionAgencyID</para> (Identifier) </entry>
                  <entry>An agency that maintains one or more
                    Extensions.</entry>
                  <entry>0..1</entry>
                  <entry>This identifies who created the extension.</entry>
                </row>
                <row>
                  <entry>
                    <para>ExtensionAgencyName</para> (Name) </entry>
                  <entry>The name of the agency that maintains the
                    Extension.</entry>
                  <entry>0..1</entry>
                  <entry>This identifies who created the extension.</entry>
                </row>
                <row>
                  <entry>
                    <para>ExtensionAgencyURI</para> (Identifier) </entry>
                  <entry>A URI for the Agency that maintains the
                    Extension.</entry>
                  <entry>0..1</entry>
                  <entry>This identifies who created the extension.</entry>
                </row>
                <row>
                  <entry><para>ExtensionVersionID</para>(Identifier)</entry>
                  <entry>The version of the Extension.</entry>
                  <entry>0..1</entry>
                  <entry>This distinguishes one version of the extension from
                    another.</entry>
                </row>
                <row>
                  <entry>
                    <para>ExtensionURI</para> (Identifier) </entry>
                  <entry>A URI for the Extension.</entry>
                  <entry>0..1</entry>
                  <entry>This identifies the extension amongst other extensions
                    outside of any document.</entry>
                </row>
                <row>
                  <entry><para>ExtensionReasonCode</para>(Code)</entry>
                  <entry>A code for reason the Extension is being
                    included.</entry>
                  <entry>0..1</entry>
                  <entry>This gives the author the opportunity to give
                    rationale by way of a code.</entry>
                </row>
                <row>
                  <entry><para>ExtensionReason</para>(Text)</entry>
                  <entry>A description of the reason for the Extension.</entry>
                  <entry>0..1</entry>
                  <entry>This gives the author the opportunity to give
                    rationale by way of a text description.</entry>
                </row>
                <row>
                  <entry>
                    <para>ExtensionContent</para>
                  </entry>
                  <entry>The definition of the extension content.</entry>
                  <entry>1</entry>
                  <entry>This is the parent element of the extension
                    content.</entry>
                </row>
              </tbody>
            </tgroup>
          </informaltable>
          <para>There are no restrictions on the extension content. See <xref
              linkend="S-EXTENSION-CONTENT"/> for more information.</para>
        </section>
        <section id="S-SIGNATURE-INFORMATION">
          <title>Signature information</title>
          <para>This meets requirement <link linkend="BDE-06"
            >BDE-06</link>.</para>
          <para>Through the use of the W3C Digital Signature <xref
              linkend="xmldsig"/> zero or more signatures can be added to the
            envelope.</para>
          <para>The signatures are grouped as the final children of the
            document element.</para>
          <para>The <emphasis role="bold"><literal>val/</literal></emphasis>
            subdirectory includes examples of envelope documents with bona fide
            digital signatures as described in <xref
              linkend="A-DEMONSTRATION-ENVIRONMENT"/>.</para>
        </section>
      </section>
    </section>
    <section id="S-THE-PAYLOAD-CLASS">
      <title>The payload class</title>
      <para>The CCTS-modeled objects in the payload class are as follows,
        indicating the requirements being met by the object:</para>
      <informaltable frame="all">
        <tgroup cols="5">
          <colspec colnum="1" colname="col1" colwidth="2*"/>
          <colspec colnum="2" colname="col2" colwidth="5*"/>
          <colspec colnum="3" colname="col3" colwidth="5*"/>
          <colspec colnum="4" colname="col4" colwidth="1*"/>
          <colspec colnum="5" colname="col5" colwidth="5*"/>
          <tbody>
            <row>
              <entry>
                <para><emphasis role="bold">Supports</emphasis></para>
              </entry>
              <entry><para><emphasis role="bold"
                  >Name</emphasis></para><emphasis role="bold">(Unqualified
                  Data Type)</emphasis></entry>
              <entry>
                <para><emphasis role="bold">Description</emphasis></para>
              </entry>
              <entry>
                <para><emphasis role="bold">Crd</emphasis></para>
              </entry>
              <entry>
                <para><emphasis role="bold">Rationale</emphasis></para>
              </entry>
            </row>
            <row>
              <entry><link linkend="BDE-08">BDE-08</link></entry>
              <entry><para>ID</para>(Identifier)</entry>
              <entry>A unique identification of the payloads contained within
                the envelope.</entry>
              <entry>0..1</entry>
              <entry>Required to be able to identify the content of the payload
                without having to look inside the envelope.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-09">BDE-09</link></entry>
              <entry><para>DocumentTypeID</para>(Identifier)</entry>
              <entry>This element identifies the type of the payload instance
                in the envelope.</entry>
              <entry>0..1</entry>
              <entry>To enable a Service registry lookup to verify and identify
                the type of payload.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-11">BDE-11</link></entry>
              <entry><para>CustomizationID</para>(Identifier)</entry>
              <entry>Identifies the customization that applies to the received
                document.</entry>
              <entry>0..1</entry>
              <entry>May be used to control validation of the content of the
                document that is contained in the document instance.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-12">BDE-12</link></entry>
              <entry><para>ProfileID</para>(Identifier)</entry>
              <entry>Identifies the profile that the payload document is part
                of.</entry>
              <entry>0..1</entry>
              <entry>May be used to route the incoming document to the correct
                process dependent on which business process the payload
                instance is part of, e.g. an order response that is part of a
                process defined in the identified profile.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-12">BDE-12</link></entry>
              <entry><para>ProfileExecutionID</para>(Identifier)</entry>
              <entry>Identifies the particular instance of an executing profile
                that the payload document is part of.</entry>
              <entry>0..1</entry>
              <entry>This distinguishes between multiple executing instances of
                a given profile.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-13">BDE-13</link></entry>
              <entry><para>HandlingServiceID</para>(Identifier)</entry>
              <entry>Identifies the service that should process the payload
                instance.</entry>
              <entry>0..1</entry>
              <entry>Can be used to look up the target service that should be
                used to process the payload instance.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-09">BDE-09</link></entry>
              <entry><para>InstanceSyntaxID</para>(Identifier)</entry>
              <entry>Identifies the syntax that the payload document is
                expressed in.</entry>
              <entry>0..1</entry>
              <entry>Makes it possible to route the incoming message to the
                appropriate process depending on the document syntax.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-15">BDE-15</link></entry>
              <entry><para>InstanceEncryptionIndicator</para>(Indicator)</entry>
              <entry>An indicator to state whether the payload instance is
                encrypted or not.</entry>
              <entry>0..1</entry>
              <entry>The fact that a payload is encrypted may need to be
                identified in order to ensure correct processing.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-15">BDE-15</link></entry>
              <entry><para>InstanceEncryptionMethod</para>(Text)</entry>
              <entry>The method used to encrypte the payload instance.</entry>
              <entry>0..1</entry>
              <entry>The fact that a payload is encrypted may need to be
                identified in order to ensure correct processing.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-16">BDE-16</link></entry>
              <entry><para>InstanceHashValue</para>(Text)</entry>
              <entry>Hash total of the unencrypted payload document.</entry>
              <entry>0..1</entry>
              <entry>The hash provides a check of the integrity of any
                unencrypted payload.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-16">BDE-16</link></entry>
              <entry><para>InstanceHashAlgorithm</para>(Text)</entry>
              <entry>Algorithm used to calculate the hash total of the
                unencrypted payload document.</entry>
              <entry>0..1</entry>
              <entry>Different schemes for calculating the hash are possible to
                be used and so should be identified.</entry>
            </row>
            <row>
              <entry><link linkend="BDE-10">BDE-10</link></entry>
              <entry><para>RelevantExternalReference</para>(External Reference
                class)</entry>
              <entry>A reference to a business case, document or other issues
                which are relevant to the handling of the envelope.</entry>
              <entry>0..n</entry>
              <entry>To enable routing and other handling, such as opening of
                an envelope based on the referenced information such as a
                reference to a specific call for tender to which the envelope
                contains a response (e.g. a tender).</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <section id="S-ADDITIONAL-PAYLOAD-INFORMATION">
        <title>Additional payload information</title>
        <para>Certain information related to the payload is not modeled as a
          CCTS class, rather, it is realized in the schema expressions as a set
          of additional document constraints. See <xref
            linkend="S-PAYLOAD-CONTENT"/> for more details.</para>
      </section>
      <section id="S-POSITIONAL-SEMANTICS-OF-MULTIPLE-PAYLOADS">
        <title>Positional semantics of multiple payloads</title>
        <para>When there exists more than one payload in a business document
          envelope, the first payload in document order shall be considered the
          primary payload.</para>
      </section>
      <section id="S-NON-XML-PAYLOAD-SYNTAX-CONSTRAINT">
        <title>Non-XML payload syntax constraint</title>
        <para>When the payload syntax is not XML it must be encoded in the
          payload content in such a way as not to interfere with the XML
          processing of the content as simple text. Sensitive XML markup
          characters in simple text, the "&lt;", "&amp;" and ">", must be
          escaped using an entity or a numeric character reference.</para>
        <note>
          <para>Binary payloads cannot be processed as simple text in an XML
            document without being encoded. Such content must be encoded using
            a technique such as Base64 or Xxencoding, both of which can be used
            in the raw without character escaping. A technique such as Uuencode
            cannot be used in the raw because its encoded repertoire includes
            sensitive XML markup characters that would need to be escaped in
            order to be used.</para>
        </note>
      </section>
    </section>
    <section id="S-THE-EXTERNAL-REFERENCE-CLASS">
      <title>The external reference class</title>
      <para>The CCTS-modeled objects in the external reference class are as
        follows, indicating the requirements being met by the object:</para>
      <informaltable frame="all">
        <tgroup cols="5">
          <colspec colnum="1" colname="col1" colwidth="2*"/>
          <colspec colnum="2" colname="col2" colwidth="5*"/>
          <colspec colnum="3" colname="col3" colwidth="5*"/>
          <colspec colnum="4" colname="col4" colwidth="1*"/>
          <colspec colnum="5" colname="col5" colwidth="5*"/>
          <tbody>
            <row>
              <entry>
                <para><emphasis role="bold">Supports</emphasis></para>
              </entry>
              <entry><para><emphasis role="bold"
                  >Name</emphasis></para><emphasis role="bold">(Unqualified
                  Data Type)</emphasis></entry>
              <entry>
                <para><emphasis role="bold">Description</emphasis></para>
              </entry>
              <entry>
                <para><emphasis role="bold">Crd</emphasis></para>
              </entry>
              <entry>
                <para><emphasis role="bold">Rationale</emphasis></para>
              </entry>
            </row>
            <row>
              <entry><link linkend="BDE-10">BDE-10</link></entry>
              <entry><para>ID</para>(Identifier)</entry>
              <entry>A reference to a business case, document or other issues
                which are relevant to the handling of the envelope.</entry>
              <entry>1</entry>
              <entry>To enable routing and other handling, such as opening of
                an envelope based on the referenced information such as a
                reference to a specific call for tender to which the envelope
                contains a response (e.g. a tender).</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </section>
    <section id="S-MODEL-EXPRESSION">
      <title>Model expression</title>
      <para>The document model is expressed in three ways, found in three files
        of the model subdirectory:</para>
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"><literal>mod</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para><emphasis role="bold"
                  ><literal>BDE-Model-1.0.ods</literal></emphasis></para>
              <itemizedlist>
                <listitem>
                  <para>model information expressed in an Open Office
                    spreadsheet</para>
                </listitem>
              </itemizedlist>
            </listitem>
            <listitem>
              <para><emphasis role="bold"
                  ><literal>BDE-Model-1.0.xls</literal></emphasis></para>
              <itemizedlist>
                <listitem>
                  <para>model information expressed in an Excel
                    spreadsheet</para>
                </listitem>
              </itemizedlist>
            </listitem>
            <listitem>
              <para><emphasis role="bold"
                    ><literal>BDE-Entities-1.0.gc</literal></emphasis></para>
              <itemizedlist>
                <listitem>
                  <para>model information expressed in a genericode <xref
                      linkend="genericode"/> file</para>
                </listitem>
              </itemizedlist>
            </listitem>
          </itemizedlist>
        </listitem>
      </itemizedlist>
    </section>
  </section>
  <section id="S-XML-SCHEMAS">
    <title>XML schemas</title>
    <para>The structural document constraints of the envelope are expressed
      normatively as a set of W3C XSD XML Schemas.</para>
    <section id="S-THE-SCHEMA-SUBDIRECTORIES">
      <title>The schema subdirectories</title>
      <para>The schemas are delivered in two subdirectories:</para>
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"><literal>xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>CCTS documentation is included as XSD annotations</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
            ><literal>xsdrt</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>runtime version such that CCTS documentation is not
                included as XSD annotations</para>
            </listitem>
            <listitem>
              <para>without the annotations a W3C schema processor has less
                work to prepare for validating documents</para>
            </listitem>
          </itemizedlist>
        </listitem>
      </itemizedlist>
      <para>In both subdirectories there is a single subdirectory of common
        files:</para>
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"
            ><literal>common</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>included schema fragments by any document fragment</para>
            </listitem>
          </itemizedlist>
        </listitem>
      </itemizedlist>
    </section>
    <section id="S-THE-ENVELOPE-SCHEMA">
      <title>The envelope schema</title>
      <para>The following is the only Document ABIE schema:</para>
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"
              ><literal>BDE-Envelope-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>included schema fragments by any base fragment</para>
            </listitem>
          </itemizedlist>
        </listitem>
      </itemizedlist>
    </section>
    <section id="S-THE-COMMON-SCHEMAS">
      <title>The common schemas</title>
      <para>The following are read-only schema fragments in the common
        subdirectory:</para>
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-CommonAggregationComponents-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the Library ABIE element declarations </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-CommonBasicComponents-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the Library BBIE element declarations </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-CommonExtensionComponents-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the Document ABIE extension metadata declarations</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-QualifiedDataTypes-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the qualified data types (empty; none are defined)</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-UnqualifiedDataTypes-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the unqualified data types based on the core component
                types </para>
            </listitem>
            <listitem>
              <para>see <xref linkend="S-UNQUALIFIED-DATA-TYPE-ATTRIBUTES"/>
                for more details</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
              ><literal>BDE-XAdESv132-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the v1.3.2 XAdES schema fragment from the etsi.org web
                site</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
              ><literal>BDE-XAdESv141-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the v1.4.1 XAdES schema fragment from the etsi.org web site
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-xmldsig1-schema-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the XML Digital Signature 1.1 schema driver fragment
                copyrighted by W3C </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-xmldsig11-schema-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the XML Digital Signature 1.1 schema fragment copyrighted
                by W3C </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-xmldsig-core-schema-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the XML Digital Signature Core schema fragment copyrighted
                by W3C </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>CCTS_CCT_SchemaModule-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the Core Component Types schema fragment copyrighted by
                UN/CEFACT</para>
            </listitem>
          </itemizedlist>
        </listitem>
      </itemizedlist>
      <para>The following are read-write schema fragments in the common
        subdirectory:</para>
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-ExtensionContentDataType-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the schema constraints of any extensions that users may
                wish to impose</para>
            </listitem>
            <listitem>
              <para>as delivered this imposes no constraints and so the
                extension content is not validated</para>
            </listitem>
            <listitem>
              <para>see <xref linkend="S-CONTENT-DATA-TYPE-SCHEMAS"/> for more
                details</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><emphasis role="bold"
                ><literal>BDE-PayloadContentDataType-1.0.xsd</literal></emphasis></para>
          <itemizedlist>
            <listitem>
              <para>the schema constraints of any payload that users may wish
                to impose</para>
            </listitem>
            <listitem>
              <para>as delivered this imposes no constraints and so the payload
                content is not validated</para>
            </listitem>
            <listitem>
              <para>see <xref linkend="S-CONTENT-DATA-TYPE-SCHEMAS"/> for more
                details</para>
            </listitem>
          </itemizedlist>
        </listitem>
      </itemizedlist>
    </section>
    <section id="S-UNQUALIFIED-DATA-TYPE-ATTRIBUTES">
      <title>Unqualified data type attributes</title>
      <para>In the Business Document Envelope model each BBIE is indicated to
        have a particular component name (specifying the element name) and to
        be of a particular unqualified data type (specifying the base type
        value constraints and the attributes).</para>
      <para>Based on the 10 approved core component types described in section
        8.1 of <xref linkend="isoccts"/>, there are 20 available unqualified
        data types for BBIE values. Each data type has a constraint on its
        content (the component) and a possibly-empty selection of available
        possibly-required attributes (the supplementary components).<note>
          <para>Not all of the unqualified data types listed in this table are
            used in the envelope model, but they are enumerated here for
            completeness.</para>
        </note></para>
      <informaltable frame="all">
        <tgroup cols="6">
          <colspec colnum="1" colname="col1"/>
          <colspec colnum="2" colname="col2"/>
          <colspec colnum="3" colname="col3"/>
          <colspec colnum="4" colname="col4"/>
          <colspec colnum="5" colname="col5"/>
          <colspec colnum="6" colname="col6"/>
          <tbody>
            <row>
              <entry><emphasis role="bold">Data&#xa0;Type</emphasis></entry>
              <entry><emphasis role="bold">Base&#xa0;type
                (XSD)</emphasis></entry>
              <entry><emphasis role="bold">Supplementary component
                  (attribute)</emphasis></entry>
              <entry><emphasis role="bold">Cardinality</emphasis></entry>
              <entry><emphasis role="bold">Type (XSD)</emphasis></entry>
              <entry><emphasis role="bold">Definition</emphasis></entry>
            </row>
            <row>
              <entry morerows="2">Amount</entry>
              <entry morerows="2">xsd:decimal</entry>
              <entry namest="col3" nameend="col6">A number of monetary units
                specified using a given unit of currency.</entry>
            </row>
            <row>
              <entry><emphasis role="bold">currencyID</emphasis></entry>
              <entry>required</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The currency of the amount.</entry>
            </row>
            <row>
              <entry>currencyCodeListVersionID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The VersionID of the UN/ECE Rec9 code list.</entry>
            </row>
            <row>
              <entry morerows="6">
                <para>Binary Object</para>
                <para>Graphic</para>
                <para>Picture</para>
                <para>Sound</para>
                <para>Video</para>
              </entry>
              <entry morerows="6">xsd:base64Binary</entry>
              <entry namest="col3" nameend="col6">A set of finite-length
                sequences of binary octets.</entry>
            </row>
            <row>
              <entry><emphasis role="bold">mimeCode</emphasis></entry>
              <entry>required</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The mime type of the binary object.</entry>
            </row>
            <row>
              <entry>characterSetCode</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The character set of the binary object if the mime type is
                text.</entry>
            </row>
            <row>
              <entry>encodingCode</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>Specifies the decoding algorithm of the binary
                object.</entry>
            </row>
            <row>
              <entry>filename</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The filename of the binary object.</entry>
            </row>
            <row>
              <entry>format</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The format of the binary content.</entry>
            </row>
            <row>
              <entry>uri</entry>
              <entry>optional</entry>
              <entry>xsd:anyURI</entry>
              <entry>The Uniform Resource Identifier that identifies where the
                binary object is located.</entry>
            </row>
            <row>
              <entry morerows="9">Code</entry>
              <entry morerows="9">xsd:normalizedString</entry>
              <entry namest="col3" nameend="col6">A character string (letters,
                figures, or symbols) that for brevity and/or language
                independence may be used to represent or replace a definitive
                value or text of an attribute, together with relevant
                supplementary information.</entry>
            </row>
            <row>
              <entry>languageID</entry>
              <entry>optional</entry>
              <entry>xsd:language</entry>
              <entry>The identifier of the language used in the code
                name.</entry>
            </row>
            <row>
              <entry>listAgencyID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>An agency that maintains one or more lists of
                codes.</entry>
            </row>
            <row>
              <entry>listAgencyName</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The name of the agency that maintains the list of
                codes.</entry>
            </row>
            <row>
              <entry>listID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The identification of a list of codes.</entry>
            </row>
            <row>
              <entry>listName</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The name of a list of codes.</entry>
            </row>
            <row>
              <entry>listSchemeURI</entry>
              <entry>optional</entry>
              <entry>xsd:anyURI</entry>
              <entry>The Uniform Resource Identifier that identifies where the
                code list scheme is located.</entry>
            </row>
            <row>
              <entry>listURI</entry>
              <entry>optional</entry>
              <entry>xsd:anyURI</entry>
              <entry>The Uniform Resource Identifier that identifies where the
                code list is located.</entry>
            </row>
            <row>
              <entry>listVersionID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The version of the list of codes.</entry>
            </row>
            <row>
              <entry>name</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The textual equivalent of the code content
                component.</entry>
            </row>
            <row>
              <entry>DateTime</entry>
              <entry>xsd:dateTime</entry>
              <entry namest="col3" nameend="col6">An instance of time according
                the Gregorian calendar.</entry>
            </row>
            <row>
              <entry>Date</entry>
              <entry>xsd:date</entry>
              <entry namest="col3" nameend="col6">One calendar day according
                the Gregorian calendar.</entry>
            </row>
            <row>
              <entry>Time</entry>
              <entry>xsd:time</entry>
              <entry namest="col3" nameend="col6">An instance of time that
                occurs every day.</entry>
            </row>
            <row>
              <entry morerows="7">Identifier</entry>
              <entry morerows="7">xsd:normalizedString</entry>
              <entry namest="col3" nameend="col6">A character string to
                identify and uniquely distinguish one instance of an object in
                an identification scheme from all other objects in the same
                scheme, together with relevant supplementary
                information.</entry>
            </row>
            <row>
              <entry>schemeAgencyID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The identification of the agency that maintains the
                identification scheme.</entry>
            </row>
            <row>
              <entry>schemeAgencyName</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The name of the agency that maintains the identification
                scheme.</entry>
            </row>
            <row>
              <entry>schemeDataURI</entry>
              <entry>optional</entry>
              <entry>xsd:anyURI</entry>
              <entry>The Uniform Resource Identifier that identifies where the
                identification scheme data is located.</entry>
            </row>
            <row>
              <entry>schemeID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The identification of the identification scheme.</entry>
            </row>
            <row>
              <entry>schemeName</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The name of the identification scheme.</entry>
            </row>
            <row>
              <entry>schemeURI</entry>
              <entry>optional</entry>
              <entry>xsd:anyURI</entry>
              <entry>The Uniform Resource Identifier that identifies where the
                identification scheme is located.</entry>
            </row>
            <row>
              <entry>schemeVersionID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The version of the identification scheme.</entry>
            </row>
            <row>
              <entry>Indicator</entry>
              <entry>xsd:boolean</entry>
              <entry namest="col3" nameend="col6">A list of two mutually
                exclusive Boolean values that express the only possible states
                of a property.</entry>
            </row>
            <row>
              <entry morerows="2">Measure</entry>
              <entry morerows="2">xsd:decimal</entry>
              <entry namest="col3" nameend="col6">A numeric value determined by
                measuring an object using a specified unit of measure.</entry>
            </row>
            <row>
              <entry><emphasis role="bold">unitCode</emphasis></entry>
              <entry>required</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The type of unit of measure.</entry>
            </row>
            <row>
              <entry>unitCodeListVersionID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The version of the measure unit code list.</entry>
            </row>
            <row>
              <entry morerows="1">
                <para>Numeric</para>
                <para>Value</para>
                <para>Percent</para>
                <para>Rate</para>
              </entry>
              <entry morerows="1">xsd:decimal</entry>
              <entry namest="col3" nameend="col6">Numeric information that is
                assigned or is determined by calculation, counting, or
                sequencing. It does not require a unit of quantity or unit of
                measure.</entry>
            </row>
            <row>
              <entry>format</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>Whether the number is an integer, decimal, real number or
                percentage.</entry>
            </row>
            <row>
              <entry morerows="4">Quantity</entry>
              <entry morerows="4">xsd:decimal</entry>
              <entry namest="col3" nameend="col6">A counted number of
                non-monetary units, possibly including a fractional
                part.</entry>
            </row>
            <row>
              <entry>unitCode</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The unit of the quantity</entry>
            </row>
            <row>
              <entry>unitCodeListAgencyID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The identification of the agency that maintains the
                quantity unit code list</entry>
            </row>
            <row>
              <entry>unitCodeListAgencyName</entry>
              <entry>optional</entry>
              <entry>xsd:string</entry>
              <entry>The name of the agency which maintains the quantity unit
                code list.</entry>
            </row>
            <row>
              <entry>unitCodeListID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The quantity unit code list.</entry>
            </row>
            <row>
              <entry morerows="2">
                <para>Text</para>
                <para>Name</para>
              </entry>
              <entry morerows="2">xsd:string</entry>
              <entry namest="col3" nameend="col6">A character string (i.e. a
                finite set of characters), generally in the form of words of a
                language.</entry>
            </row>
            <row>
              <entry>languageID</entry>
              <entry>optional</entry>
              <entry>xsd:language</entry>
              <entry>The identifier of the language used in the content
                component.</entry>
            </row>
            <row>
              <entry>languageLocaleID</entry>
              <entry>optional</entry>
              <entry>xsd:normalizedString</entry>
              <entry>The identification of the locale of the language.</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </section>
    <section id="S-CONTENT-DATA-TYPE-SCHEMAS">
      <title>Content data type schemas</title>
      <para>There are two content data type schema fragments, one for each of
        the extension content and the payload content. These are the only
        schemas intended to be edited by users should they wish to validate the
        content of their extensions or payloads. No changes are necessary to
        the schemas if it is not important to validate these portions of the
        document.</para>
      <para>Should users wish to impose constraints on the extension or the
        payload contents, the only edits required of the content schema is the
        importation of the schemas to be engaged for validation purposes. No
        edits are required of the content element, though one may wish to do so
        to exclude content other than that for which schemas are
        provided.</para>
      <section id="S-EXTENSION-CONTENT">
        <title>Extension content</title>
        <para>The extension content element's name is <literal>&lt;{extensions
            prefix}:ExtensionContent></literal>, for example,
            <literal>&lt;ext:ExtensionContent></literal>. It is the last
          element child of <literal>&lt;{extensions
            prefix}:BDEExtension></literal>.</para>
        <para>Any given extension content may have as its child at most one
          apex (or top-most) element in the XML element tree. The absence of
          content is provided for situations where a processing application
          chooses to elide foreign unrecognized-namespace elements from the XML
          element tree.</para>
      </section>
      <section id="S-PAYLOAD-CONTENT">
        <title>Payload content</title>
        <para>The payload content element's name is <literal>&lt;{aggregate
            prefix}:PayloadContent></literal>, for example,
            <literal>&lt;eac:PayloadContent></literal>. It is the last element
          child of <literal>&lt;{aggregate prefix}:Payload></literal>.</para>
        <para>Any given payload content element may have as its child exactly
          one apex (or top-most) element in the XML element tree, or it may
          consist solely of text that would typically represent encrypted
          content or non-XML content. Special care must be taken that all
          non-XML payload content must be encoded according to XML text
          encoding rules, such as the escaping of special markup characters, so
          as to permit an XML processing application to correctly interpret the
          non-XML content.</para>
        <para>The schema declarations are unable to prevent flagging the
          payload content having a combination of both text and a single
          element as a constraint error. Detecting such a condition is the
          responsibility of the processing agent.</para>
        <para>The schema declarations are unable to prevent flagging the
          payload content having empty content as a constraint error. Detecting
          such a condition is the responsibility of the processing
          agent.</para>
      </section>
    </section>
  </section>
  <section id="S-CONFORMANCE">
    <title>Conformance</title>
    <para>A conforming instance is an instance that does not violate any
      document constraints expressed by the schemas.</para>
    <para>In addition, the following instance constraints that cannot be
      detected as schema constraints must not be violated:</para>
    <itemizedlist>
      <listitem>
        <para>every XML element that is not extension content is not allowed to
          be empty, and</para>
      </listitem>
      <listitem>
        <para>the <literal>&lt;{aggregate prefix}:PayloadContent></literal>
          element is not allowed to have a combination of text and an element
          (that is, it must either be a non-empty string of text or it must be
          a single element).</para>
      </listitem>
    </itemizedlist>
  </section>
  <appendix role="non-normative" id="A-RELEASE-NOTES">
    <title>Release notes</title>
    <section id="S-AVAILABILITY">
      <title>Availability</title>
      <para>Online and downloadable versions of this release are available from
        the locations specified at the top of this document.</para>
    </section>
    <section id="S-PACKAGE-STRUCTURE">
      <title>Package structure</title>
      <para>This &standard; is published as a zip archive in the <ulink
          url="&this-loc;/">&this-loc;/</ulink> directory. Unzipping this
        archive creates a directory tree containing a number of files and
        subdirectories. Note that while the two XML files comprise the
        revisable version of this specification, this revisable XML may not be
        directly viewable in all currently available web browsers.</para>
      <para>The base directory has the following files:</para>
      <blockquote>
        <para>
          <variablelist>
            <varlistentry>
              <term><emphasis role="bold"><literal>&name;-&stage;.xml</literal>
                </emphasis></term>
              <listitem>
                <para>The revisable form of the document.</para>
              </listitem>
            </varlistentry>
          </variablelist>
          <variablelist>
            <varlistentry>
              <term><emphasis role="bold"
                    ><literal>&name;-&stage;.html</literal>
                </emphasis></term>
              <listitem>
                <para>An HTML rendering of the document.</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term><emphasis role="bold"><literal>&name;-&stage;.pdf</literal>
                </emphasis></term>
              <listitem>
                <para>A PDF rendering of the document.</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
      </blockquote>
      <para>These are the subdirectories in the package:</para>
      <blockquote>
        <para>
          <variablelist>
            <varlistentry>
              <term><emphasis role="bold"><literal>art</literal>
                </emphasis></term>
              <listitem>
                <para>Diagrams and illustrations used in this
                  specification.</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term><emphasis role="bold"><literal>db</literal>
                </emphasis></term>
              <listitem>
                <para>DocBook stylesheets for viewing in HTML the XML of this
                  work product.</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term><emphasis role="bold"><literal>mod</literal>
                </emphasis></term>
              <listitem>
                <para>The envelope document model in various formats.</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term><emphasis role="bold"><literal>val</literal>
                </emphasis></term>
              <listitem>
                <para>Demonstrative validation of the example instances with
                  the envelope schemas.</para>
                <para>See <xref linkend="A-DEMONSTRATION-ENVIRONMENT"/> for
                  details.</para>
              </listitem>
            </varlistentry>
            <!--<varlistentry><term><emphasis role="bold"><literal>xml</literal> </emphasis></term><listitem><para>Example instances of envelopes and payloads.</para></listitem></varlistentry>-->
            <varlistentry>
              <term><emphasis role="bold"><literal>xsd</literal>
                </emphasis></term>
              <listitem>
                <para>XML schema expressions complete with semantic
                  documentation.</para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term><emphasis role="bold"><literal>xsdrt</literal>
                </emphasis></term>
              <listitem>
                <para>Runtime XML schema expressions void of semantic
                  documentation.</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </para>
      </blockquote>
    </section>
  </appendix>
  <appendix role="non-normative" id="A-ACKNOWLEDGEMENTS">
    <title>Acknowledgements</title>
    <para>The following individuals have participated in the creation of this
      specification and are gratefully acknowledged:</para>
    <simplelist>
      <member>Jens Aabol, Difi-Agency for Public Management and
        eGovernment</member>
      <member>Oriol Bausa Peris, Individual</member>
      <member>Kenneth Bengtsson, Alfa1lab</member>
      <member>Kees Duvekot, RFS Holland Holding B.V.</member>
      <member>Sander Fieten, Individual</member>
      <member>G. Ken Holman, Crane Softwrights Ltd.</member>
      <member>Ole Madsen, Danish Agency for Digitisation, Ministry of
        Finance</member>
      <member>Sven Rasmussen, Danish Agency for Digitisation, Ministry of
        Finance</member>
    </simplelist>
  </appendix>
  <appendix role="non-normative" id="A-DEMONSTRATION-ENVIRONMENT">
    <title>Demonstration environment</title>
    <para>A working example of using the schemas with an XML instance is
      demonstrated in the <literal>val/</literal> directory. This directory has
      a number of simple test files:</para>
    <itemizedlist>
      <listitem>
        <para><emphasis role="bold"
            ><literal>simpleExample.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>a simple envelope with three payload instances, the second of
              which is simple text (note the escaped special characters) and
              the other two of which are XML</para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleFailSyntax.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>an envelope document with an XML well-formedness error (the
              end tag for the creation date and time is missing the closing
              right-angle bracket)</para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleFailModel.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>an envelope document with an XML validity error (a misspelled
              element for the creation date and time)</para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleExtension.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>a simple envelope with a user-defined extension adding
              information to the envelope</para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleSignedNotFinal.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>a simple envelope digitally signed with a single signature in
              such a way that allows additional signatures to be embedded in
              the envelope</para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleSignedFinal.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>a simple envelope digitally signed with a single signature in
              such a way that does not allow additional signatures to be
              embedded in the envelope</para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleSignedNotFinalAdditional.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>a simple envelope digitally signed with two signatures,
              having added one to
                <literal>simpleExampleSignedNotFinal.xml</literal></para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleSignedFinalAdditionalFail.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>a simple envelope digitally signed with two signatures,
              having added one to
                <literal>simpleExampleSignedFinal.xml</literal></para>
          </listitem>
          <listitem>
            <para>the document validates against the BDE schemas, however
              digital signature verification software flags this as the final
              signature being invalid because additional information (the
              second signature) was added to the document</para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para><emphasis role="bold"
              ><literal>simpleExampleSignedDetached.xml</literal></emphasis></para>
        <itemizedlist>
          <listitem>
            <para>the detached digital signature of
                <literal>simpleExample.xml</literal>, signed in such a way that
              allows additional signatures to be embedded in the
              envelope</para>
          </listitem>
          <listitem>
            <para>this is an instance of the W3C digital signature vocabulary
              and is not an instance of the business document envelope, and so
              this is not validated as part of the test script</para>
          </listitem>
        </itemizedlist>
      </listitem>
    </itemizedlist>
    <note>
      <para>The digital signatures in these test files are bona fide and can be
        verified with suitable digital signature software.</para>
    </note>
    <para>To invoke the schemas with the demonstration instances, navigate to
      the directory and invoke the test script:</para>
    <itemizedlist>
      <listitem>
        <para>in Windows:</para>
        <blockquote>
          <para><emphasis role="bold"
            ><literal>test.bat</literal></emphasis></para>
        </blockquote>
      </listitem>
      <listitem>
        <para>in shell:</para>
        <blockquote>
          <para><emphasis role="bold"><literal>sh
            test.sh</literal></emphasis></para>
        </blockquote>
      </listitem>
    </itemizedlist>
    <para>The result on the screen should appear as follows:</para>
    <programlisting>val $ sh test.sh

############################################################
Validating simpleExample.xml
############################################################
============== Phase 1: XSD schema validation ==============
No schema validation errors.
============ Phase 2: XSLT code list validation ============
No code list validation errors.

############################################################
Validating simpleExampleFailSyntax.xml
############################################################
============== Phase 1: XSD schema validation ==============
org.xml.sax.SAXParseException: The end-tag for element type 
"ebc:CreationDateTime" must end with a '>' delimiter.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:277)
at com.nwalsh.parsers.XJParser.xsdParse(Unknown Source)
at com.nwalsh.parsers.XJParser.parse(Unknown Source)
at com.nwalsh.parsers.XJParse.run(Unknown Source)
at com.nwalsh.parsers.XJParse.main(Unknown Source)
Exception in thread "main" java.lang.NullPointerException
at com.nwalsh.parsers.XJParser.printParseStats(Unknown Source)
at com.nwalsh.parsers.XJParse.run(Unknown Source)
at com.nwalsh.parsers.XJParse.main(Unknown Source)
Attempting well-formed, namespace-aware parse
Fatal error:file:///Users/admin/t/artefacts-bdx-bde-v1.0-csd01wd01-test/
val/simpleExampleFailSyntax.xml:7:3:The end-tag for element type 
"ebc:CreationDateTime" must end with a '>' delimiter.

############################################################
Validating simpleExampleFailModel.xml
############################################################
============== Phase 1: XSD schema validation ==============
Attempting well-formed, namespace-aware parse
Error:file:///Users/admin/t/artefacts-bdx-bde-v1.0-csd01wd01-test/val/
simpleExampleFailModel.xml:6:26:cvc-complex-type.2.4.a: Invalid 
content was found starting with element 'ebc:CreationDateTimex'. One 
of '{"http://docs.oasis-open.org/bdxr/ns/bde/1.0/BasicComponents":
CreationDateTime}' is expected.
Parse succeeded (0.12) with 1 error and no warnings.

############################################################
Validating simpleExampleExtension.xml
############################################################
============== Phase 1: XSD schema validation ==============
No schema validation errors.
============ Phase 2: XSLT code list validation ============
No code list validation errors.

############################################################
Validating simpleExampleSignedNotFinal.xml
############################################################
============== Phase 1: XSD schema validation ==============
No schema validation errors.
============ Phase 2: XSLT code list validation ============
No code list validation errors.

############################################################
Validating simpleExampleSignedFinal.xml
############################################################
============== Phase 1: XSD schema validation ==============
No schema validation errors.
============ Phase 2: XSLT code list validation ============
No code list validation errors.

############################################################
Validating simpleExampleSignedNotFinalAdditional.xml
############################################################
============== Phase 1: XSD schema validation ==============
No schema validation errors.
============ Phase 2: XSLT code list validation ============
No code list validation errors.

############################################################
Validating simpleExampleSignedFinalAdditionalFail.xml
############################################################
============== Phase 1: XSD schema validation ==============
No schema validation errors.
============ Phase 2: XSLT code list validation ============
No code list validation errors.

val $ </programlisting>
    <para>The test script invokes the validation script using the
      following::</para>
    <itemizedlist>
      <listitem>
        <para>in Windows:</para>
        <blockquote>
          <para><emphasis role="bold"><literal>validate.bat schema-file
                instance-file</literal></emphasis></para>
        </blockquote>
      </listitem>
      <listitem>
        <para>in shell:</para>
        <blockquote>
          <para><emphasis role="bold"><literal>sh validate.sh schema-file
                instance-file</literal></emphasis></para>
        </blockquote>
      </listitem>
    </itemizedlist>
    <para>The validation script invokes the schema script using the
      following:</para>
    <itemizedlist>
      <listitem>
        <para>in Windows:</para>
        <blockquote>
          <para><emphasis role="bold"><literal>w3cschema.bat schema-file
                instance-file</literal></emphasis></para>
        </blockquote>
      </listitem>
      <listitem>
        <para>in shell:</para>
        <blockquote>
          <para><emphasis role="bold"><literal>sh w3cschema.sh schema-file
                instance-file</literal></emphasis></para>
        </blockquote>
      </listitem>
    </itemizedlist>
    <para>The validation script invokes the XSLT script using the
      following:</para>
    <itemizedlist>
      <listitem>
        <para>in Windows:</para>
        <blockquote>
          <para><emphasis role="bold"><literal>xslt.bat instance-file
                stylesheet-file output-file</literal></emphasis></para>
        </blockquote>
      </listitem>
      <listitem>
        <para>in shell:</para>
        <blockquote>
          <para><emphasis role="bold"><literal>sh xslt.sh instance-file
                stylesheet-file output-file</literal></emphasis></para>
        </blockquote>
      </listitem>
    </itemizedlist>
    <para>The empty stylesheet <emphasis role="bold"
          ><literal>BDE-DefaultDTQ-1.0.xsl</literal></emphasis> is a placebo
      that would be replaced with an XSLT stylesheet imposing value validation
      constraint checking on a given instance of a business document
      envelope.</para>
  </appendix>
  <appendix role="non-normative" id="A-REVISION-HISTORY">
    <title>Revision History</title>
    <informaltable frame="all">
      <tgroup cols="4">
        <colspec colwidth="1*"/>
        <colspec colwidth="2*"/>
        <colspec colwidth="1*"/>
        <colspec colwidth="8*"/>
        <thead>
          <row>
            <entry>Revision</entry>
            <entry>Date</entry>
            <entry>Editor</entry>
            <entry>Changes made</entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry>csd01wd01</entry>
            <entry>09 February 2015</entry>
            <entry>GKH</entry>
            <entry>Initial version with business objects submitted by UBL
              Technical Committee</entry>
          </row>
          <row>
            <entry>csd01wd02</entry>
            <entry>14 February 2015</entry>
            <entry>GKH</entry>
            <entry>Revision to include additional constructs from BII
              specification</entry>
          </row>
          <row>
            <entry>csd01wd03</entry>
            <entry>17 February 2015</entry>
            <entry>GKH</entry>
            <entry>Document namespaces; use W3C DSig 1.1 schemas; remove
              reference to empty xml/ samples directory</entry>
          </row>
          <row>
            <entry>csd01wd04</entry>
            <entry>26 February 2015</entry>
            <entry>GKH</entry>
            <entry>Add class for relevant external references; remove primary
              instance indicator; update wording of requirements</entry>
          </row>
          <row>
            <entry>csd01</entry>
            <entry>04 March 2015</entry>
            <entry>GKH</entry>
            <entry>Cover page changes for CSD</entry>
          </row>
          <row>
            <entry>csprd01</entry>
            <entry>04 March 2015</entry>
            <entry>GKH</entry>
            <entry>Cover page changes for CSPRD</entry>
          </row>
        </tbody>
      </tgroup>
    </informaltable>
  </appendix>
</article>
