[brailleblaster] [brailleblaster.newdesign] push by kcre...@xxxxxxxxx - Added resources to tests, NIMAS example FDR's Inagural Address for tes... on 2013-01-11 19:04 GMT

  • From: brailleblaster@xxxxxxxxxxxxxx
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Fri, 11 Jan 2013 19:05:03 +0000

Revision: f209478e42e7
Branch:   default
Author:   Keith Creasy <kcreasy@xxxxxxxxx>
Date:     Fri Jan 11 11:03:51 2013
Log: Added resources to tests, NIMAS example FDR's Inagural Address for testing. Created org.brailleblaster.tests directory for unit test source files.
http://code.google.com/p/brailleblaster/source/detail?r=f209478e42e7&repo=newdesign

Added:
 /src/tests/resources/fdr/FDR Inagural Address.ncx
 /src/tests/resources/fdr/FDR Inagural Address.opf
 /src/tests/resources/fdr/FDR Inagural Address.smil
 /src/tests/resources/fdr/dtbook110.dtd
 /src/tests/resources/fdr/dtbsmil110.dtd
 /src/tests/resources/fdr/fdr.xml
 /src/tests/resources/fdr/ncx110.dtd
 /src/tests/resources/fdr/oeb1.ent
 /src/tests/resources/fdr/oebpkg101.dtd
 /src/tests/resources/fdr/pipeline_report.xml

=======================================
--- /dev/null
+++ /src/tests/resources/fdr/FDR Inagural Address.ncx Fri Jan 11 11:03:51 2013
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx v1.1.0//EN" "ncx110.dtd">
+<ncx version="1.1.0" lang="en">
+       <head>
+               <meta name="dtb:generator" content="Book Wizard Producer, 
1.2.0.594"/>
+ <meta name="dtb:uid" content="FDR's_Inaugural_Address_for_use_as_part_of_the_following:_NIMAS_v1.0_Exemplar_file:_Social_Studies"/>
+               <meta name="dtb:pageSpecial" content="0"/>
+               <meta name="dtb:pageFront" content="0"/>
+               <meta name="dtb:pageNormal" content="0"/>
+               <meta name="dtb:maxPageNormal" content="0"/>
+               <meta name="dtb:depth" content="1"/>
+       </head>
+       <docTitle>
+ <text>FDR's Inaugural Address for use as part of the following: NIMAS v1.0 Exemplar file: Social Studies</text>
+       </docTitle>
+       <docAuthor>
+               <text>unknown</text>
+       </docAuthor>
+       <navMap>
+               <navLabel>
+                       <text>Primary Navigation</text>
+               </navLabel>
+               <navPoint id="np_2" class="chapter">
+                       <navLabel>
+                               <text>FDR's Inaugural Address, 1933</text>
+                       </navLabel>
+                       <content src="FDR Inagural Address.smil#np_2"/>
+               </navPoint>
+       </navMap>
+</ncx>
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/FDR Inagural Address.opf Fri Jan 11 11:03:51 2013
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE package PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.0.1 Package//EN" "oebpkg101.dtd"> +<package unique-identifier="guid" xmlns="http://openebook.org/namespaces/oeb-package/1.0/";>
+       <!-- Metadata follows,  Dublin core plus any metadata extensions-->
+       <metadata>
+ <dc-metadata xmlns:dc="http://purl.org/dc/elements/1.0/"; xmlns:oebpackage="http://openebook.org/namespaces/oeb-package/1.0/";> + <dc:Identifier id="guid" scheme="DTB">FDR's_Inaugural_Address_for_use_as_part_of_the_following:_NIMAS_v1.0_Exemplar_file:_Social_Studies</dc:Identifier>
+                       <dc:Format>ANSI/NISO Z39.86-2002</dc:Format>
+                       <dc:Language>en</dc:Language>
+                       <dc:Date>2007-01-10</dc:Date>
+                       <dc:Publisher>American Printing House for the 
Blind</dc:Publisher>
+ <dc:Rights>Copyright (c) 2005 American Printing House for the Blind</dc:Rights> + <dc:Title>FDR's Inaugural Address for use as part of the following: NIMAS v1.0 Exemplar file: Social Studies</dc:Title>
+               </dc-metadata>
+               <x-metadata>
+                       <meta name="dtb:multimediaType" content="textNCX"/>
+                       <meta name="dtb:totalTime" content="00:00:00.000"/>
+ <meta name="dtb:producer" content="American Printing House for the Blind"/>
+               </x-metadata>
+       </metadata>
+       <manifest>
+               <item id="opf" href="FDR Inagural Address.opf" 
media-type="text/xml"/>
+               <item id="text" href="FDR Inagural Address.xml" 
media-type="text/xml"/>
+ <item id="smil1" href="FDR Inagural Address.smil" media-type="application/smil"/>
+               <item id="ncx" href="FDR Inagural Address.ncx" 
media-type="text/xml"/>
+       </manifest>
+       <spine>
+               <itemref idref="smil1"/>
+       </spine>
+</package>
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/FDR Inagural Address.smil Fri Jan 11 11:03:51 2013
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<!DOCTYPE smil PUBLIC "-//NISO//DTD dtbsmil v1.1.0//EN" "dtbsmil110.dtd">
+<smil>
+       <head>
+               <meta name="dtb:generator" content="Book Wizard Producer, 
1.2.0.594"/>
+ <meta name="dtb:uid" content="FDR's_Inaugural_Address_for_use_as_part_of_the_following:_NIMAS_v1.0_Exemplar_file:_Social_Studies"/>
+               <meta name="dtb:totalElapsedTime" content="00:00:00"/>
+               <layout>
+                       <region id="text"/>
+               </layout>
+       </head>
+       <body>
+               <seq id="main-sequence">
+                       <seq id="np_2">
+                               <par id="par_0001" class="h1">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.H01"/>
+                               </par>
+                               <par id="par_0002" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P001"/>
+                               </par>
+                               <par id="par_0003" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P002"/>
+                               </par>
+                               <par id="par_0004" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P003"/>
+                               </par>
+                               <par id="par_0005" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P004"/>
+                               </par>
+                               <par id="par_0006" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P005"/>
+                               </par>
+                               <par id="par_0007" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P006"/>
+                               </par>
+                               <par id="par_0008" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P007"/>
+                               </par>
+                               <par id="par_0009" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P008"/>
+                               </par>
+                               <par id="par_0010" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P009"/>
+                               </par>
+                               <par id="par_0011" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P010"/>
+                               </par>
+                               <par id="par_0012" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P011"/>
+                               </par>
+                               <par id="par_0013" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P012"/>
+                               </par>
+                               <par id="par_0014" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P013"/>
+                               </par>
+                               <par id="par_0015" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P014"/>
+                               </par>
+                               <par id="par_0016" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P015"/>
+                               </par>
+                               <par id="par_0017" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P016"/>
+                               </par>
+                               <par id="par_0018" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P017"/>
+                               </par>
+                               <par id="par_0019" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P018"/>
+                               </par>
+                               <par id="par_0020" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P019"/>
+                               </par>
+                               <par id="par_0021" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P020"/>
+                               </par>
+                               <par id="par_0022" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P021"/>
+                               </par>
+                               <par id="par_0023" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P022"/>
+                               </par>
+                               <par id="par_0024" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P023"/>
+                               </par>
+                               <par id="par_0025" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P024"/>
+                               </par>
+                               <par id="par_0026" class="p">
+                                       <text region="text" src="FDR Inagural 
Address.xml#L001.P025"/>
+                               </par>
+                       </seq>
+               </seq>
+       </body>
+</smil>
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/dtbook110.dtd      Fri Jan 11 11:03:51 2013
@@ -0,0 +1,2499 @@
+<!-- DTBook DTD V1.1.0 2002-02-27 -->
+<!-- file: dtbook110.dtd  (Note: Update version attribute on dtbook element
+    when version changes.)-->
+<!--dtbook110 Digital Talking Book XML Document Type Definition
+    Implementing the ANSI/NISO Digital Talking Book V1.1.0 Document
+    Tagging Requirements
+
+    Harvey Bingham <hbingham@xxxxxxx>
+    George Kerscher <kerscher@xxxxxxxxxxx>
+    Michael Moodie <mmoo@xxxxxxx>
+    David Pawson <dpawson@xxxxxxxxxxx>
+
+    Assisted by DAISY Consortium and NISO DTB Committee work teams.
+
+    1. Purpose
+
+    The Digital Talking Book Document Type Definition (DTD) provides
+    the means to mark up the text of a document to permit support for
+    the combination of professional narration and navigation into that
+    narration. It also facilitates the output of a document's content in
+    a variety of accessible formats. The markup tags in the book convey
+    its content in structure, and contain some metadata about the book
+    content and its structure.
+
+    The Document Type Definition names and defines the allowable element
+    types, their allowable content, and their attributes. Correct markup
+    of the text of the book permits the textual material to be synchronized
+    using SMIL [SMIL2.0] files with the professionally narrated version of
+    that book. The synchronization can permit concurrent display of the
+    text being narrated. The textual content can be searched in context to
+    locate material desired for narration.
+
+    More detailed documentation of this dtbook dtd [DTBOOKV110DTD] is
+    available as an html document. See [DTBOOKV110DOC].
+
+    1.1. Prior Related Work
+
+    The DAISY (Digital Audio-based Information SYstem) Consortium
+    contributed substantially to the development of this DTD.
+    This application of XML is the next generation after several DAISY
+    versions of 2.X specifications, see [DAISY202].
+
+    The DAISY Statement of Principles for the Creation and Production
+    of Accessible Books and Materials [DAISY-2-GUIDELINES] represents
+    the minimum standard to be met by Libraries of the Blind and producers
+    of alternative format materials.
+
+    Its Navigation Control Center (NCC) provided for synchronizing
+    document structure with narration.
+
+    The NCC evolved into an XML application called the "Navigation Control
+    File for XML applications" (NCX). Its content is derived from
+    the markup of documents tagged using the dtbook DTD. Richer
+    structuring capability is one of the objectives of that DTD. The
+    Synchronized Multimedia Integration Language [SMIL2.0] is used
+    to provide synchronized narrations and text. The NCX provides
+ navigation using the identified elements of documents tagged to this DTD.
+
+    The dtbook DTD includes many, but not all, of the element types found
+    in both the [HTML401STRICT] and [XHTML11STRICT] strict DTDs. HTML
+    authoring tools permit those additional element tags, and may ignore
+    the additional tags that are dtbook-specific. The lowercase names
+    from XHTML are used, rather than the uppercase names from HTML.
+
+    1.2. Evolution from HTML and XHTML
+
+    Dtbook110 has 79 element types. It shares 47 element types with the
+    HTML4.0 Strict DTD [HTML401STRICT] (as adjusted to use the lower-case
+    names consonant with the XHTML Strict DTD [XHTML11STRICT]). It omits
+    30 element types from them, and has 32 unique element types.
+
+ Endtag markup is sometimes optional in HTML. It is required for use with + xhtml and dtbook. Any XML application [XML12] requires endtags, or their
+    abbreviated form for empty elements, such as "<br />". The benefit of
+    including endtags is that the tagged document has dependable structure
+    that can be validated against the dtbook dtd.
+
+    Some tools available for browsing HTML may be used with dtbook
+    material, at the expense of their discarding or ignoring some specific
+    tagging and attributes that are not part of HTML 4.0. A CSS-based
+ stylesheet [CSS1] or [CSS2] that identifies the presentation expectations
+    for the HTML and non-HTML tags, or a filter to map those tags onto
+    suitable HTML tags can provide appropriate visual presentation.
+
+    2. Document Tagging Content
+
+    A Digital Talking Book document is an XML application. Therefore, it
+    must begin with the XML processing instruction, followed by the DOCTYPE
+    declaration.
+
+    2.1. XML Processing Instruction
+
+    The XML Processing Instruction identifies the version of XML, and the
+    optional character set encoding for the document:
+
+        <?xml version="1.0" encoding="UTF-8" ?>
+
+    2.2. Character Set Encodings
+
+    The character set in which the document is encoded is identified by
+ one of a number of strings. All XML applications are expected to be able
+    to recognize the UNICODE/ISO/IEC 10646 encodings "UTF-8" and "UTF-16"
+    [ISO10646].
+
+    Some alternative encodings to "UTF-8" (or "ISO-10646-UCS-2")
+    or "UTF-16" (or "ISO-10646-UCS-4") may be used. These include
+    "ISO-8859-1", "ISO-8859-2", ... "ISO-8859-9" for parts of ISO 8859.
+    See [ISO8859]. Note that US-ASCII (i.e. encoding all characters over
+    decimal 127, e.g. from 128 to 255, as &#nnn;) is conformant with UTF-8
+    (and ISO-8859-1, HTTP's default header encoding.)
+
+    Also, the values "ISO-2022-JP", "Shift_JIS", or "EUC-JP" can be used
+    for various Japanese encoded forms of JIS X-0208-1997. See [JIS].
+
+    The Unicode characters may be represented as their code points,
+    using the form &#hHHHH; where HHHH is a hexadecimal value formed
+    from the digits 0-9 and letters A-F. Any initial H with value "0"
+    may be elided.
+
+    2.3. DOCTYPE Declaration
+
+ The document type declaration, the DOCTYPE, follows. It has several forms.
+    The simpler form assumes that the proper version of the dtbook DTD
+    is in the same directory as the dtbook file itself.
+
+        <!DOCTYPE dtbook SYSTEM
+            "dtbook110.dtd">
+
+    A more general form provides the PUBLIC URI from which the SYSTEM
+    filename can be substituted, should that system copy be missing:
+
+        <!DOCTYPE dtbook PUBLIC
+            "http://www.loc.gov/nls/z3986/v100/dtbook110.dtd";
+            "dtbook110.dtd">
+
+    That assumes the URI can be reached, which may not be true for
+    portable dtbook players.
+
+ The still more general form recommended for xml applications [XML12] is:
+
+        <!DOCTYPE dtbook PUBLIC
+            "-//NISO//DTD dtbook v1.1.0//EN"
+            "dtbook110.dtd">
+
+ where the Formal Public Identifier (FPI) on the second line is converted
+    to the URI where it may be publicly found:
+
+        http://www.loc.gov/nls/z3986/v100/dtbook110.dtd
+
+    The [OASIS-TR9401] Entity Management Catalog provides an indirect
+    means to provide that mapping from FPI to the dtd.
+
+    That catalog is more generally useful to provide the mapping from
+    any external entity names (such as modules) to URIs where they may
+    be found.
+
+    Note that the reference above is to a particular version of the DTD,
+    distinguished by the "v110".
+
+    2.4. Digital Talking Book File MIME Type
+
+    A Digital Talking Book document is tagged to the dtbook XML
+    application. Its MIME media-type is "text/xml". The tagged book
+    filename should have suffix ".xml". See [RFC2045].
+
+    3. Modular Extension to the DTD
+
+    The dtbook DTD has two parameter entities defined that provide means
+    to allow an individual book to modularly extend the content models
+    for its block and inline parameter entities:
+
+        <!ENTITY % externalblock "">
+        <!ENTITY % externalinline "">
+
+    These parameter entities appear in corresponding block and inline
+    content models. With this "" content they have no effect on books
+    tagged to the dtbook DTD. In a book that needs a modular extension,
+    values are given by redefinition in the internal subset of that book.
+    This extends the dtbook DTD without having to change it.
+
+    A book can augment the dtbook DTD by including other declarations
+    or parameter entity references in the internal subset of declarations.
+    The internal subset may occur in square brackets following the
+    ExternalID and before the concluding ">" of the initial DOCTYPE
+    declaration that identifies the dtbook DTD.
+
+    Those additional markup declarations in the internal subset
+    take preference over any in the dtbook DTD itself. The effective
+    DTD is thereby augmented by the parameter entity values and any other
+    declarations of the book's internal subset. When a given parameter
+    entity declaration appears more than once in the external modules and
+    the dtbook DTD, the first occurrence of that declaration is the one
+    that takes effect, with modules in the internal subset being processed
+    in order, before the DTD itself.
+
+    For example:
+
+        <!DOCTYPE dtbook SYSTEM
+        "dtbook.dtd"
+        [
+            <!ENTITY % dramaModule SYSTEM "drama.dtd">
+            %dramaModule;
+            <!ENTITY % externalblock "| drama">
+            <!ENTITY % externalinline "| stagedir">
+        ]>
+
+    The "%dramaModule;" invocation causes all declarations made within
+    dramaModule to become the initial part of the dtbook DTD. Within the
+    book, the empty entity declarations for both % externalblock and for
+    % externalinline are replaced by these new definitions. Thus the
+    block element drama can appear wherever block elements may occur in
+    dtbook. Similarly any actual content needed for %externalinline;
+    (" | stagedir" is shown above) can appear in that extension to wherever
+    %inline; appears in the DTD.
+
+    More than one module may be needed and included in a book, for example
+    both poem and drama can appear in the internal subset of the book.
+    For example, the internal subset of the book could contain:
+
+        <!DOCTYPE dtbook SYSTEM
+        "dtbook.dtd"
+        [
+            <!ENTITY % poemModule SYSTEM "poem.dtd">
+            %poemModule;
+            <!ENTITY % dramaModule SYSTEM "drama.dtd">
+            %dramaModule;
+            <!ENTITY % externalblock "| poem | stanza | verse | drama">
+            <!ENTITY % externalinline "| stagedir">
+        ]>
+
+    Such external modules need to include the definitions of any parameter
+ entities that are used in the modules since their definitions are needed
+    before they can be expanded in their references. They cannot depend
+    on parameter entities in the SystemLiteral or PubidLiteral.
+
+    Note that arbitrary external modules from other sources may not have
+    all the needed attributes. XML allows augmentation of ATTLISTs in the
+    internal subset. Additional attribute names can be added to an
+    associated element type. Any redefinitions of a particular named
+    attribute resulting from presence in the internal subset have
+    precedence.
+
+    Also note that element name collisions may be possible, with names
+    in those modules and associated content models overriding those in
+    dtbook. For modules under control of dtbook design, such collisions
+    can be avoided. A more general solution uses namespace prefixes to
+    element and attribute names to clearly indicate the module source.
+
+    Following the document type declaration, the fully marked-up document
+    appears, including tags from the external modules found in the internal
+    subset. Declarations in the internal subset or in external entity
+    references (such as %dramaModule;) referenced therein take precedence
+    over like-named ones from the external entity containing the base DTD
+    (that is, dtbook110.dtd). Thus the declarations from the module
+    containing the drama and poem tags are included along with the tags
+    in the base DTD (that is dtbook110.dtd) that are not duplicated or
+    redefined in the drama module. So if a <p> tag is defined in the drama
+    module, its definition overrides that of the <p> tag in dtbook. There
+    is an exception: an ATTLIST for elementname that adds attributes from
+    the internal subset augments the ATTLIST attributes with different
+    attribute names in the ATTLIST of the same elementname in the
+    dtbook110.dtd.
+
+    Note that tools and players processing any extended markup that affects
+    navigation structure will need to know of those modular extensions.
+
+    The form above for augmenting the dtbook dtd through the document's
+    internal subset does not require the XML namespace mechanism, with
+    its namespace-specific prefix on element and attribute names to
+    disambiguate any potential name collisions. However, use of XML
+    namespaces [XML-NAMES] is not precluded.
+
+    4. References
+
+ These references are informative. The bracketed names here are targets for + indirect reference from the corresponding bracketed names in other parts
+    of this document or in descriptions within this section.
+
+ [CSS1] Cascading Style Sheets, Level 1. Rec-CSS1-1999011 Revised 11 Jan 1999
+
+        http://www.w3.org/TR/REC-CSS1
+
+ [CSS2] Cascading Style Sheets, Level 2 CSS2 Specification REC-CSS2-19980512
+
+        http://www.w3.org/TR/REC-CSS2
+
+    [DAISY202] The DAISY 2.02 Specification for the DAISY Digital Talking
+    Book (DTB) format, which enables navigation within a sequential
+    and hierarchical structure consisting of (marked-up) text synchronized
+    with audio.
+
+        http://www.daisy.org/dtbook/spec/2/final/d202/daisy_202.html
+
+    [DAISY-2-GUIDELINES] The DAISY 2.02 Specification for
+    the Creation and Production of Accessible Books and Materials,
+    Version 0.99 1999-09-23 represents minimum standard to be met by
+    Libraries for the Blind and producers of alternative format materials:
+
+        http://www.daisy.org/dtbook/guidelines/draft/principles.htm
+
+    [DTBOOKV110DTD] The dtbook DTD v1.1.0 (this DTD) is available at:
+
+        http://www.loc.gov/nls/z3986/v100/dtbook110.dtd
+
+ Note that some browsers do not permit downloading a file with suffix dtd.
+
+    [DTBOOKV110DOC] Digital Talking Book Expanded Document Type Definition
+    Documentation for Version V110 of this DTD is available as an
+    HTML 4.0 document:
+
+        http://www.loc.gov/nls/z3986/v100/dtbook110doc.htm
+
+    Should revisions occur, a new directory with node named "vxxx" (rather
+ than v110) that indicates the revision level will contain the revisions.
+    Any prior specific version of the dtbook dtd and its documentation will
+    persist.
+
+    [DTBOOK3] The last public beta version was dtbook3-07.dtd (2001-01-31).
+
+        http://www.loc.gov/nls/z3986/background/dtbk3_old_dtds/dtbk3-07.dtd
+
+    and its expanded documentation:
+
+ http://www.loc.gov/nls/z3986/background/dtbk3_old_dtds/dtbk3-07doc.htm
+
+    Those and prior versions are available at:
+
+        http://www.loc.gov/nls/z3986/background/dtbk3_old_dtds/index.html
+
+    The history of changes prior to this version, including those
+    in internal drafts through dtbk3-12.dtd and before is in:
+
+        http://www.loc.gov/nls/z3986/background/dtbk3-dtd-changes.txt
+
+    In that directory also are the old dtdbk3 dtds, some of which have
+    been used for test markup,  and their documentation. See its
+    index.html for the list. (Caution: some browsers may not
+    permit downloading DTDs.)
+
+        http://www.loc.gov/nls/z3986/background/index.html
+
+    [HTML401STRICT] "HTML 4.0 Strict DTD," 1999-12-24, Dave Raggett,
+    Arnaud Le hors, and Ian Jacobs. Dtbook110 was originally based on
+    the HTML 4.0 Strict DTD with design adaptation for dtbook110.
+    A principal adaptation is to use lower-case names for element types
+    and attribute names. For expanded discussion, see [HTML401].
+
+        http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd
+
+    [HTML401] "HTML 4.01 Specification" W3C Recommendation 24 December 1999
+    Documentation of the element types that come from the HTML 4.0 Strict
+    DTD [HTML401STRICT] is available at:
+
+        http://www.w3.org/TR/1999/REC-html401-19991224/
+
+    Dtbook110 is partially harmonized with the [XHTML11STRICT] DTD.
+    The XHTML camelCase parameter entity names are retained, and comments
+    and references following those parameter entities explain them. The
+    lower-case element and attribute names are used. The simplified table
+    content model of just table rows is included.
+
+    [ISO10646] "Information Technology - Universal Multiple-Octet Coded
+    Character Set (UCS) - Part 1: Architecture and Basic Multilingual
+    Plane", ISO/IEC 10646-1:1993. The current specification also takes
+    into consideration the first five amendments to ISO/IEC 10646-1:1993.
+
+    [ISO8859] "Information Processing - 8-bit single-byte coded graphic
+    character sets - Part 1: Latin alphabet No. 1," ISO 8859-1:1987.
+    Other suffixes "-2 through -9" correspond to other character sets
+    in the family.
+
+    [JIS] "JIS Character Sets" describes the history of JIS, and the
+    several character sets for KANJI, KANA and other characters.
+
+        http://www.io.com/~kazushi/encoding/jis.html
+
+    [ANSINISOZ39-86-2002] Specifications for the Digital Talking Book.
+
+        http://www.niso.org
+
+    [NLS-Z3986] Development of ANSI/NISO Z39.86-2002
+    Contains links to the DTDs developed for Z39.86-2002,
+    Specifications for the Digital Talking Book
+
+        http://www.loc.gov/nls/z3986/v100/index.html
+
+    [OASIS-TR9401] Entity Management, OASIS Technical Resolution 9401:1997
+    (Amendment 2 to TR 9401). Paul Grosso, 1997 September 10.
+
+        http://www.oasis-open.org/specs/tr9401.html
+
+    [RFC1556] "Handling of Bi-directional Texts in MIME," H. Nussbacher,
+    December 1993.
+
+        http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1556.html
+
+    [RFC1766] "Tags for the Identification of Languages",
+    H. Alvestrand, March 1995.
+
+        http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1766.html
+
+    [RFC1942] "HTML Tables", D. Raggett, May 1996
+
+        http://www.ietf.org/rfc/rfc1942.txt
+
+    Contains detailed descriptions of table elements and their
+    inheritance of attribute values. Adjustment for XML application is
+    required: end-tags are necessary, not optional, attribute values
+    must be quoted.
+
+    [RFC2045] "Multipurpose Internet Mail Extensions (MIME) Part One:
+    Format of Internet Message Bodies", N. Freed and N. Borenstein,
+ November 1996. Note that this RFC obsoletes RFC1521, RFC1522, and RFC1590.
+    The %ContentType; and %ContentTypes; media types and the
+    %Charset; and %Charsets; character encoding values are from [RFC2045].
+
+        http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2045.html
+
+    [RFC2046] "Multipurpose Internet Mail Extensions (MIME) Part Two:
+    Media Types," N. Freed, November 1996. Source for %ContentType; and
+    %ContentTypes; permitted values:
+
+        http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2046.html
+
+    [RFC2396] "Uniform Resource Identifiers (URI): Generic Syntax,"
+ T. Berners-Lee, R. Fielding, L. Masinter, August 1998. Note that this RFC
+    revises and replaces the generic definitions in RFC 1738 and RFC 1808.
+
+        http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2396.html
+
+    [SMIL2.0] The Synchronized Multimedia Integration Language SMIL 2.0
+    W3C Recommendation 07 August 2001 is available at:
+
+        http://www.w3.org/TR/2001/REC-smil20-20010807/smil20.html
+
+    [XHTML11] "XHTML (tm) 1.0: The Extensible HyperText Markup Language,"
+    W3C Recommendation 26 January 2000, A reformulation of HTML4 in XML 1.0
+    includes case-sensitive names, lower-case for elements and their
+    attributes (but not parameter entity names) and in some cases
+    equivalent content models that do not require SGML inclusions
+    and exclusion exceptions (as occurred in the HTML4.0 strict
+    DTD [HTML401STRICT]) is available at:
+
+        http://www.w3.org/TR/xhtml/
+
+    [XML-NAMES] "Namespaces in XML" World Wide Web Consortium
+    14-January-1999, REC-xml-names-19990114.
+
+        http://www.w3.org/TR/REC-xml-names/
+
+    [XHTML11STRICT] Expanded documentation of the element types that come
+    from the XHTML11 strict.dtd and its other DTDs is available within
+    the zip file:
+
+        http://www.w3.org/TR/xhtml1/DTD/xhtml1/xhtml1.zip
+
+    Note: some browsers cannot download a dtd directly.
+
+    [XML12] This dtbook110.dtd is an application of the Extensible Markup
+    Language XML 1.0 (Second Edition) W3C Recommendation 6 October 2000.
+    It is available at:
+
+        http://www.w3.org/TR/REC-xml
+
+    -->
+
+<!-- change record:
+        1998-10-08 original by Harvey Bingham
+        1999-01-23 revision 3-01
+        1999-06-25 revision 3-02
+        1999-07-20 revision 3-03
+        1999-09-16 revision 3-04
+        1999-09-24 revision 3-05
+        1999-11-05 revision 3-06
+        2001-01-31 revision 3-07
+        2001-03-08 revision 3-08
+        2001-03-30 revision 3-09 basis for dtbook110.dtd
+        2001-09-07 revision 3-10 version 1.0.0 first draft
+        2001-09-21 revision 3-11 version 1.0.0 second draft
+        2001-09-26 revision 3-12 version 1.0.0 third draft
+        2001-09-30 dtbook100 version 1.0.0 initial public release
+        2002-01-22 dtbook110 version 1.1.0
+
+    The record of evolution of this dtd may be found in the archives.
+    See [DTBOOK3].
+
+        2001-12-20 revision 1.1.0 has syntactic changes, so
+        increased version secondary revision as content models
+        are extended compatibly and new capability is added.
+        Added annoref to parameter entities where noteref occurs:
+            %dtbookinline; %inlines; %inlinenopagenum;
+            %inlinenoprodnote; %inlinenoanoprodnote;
+        Made some additions to references, including JIS and HTML Tables,
+            XML Namespaces, OASIS Catalog.
+        Made editorial clarifications to many Use: and Attuse: comments.
+        Added subsections.
+        Removed xhtml parameter entities from xhtml not used here:
+             %ContentTypes; %Charsets; %Datetime;
+        For processing purposes, split dtd into part1.dtd and part2.dtd
+        split processing into four pieces.
+
+    DTD Changes for dtbook110.dtd   Harvey Bingham 2001-12-20
+
+        Character entities amplified comments.
+        Removed %Datetime; %ContentTypes; and %Charsets;
+             not used herein.
+        % Charsets removed as unused.
+        % ContentTypes removed as unused.
+        % Datetime removed as unused.
+        % dtbookblock added imggroup.
+        % dtbookblocknoimggroup added.
+        % inlineinblock removed img.
+        % block added img and imggroup.
+        % blocknoimggroup added using %dtbookblocknoimggroup.
+        % headmisc added comment
+        % special added imggroup
+        % specialnoa added imggroup
+        % dtbookinline added annoref
+        % inlines added annoref
+        % inlinenopagenum added annoref
+        % inlinenoprodnote added annoref
+        % flow changed %block; to %blocknoimggroup;
+        % flownopagenum changed %block; to %blocknoimggroup;
+        img Use: changed idref to imgref
+        % Trules added default meaning from xhtml strict dtd.
+        % cellhalign clarified interitance.
+        % cellvalign clarified interitance.
+        table updated model to xhtml strict dtd, adding
+            simple table of just rows (tr). Added attribute inheritance
+            information from RFC1942.
+        caption added imgref extension for dtbook comment.
+        thead updated Use to xhtml strict dtd.
+        tfoot updated Use to xhtml strict dtd.
+        tbody updated Use to xhtml strict dtd.
+        colgroup updated Attuse to xhtml strict dtd.
+
+       Michael Moodie: 2002-02-14
+
+       % block replaced %dtbookblock with %dtbookblocknoimggroup
+       to eliminate duplication of imggroup in content model.
+       level updated content model to include doctitle and docauthor
+       to allow them to be contained in a level marking the cover
+       or title page of a document.
+       level1 updated content model to include doctitle and docauthor
+       to allow them to be contained in a level1 marking the cover
+       or title page of a document.
+       div updated content model to include doctitle and docauthor
+       to allow them to be contained in a div marking the cover
+       or title page of a document.
+
+       Michael Moodie: 2002-02-19
+
+       level, level1-level6, div: Changed occurrence indicator on
+       content model from * to +.
+
+       Michael Moodie: 2002-02-27
+
+       Grammatical changes suggested by editor.
+
+    -->
+
+<!-- Comment Classification Conventions
+
+           Some comments start with a pattern followed by a colon:
+
+               Use: element type and its use.
+
+               Attuse: attribute use for associated element type.
+
+               HB: date object comment on change by Harvey Bingham.
+
+               MM: date object comment on change by Michael Moodie.
+
+           Other comments without such a pattern are dividing lines,
+           details about the DTD structure, or about dtbook objects.
+    -->
+
+<!--========================= Character Entities ==========================-->
+
+<!--HB: 2001-12-20 Character entities amplified comments. -->
+
+<!-- Character entities for interoperability.
+        The five following characters may have special markup meaning,
+        so are expressed as character entities in text. They can be
+        recognized since they are preceded by "&" and followed by ";".
+ The notation below, #xHHHH (or #xHH) where H is a hexadecimal-number
+        (formed from 0-9, A-F), indicates the character code position
+        in Unicode/ISO-10646 [ISO10646]. Note that the "<" and "&"
+        characters in the declarations of "lt" and "amp" are doubly escaped
+        to meet the requirement that entity replacement be well-formed.
+ As these entities occur in the first plane of Unicode, with encodings
+        the same as ASCII, the "00" prefix can be implied, so omitted.
+    -->
+
+<!ENTITY lt   "&#x0026;#x003C;" >
+    <!-- "&#38;#60;"  < Less than, normally starts a tag. -->
+
+<!ENTITY gt   "&#x003E;" >
+    <!-- "&#62;"      > Greater than, normally ends a tag. -->
+
+<!ENTITY amp  "&#x0026;#x0026;" >
+    <!-- "&#38;#38;"  & Ampersand, normally begins a character entity
+         reference. -->
+
+<!ENTITY apos "&#x0027;" >
+    <!-- "&#39;"      ' Neutral Quote, Apostrophe, if needed within an
+         attribute string so quoted. -->
+
+<!ENTITY quot "&#x0022;" >
+ <!-- "&#34;" " Quotation mark, if needed within an attribute string
+         so quoted. -->
+
+<!-- Three larger character sets included in HTML 4.0 are omitted here:
+        HTMLlat1.ent, HTMLsymbol.ent, and HTMLspecial.ent.
+        Unicode [ISO10646] is available to XML applications, so these
+        characters are available. The initial processing instruction that
+        identifies dtbook as an XML application should use a more inclusive
+        encoding, as described at the start of section 2.
+    -->
+
+<!--=================== Imported Parameter Entity Names ===================-->
+
+<!-- Many parameter entities come from the [XHTML11STRICT] strict DTD.-->
+
+<!--HB: 2001-12-20 Removed %Datetime; %ContentTypes; and %Charsets;
+         not used herein.-->
+
+<!ENTITY % Character "CDATA" >
+    <!-- a single character from [ISO10646]. -->
+
+<!ENTITY % Charset "CDATA" >
+    <!-- a character encoding, as per [RFC2045]. -->
+
+<!--HB: 2001-12-20 % Charsets removed as unused. -->
+
+<!ENTITY % ContentType "CDATA" >
+    <!-- media type, as per [RFC2046]. -->
+
+<!--HB: 2001-12-20 % ContentTypes removed as unused. -->
+
+<!--HB: 2001-12-20 % Datetime removed as unused. -->
+
+<!ENTITY % LanguageCode "NMTOKEN" >
+    <!-- a language code, per [RFC1766]. -->
+
+<!ENTITY % Number "CDATA" >
+    <!-- one or more digits. -->
+
+<!ENTITY % LinkTypes "CDATA" >
+    <!-- space-separated list of link types. -->
+
+<!ENTITY % MediaDesc "CDATA" >
+    <!-- single or comma-separated list of media descriptors;
+        possible values include BRAILLE, PRINT, PROJECTION, SPEECH, ALL,
+        or the default SCREEN. -->
+
+<!ENTITY % StyleSheet "CDATA" >
+    <!-- style sheet data. -->
+
+<!ENTITY % Text "CDATA" >
+    <!-- used for titles etc. -->
+
+<!ENTITY % URI "CDATA" >
+    <!-- a Uniform Resource Identifier, see [RFC2396]. -->
+
+<!--================== dtbook External Module Inclusion ===================-->
+
+<!ENTITY % externalblock "" >
+    <!-- placeholder for block element expansion from external modules;
+ if changed, string in external subset begins " | blockelementname". -->
+
+<!ENTITY % externalinline "" >
+    <!-- placeholder for inline element expansion from external modules;
+ if changed, string in external subset begins " | inlineelementname". -->
+
+<!--====================== dtbook110 Content Models =======================-->
+
+<!ENTITY % list "list" >
+    <!-- list container for ordered or unordered lists (distinguished
+        by attribute value, not element types ol or ul). -->
+
+<!--HB: 2001-12-20 % dtbookblock added imggroup. -->
+
+<!ENTITY % dtbookblock
+    "author | notice | prodnote | sidebar | note | imggroup |
+        annotation %externalblock;" >
+    <!-- block elements unique to dtbook. -->
+
+<!--HB: 2001-12-20 % dtbookblocknoimggroup added. -->
+
+<!ENTITY % dtbookblocknoimggroup
+    "author | notice | prodnote | sidebar | note |
+        annotation %externalblock;" >
+    <!-- block elements unique to dtbook without imggroup. -->
+
+<!--HB: 2001-12-20 % inlineinblock removed img. -->
+
+<!ENTITY % inlineinblock
+    "a | cite | caption | samp | kbd | pagenum" >
+    <!-- inlines that may alternatively be in block elements. -->
+
+<!--HB: 2001-12-20 % block added img and imggroup. -->
+
+<!--MM: 2002-02-14 replaced %dtbookblock with %dtbookblocknoimggroup in
+     % block to eliminate duplication of imggroup in content model. -->
+
+<!ENTITY % block
+    "p | %list; | dl | div | blockquote | hr | img | imggroup |
+         table | address | line | %dtbookblocknoimggroup;" >
+    <!-- block elements from [HTML401STRICT] dtd augmented by dtbook-unique
+        elements (%list; differs.). -->
+
+<!--HB: 2001-12-20 % blocknoimggroup added using %dtbookblocknoimggroup. -->
+
+<!ENTITY % blocknoimggroup
+    "p | %list; | dl | div | blockquote | hr |
+         table | address | line | %dtbookblocknoimggroup;" >
+    <!-- block elements from [HTML401STRICT] dtd augmented by dtbook-unique
+        elements. -->
+
+<!--===================== Character mnemonic entities =====================-->
+
+<!-- Omitted as XML uses Unicode, so doesn't need them. May need
+        character entities if the encoding is more restrictive. -->
+
+<!--========================= Generic Attributes ==========================-->
+
+<!ENTITY % coreattrs
+    "id          ID             #IMPLIED
+     class       CDATA          #IMPLIED
+     style       %StyleSheet;   #IMPLIED
+     title       %Text;         #IMPLIED" >
+    <!-- coreattrs are attributes permissible for most elements
+
+        id       document-wide unique id
+        class    space separated list of classes used for rendering
+        style    associated style info
+        title    advisory title/amplification
+    -->
+
+<!ENTITY % i18n
+    "lang        %LanguageCode; #IMPLIED
+     xml:lang    %LanguageCode; #IMPLIED
+     dir         (ltr|rtl)      #IMPLIED" >
+    <!-- i18n internationalization attributes
+
+        lang        language code (backwards compatible)
+
+        xml:lang    language code (as per XML 1.0 spec)
+
+        dir         direction for weak/neutral text
+                    ltr=left to right
+                    rtl=right to left
+
+    xhtml recommendation: use both lang and xml:lang, with same value,
+    such as "en-US", on the major containing block, to provide source for
+    the #IMPLIED values of its descendent elements. See [RFC1556].
+    should the values differ, the xml:lang takes precedence.
+    See [RFC1556] for handling bi-directional text in MIME.
+    -->
+
+<!ENTITY % showin
+    "showin (xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) #IMPLIED" >
+    <!--showin attribute applies for text elements to permit identification
+ of the kinds of display appropriate for the element, so presentation + choice by the reader among alternative readings can be provided, when + appropriate. Values of showin are coded with three letters in order:
+        "b"=Braille, "l"=Largeprint, and "p"=Print; or "x"=inappropriate:
+
+            Value  Braille  Largeprint Print   Interpretation
+
+            "xxx"                              hide
+            "xxp"                      p       print only
+            "xlx"           l                  largeprint only
+            "xlp"           l          p       largeprint and print
+            "bxx"   b                          braille only
+            "bxp"   b                  p       braille and print
+            "blx"   b       l                  braille and largeprint
+ "blp" b l p braille, largeprint, and print
+
+        There is no default value; this attribute value is implied
+        from the most immediate ancestor that specifies a value.
+        The usual default for showin is 'blp'. If only one showin
+        value is needed it should be included with <book>.
+
+        Different content for the same element (usually <prodnote>) meeting
+        different needs is possible, with showin serving as a switch to
+        differentiate among them. Both largeprint and print are appropriate
+        for screen rendering as well as printing. Different corresponding
+        styles may be appropriate.
+
+ It is possible to include equivalent content from any major structure + below <book> to provide the different content suitable for different + media. These would be independent, sharing no direct content, possibly + having common references to images, with different accompanying text
+        descriptions.
+    -->
+
+<!ENTITY % attrs
+    "%coreattrs;
+     %i18n;
+     smilref      CDATA       #IMPLIED
+     %showin;" >
+    <!-- %attrs; is part of most attribute lists. It includes
+
+    %coreattrs; from which come the four #IMPLIED attributes:
+        id, class, style, and title.
+
+    %i18n; from which come the implied attributes: lang, xml:lang, and dir
+
+ smilref is a pointer to a [SMIL2.0] file, normally to the time container + (SMIL <par> or <seq>) containing the media object that references this
+        element. However, in a text-only DTB consisting of a sequence of
+        text media objects, <smilref> points to the media object that
+        references this element. <smilref> allows resumption of SMIL
+ presentation at the proper location after navigation via dtbook file.
+        All <smilref> values are expected to be added to an augmented
+        version of the <dtbook> during production.
+
+    %showin; (See entity declaration.)
+    -->
+
+<!ENTITY % attrsrqd
+    "id          ID             #REQUIRED
+     class       CDATA          #IMPLIED
+     style       %StyleSheet;   #IMPLIED
+     title       %Text;         #IMPLIED
+     smilref     CDATA          #IMPLIED
+     %i18n;
+     %showin; " >
+    <!-- %attrsrqd; includes required id and implied class, style, and
+        title.
+
+    %i18n; from which come the implied attributes: lang, xml:lang, and dir
+
+ smilref is a pointer to a [SMIL2.0] file, normally to the time container + (SMIL <par> or <seq>) containing the media object that references this
+        element. However, in a text-only DTB consisting of a sequence of
+        text media objects, <smilref> points to the media object that
+        references this element. <smilref> allows resumption of SMIL
+ presentation at the proper location after navigation via dtbook file.
+        All <smilref> values are expected to be added to an augmented
+        version of the <dtbook> during production.
+
+    %showin; (See entity declaration.)
+    -->
+
+<!--========================= Document Structure ==========================-->
+
+<!ENTITY % dtbookcontent
+    "head, book" >
+    <!-- dtbookContent designates that each dtbook has a <head> of
+        metainformation preceding the <book> content.
+    -->
+
+<!--Use: dtbook is the root element in the Digital Talking Book DTD.
+    <dtbook> contains metadata in <head> and the contents itself
+    in <book>.
+    -->
+
+<!ELEMENT dtbook (%dtbookcontent;) >
+
+<!--Attuse: dtbook
+
+    "version" is required, and contains the specific
+    version of the dtd, so that the dtd version for any dtbook can
+    be recognized.
+
+    "%i18n;" internationalization attributes characterize the <book>.
+    Those values may be adjusted for language changes within it.
+    -->
+
+<!ATTLIST dtbook
+  version CDATA #FIXED '1.1.0'
+  %i18n;
+  >
+
+<!--======================== Document Head Metadata =======================-->
+
+<!--HB: 2001-12-20 % headmisc added comment -->
+
+<!ENTITY % headmisc
+    "style | meta | link" >
+    <!-- optional head elements -->
+
+<!--Use: head contains metainformation about the book but no
+    actual content of the book itself, which is placed in <book>.
+    This information is consonant with the <head> information
+    in xhtml, see [XHTML11STRICT]. Other miscellaneous elements can
+    occur before and after the required <title>. By convention
+    <title> should occur first.
+    -->
+
+<!ELEMENT head ((%headmisc;)*, title, (%headmisc;)*) >
+
+<!--Attuse: head
+
+    "profile" gives one or more
+    whitespace-separated profile URI targets that may provide
+    additional information about the current document.
+    -->
+
+<!ATTLIST head
+  %i18n;
+  profile %URI; #IMPLIED
+  >
+
+<!--Use: title contains the title of the book but is used only as
+    metainformation in <head>. Use <doctitle> within <book> for
+    the actual book title, which will usually be the same.
+    -->
+
+<!ELEMENT title (#PCDATA) >
+
+<!ATTLIST title
+  %i18n;
+  >
+
+<!--Use: link is an empty element appearing in the <head> section
+    of a document that establishes a connection between the current
+    document and another document. The <link> element conveys
+    relationship information (for example, "next" and "previous") that
+    may be rendered by user agents in a variety of ways.
+    -->
+
+<!ELEMENT link EMPTY >
+
+<!--Attuse: link
+
+    Each attribute use indicated by a parameter entity is
+    defined in the comment following its definition.
+    -->
+
+<!ATTLIST link
+  %attrs;
+  charset %Charset; #IMPLIED
+  href %URI; #IMPLIED
+  hreflang %LanguageCode; #IMPLIED
+  type %ContentType; #IMPLIED
+  rel %LinkTypes; #IMPLIED
+  rev %LinkTypes; #IMPLIED
+  media %MediaDesc; #IMPLIED
+  >
+
+<!--Use: meta indicates metadata about the book. It is an empty
+    element that may appear repeatedly only in <head>.
+    -->
+
+<!ELEMENT meta EMPTY >
+
+<!--Attuse: meta
+
+    "http-equiv" connects the content attribute
+    value to an http header field.
+
+    "name" value identifies the specific kind of
+    content value.
+
+    "content" indicates the value for that "name",
+    possibly constrained by the semantics for the individual names.
+
+    "scheme" indicates a predetermined format for interpreting
+    the content value, such as the Dublin Core.
+    -->
+
+<!ATTLIST meta
+  %i18n;
+  http-equiv NMTOKEN #IMPLIED
+  name NMTOKEN #IMPLIED
+  content CDATA #REQUIRED
+  scheme CDATA #IMPLIED
+  >
+
+<!--Use: style provides the means to include styling information
+    that applies to the book. It may appear only in <head>.
+    It may include CDATA sections.
+    -->
+
+<!ELEMENT style (#PCDATA) >
+
+<!--Attuse: style
+
+    "type" indicates the MIME-Type [RFC2045].
+    Type value should be 'text/css', rather than 'text/javascript'.
+
+    "media" value indicates the media for stylesheet
+    definition(s); if multiple, separated by commas.
+
+    "title" can provide menu choice among alternative
+    stylesheets.
+
+    "xml:space" value='preserve' indicates that whitespace in
+    the <style> content is preserved without need to include its
+    value in each <style>. (xml:space='default' accepts system style
+    adjustment, such as adding its own indenting.)
+    -->
+
+<!ATTLIST style
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/dtbsmil110.dtd     Fri Jan 11 11:03:51 2013
@@ -0,0 +1,141 @@
+<!--SMIL 2.0 DTB-specific DTD Version 1.1.0 2002-02-12
+file: dtbsmil110.dtd
+
+Authors: Michael Moodie, Tom McLaughlin, Lloyd Rasmussen
+Change list:
+2002-02-12 M. Moodie. Dropped version attribute on smil element, as this attribute is not present in SMIL specification.
+
+Description:
+This DTD is intended for use only with DTB applications. Documents valid to this DTD will also be valid to the DTB SMIL Profile, but not necessarily vice versa, as this DTD contains only a subset of the elements and attributes present in the DTB SMIL Profile. This DTD is in some areas more restrictive than the Profile (e.g., requiring IDs on some elements), to enforce structure critical to the DTB application.
+
+The following identifiers apply to this DTD:
+"-//NISO//DTD dtbsmil v1.1.0//EN"
+"http://www.loc.gov/nls/z3986/v100/dtbsmil110.dtd";
+-->
+
+
+<!ENTITY    % Core.attrib
+       "id        ID      #IMPLIED
+       class           CDATA           #IMPLIED
+       title           CDATA           #IMPLIED"
+>
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ELEMENT   smil    (head, body) >
+<!ATTLIST   smil
+       %Core.attrib;
+       xml:lang        NMTOKEN         #IMPLIED
+>
+
+<!ELEMENT   head    ((meta)*, (layout)?, (customAttributes)? ) >
+<!ATTLIST   head
+       %Core.attrib;
+       xml:lang        NMTOKEN         #IMPLIED
+>
+
+
+<!ELEMENT   meta    EMPTY >
+<!ATTLIST   meta
+       name            CDATA           #REQUIRED
+       content         CDATA           #IMPLIED
+>
+
+<!-- only smil basic layout allowed; not CSS2.
+     root-layout not included, is implementation dependent.
+-->
+<!ELEMENT   layout  (region)+ >
+<!ATTLIST   layout
+       %Core.attrib;
+       xml:lang        NMTOKEN         #IMPLIED
+>
+
+<!ELEMENT   region  EMPTY >
+<!ATTLIST   region
+       id                              ID              #REQUIRED
+       height                  CDATA           'auto'
+       width                   CDATA           'auto'
+       bottom                  CDATA           'auto'
+       top                             CDATA           'auto'
+       left                    CDATA           'auto'
+       right                   CDATA           'auto'
+       fit                             (hidden|fill|meet|scroll|slice) 'hidden'
+       z-index                 CDATA           #IMPLIED
+       backgroundColor CDATA           #IMPLIED
+       showBackground  (always|whenActive)     'always'
+>
+
+<!ELEMENT   customAttributes        (customTest)+ >
+<!ATTLIST   customAttributes
+       %Core.attrib;
+       xml:lang        NMTOKEN         #IMPLIED
+>
+
+<!ELEMENT   customTest      EMPTY >
+<!ATTLIST   customTest
+       id                              ID                      #REQUIRED
+       class                   CDATA           #IMPLIED
+       defaultState    (true|false)    'false'
+       title                   CDATA           #IMPLIED
+       xml:lang                NMTOKEN         #IMPLIED
+       override                (visible|hidden) 'hidden'
+>
+
+<!-- Even though body functions as a seq, and you don't need a base set of seqs wrapping the whole presentation, for DTB applications a base set of seqs should be used. The dur attribute on the first seq is used by the player to determine the length of the SMIL presentation. -->
+<!ELEMENT   body    (par|seq|text|audio|img|a)+ >
+<!ATTLIST   body
+       %Core.attrib;
+       xml:lang        NMTOKEN         #IMPLIED
+>
+
+<!ELEMENT   seq     (par|seq|text|audio|img|a)+ >
+<!ATTLIST   seq
+       id                      ID                      #REQUIRED
+       class           CDATA           #IMPLIED
+       customTest      IDREF           #IMPLIED
+       dur                     CDATA           #IMPLIED
+
+>
+
+<!-- pars are not allowed to nest.
+-->
+<!ELEMENT   par     (seq|text|audio|img|a)+ >
+<!ATTLIST   par
+       id              ID              #REQUIRED
+       class           CDATA           #IMPLIED
+       customTest      IDREF           #IMPLIED
+>
+
+<!ELEMENT   text    EMPTY >
+<!ATTLIST   text
+       id                      ID                      #IMPLIED
+       region          CDATA           #IMPLIED
+       src                     CDATA           #REQUIRED
+       type            CDATA           #IMPLIED
+>
+
+<!ELEMENT   audio   EMPTY >
+<!ATTLIST   audio
+       id                      ID                      #IMPLIED
+       src                     CDATA           #REQUIRED
+       type            CDATA           #IMPLIED
+       clipBegin       CDATA           #IMPLIED
+       clipEnd         CDATA           #IMPLIED
+       region          CDATA           #IMPLIED
+>
+
+<!ELEMENT   img     EMPTY >
+<!ATTLIST   img
+       id                      ID              #IMPLIED
+       region          CDATA           #IMPLIED
+       src                     CDATA           #REQUIRED
+       type            CDATA           #IMPLIED
+>
+
+<!ELEMENT   a       (text|audio|img)* >
+<!ATTLIST   a
+       href            %URI;           #REQUIRED
+       xml:lang        NMTOKEN         #IMPLIED
+       %Core.attrib;
+>
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/fdr.xml    Fri Jan 11 11:03:51 2013
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!DOCTYPE dtbook PUBLIC "-//NISO/DTD dtbook v1.1.0//EN" "http://www.loc.gov/nls/z3986/v100/dtbook110.dtd";> +<!--This file was prepared from -.pdf files posted for public access by the U.S. National Archives & Records Administration (http://www.archives.gov/digital_classroom/lessons/fdr_inaugural_address/fdr_inaugural_address.html). -->
+<!--This file was prepared by Valerie Hendricks-->
+<dtbook>
+       <head>
+               <link rel="stylesheet" href="exemplar.css" type="text/css"/>
+ <title>FDR's Inaugural Address for use as part of the following: NIMAS v1.0 Exemplar file: Social Studies</title>
+       </head>
+       <book>
+               <bodymatter>
+                       <level1 id="L001">
+ <h1 id="L001.H01" smilref="FDR Inagural Address.smil#par_0001">FDR's Inaugural Address, 1933</h1>
+                               <p id="L001.P001" smilref="FDR Inagural 
Address.smil#par_0002">
+ President Hoover, Mr. Chief Justice, my friends: This is a day of national consecration, and I am certain that my fellow Americans expect that on my induction into the Presidency I will address them with a candor and a decision which the present situation of our nation impels. This is pre-eminently the time to speak the truth, the whole truth, frankly and boldly. Nor need we shrink from honestly facing conditions in our country today. This great nation will endure as it has endured, will revive and will prosper. So first of all let me assert my firm belief that the only thing we have to fear is fear itself—nameless, unreasoning, unjustified terror which paralyzes needed efforts to convert retreat into advance. In every dark hour of our national life a leadership of frankness and vigor has met with that understanding and support of the people themselves which is essential to victory. I am convinced that you will again give that support to leadership in these critical days.</p>
+                               <p id="L001.P002" smilref="FDR Inagural 
Address.smil#par_0003">
+ In such a spirit on my part and on yours we face our common difficulties. They concern, thank God, only material things. Values have shrunken to fantastic levels: taxes have risen, our ability to pay has fallen, government of all kinds is faced by serious curtailment of income, the means of exchange are frozen in the currents of trade, the withered leaves of industrial enterprise lie on every side, farmers find no markets for their produce, the savings of many years in thousands of families are gone.
+          </p>
+                               <p id="L001.P003" smilref="FDR Inagural 
Address.smil#par_0004">
+ More important, a host of unemployed citizens face the grim problem of existence, and an equally great number toil with little return. Only a foolish optimist can deny the dark realities of the moment.
+          </p>
+                               <p id="L001.P004" smilref="FDR Inagural 
Address.smil#par_0005">
+ Yet our distress comes from no failure of substance. We are stricken by no plague of locusts. Compared with the perils which our forefathers conquered because they believed and were not afraid, we have still much to be thankful for. Nature still offers her bounty and human efforts have multiplied it. Plenty is at our doorstep, but a generous use of it languishes in the very sight of the supply. Primarily, this is because the rulers of the exchange of mankind's goods have failed through their own stubbornness and their own incompetence, have admitted their failures and abdicated. Practices of the unscrupulous money changers stand indicted in the court of public opinion, rejected by the hearts and minds of men.
+          </p>
+                               <p id="L001.P005" smilref="FDR Inagural 
Address.smil#par_0006">
+ True, they have tried, but their efforts have been cast in the pattern of an outworn tradition. Faced by failure of credit, they have proposed only the lending of more money. Stripped of the lure of profit by which to induce our people to follow their false leadership, they have resorted to exhortations, pleading tearfully for restored conditions. They know only the rules of a generation of self-seekers. They have no vision, and when there is no vision the people perish.
+          </p>
+ <p id="L001.P006" smilref="FDR Inagural Address.smil#par_0007">The money changers have fled their high seats in the temple of our civilization. We may now restore that temple to the ancient truths. The measure of the restoration lies in the extent to which we apply social values more noble than mere monetary profit.</p> + <p id="L001.P007" smilref="FDR Inagural Address.smil#par_0008">Happiness lies not in the mere possession of money, it lies in the joy of achievement, in the thrill of creative effort. The joy and moral stimulation of work no longer must be forgotten in the mad chase of evanescent profits. These dark days will be worth all they cost us if they teach us that our true destiny is not to be ministered unto but to minister to ourselves and to our fellow-men.</p> + <p id="L001.P008" smilref="FDR Inagural Address.smil#par_0009">Recognition of the falsity of material wealth as the standard of success goes hand in hand with the abandonment of the false belief that public office and high political position are to be values only by the standards of pride of place and personal profit, and there must be an end to a conduct in banking and in business which too often has given to a sacred trust the likeness of callous and selfish wrongdoing. Small wonder that confidence languishes, for it thrives only on honesty, on honor, on the sacredness of obligations, on faithful protection, on unselfish performance. Without them it cannot live.</p> + <p id="L001.P009" smilref="FDR Inagural Address.smil#par_0010">Restoration calls, however, not for changes in ethics alone. This nation asks for action, and action now.</p> + <p id="L001.P010" smilref="FDR Inagural Address.smil#par_0011">Our greatest primary task is to put people to work. This is no unsolvable problem if we face it wisely and courageously. It can be accompanied in part by direct recruiting by the government itself, treating the task as we would treat the emergency of a war, but at the same time, through this employment, accomplishing greatly needed projects to stimulate and reorganize the use of our national resources.</p> + <p id="L001.P011" smilref="FDR Inagural Address.smil#par_0012">Hand in hand with this, we must frankly recognize the over-balance of population in our industrial centers and, by engaging on a national scale in a redistribution, endeavor to provide a better use of the land for those best fitted for the land. The task can be helped by definite efforts to raise the values of agricultural products and with this the power to purchase the output of our cities. It can be helped by preventing realistically the tragedy of the growing loss, through foreclosure, of our small homes and our farms. It can be helped by insistence that the Federal, State, and local governments act forthwith on the demand that their cost be drastically reduced. It can be helped by the unifying of relief activities which today are often scattered, uneconomical, and unequal. It can be helped by national planning for and supervision of all forms of transportation and of communications and other utilities which have a definitely public character. There are many ways in which it can be helped, but it can never be helped merely by talking about it. We must act, and act quickly.</p> + <p id="L001.P012" smilref="FDR Inagural Address.smil#par_0013">Finally, in our progress toward a resumption of work we require two safeguards against a return of the evils of the old order: there must be a strict supervision of all banking and credits and investments; there must be an end to speculation with other people's money, and there must be provision for an adequate but sound currency.</p> + <p id="L001.P013" smilref="FDR Inagural Address.smil#par_0014">These are the lines of attack. I shall presently urge upon a new Congress in special session detailed measures for their fulfillment, and I shall seek the immediate assistance of the several States.</p> + <p id="L001.P014" smilref="FDR Inagural Address.smil#par_0015">Through this program of action we address ourselves to putting our own national house in order and making income balance outgo. Our international trade relations, though vastly important, are, to point in time and necessity, secondary to the establishment of a sound national economy. I favor as a practical policy the putting of first things first. I shall spare no effort to restore world trade by international economic readjustment, but the emergency at home cannot wait on that accomplishment.</p> + <p id="L001.P015" smilref="FDR Inagural Address.smil#par_0016">The basic thought that guides these specific means of national recovery is not narrowly nationalistic. It is the insistence, as a first consideration, upon the interdependence of the various elements in and parts of the United States ... a recognition of the old and permanently important manifestation of the American spirit of the pioneer. It is the way to recovery. It is the immediate way. It is the strongest assurance that the recovery will endure.</p> + <p id="L001.P016" smilref="FDR Inagural Address.smil#par_0017">In the field of world policy I would dedicate this nation to the policy of the good neighbor—the neighbor who resolutely respects himself and, because he does so, respects the rights of others—the neighbor who respects his obligations and respects the sanctity of his agreements in and with a world of neighbors.</p> + <p id="L001.P017" smilref="FDR Inagural Address.smil#par_0018">If I read the temper of our people correctly, we now realize, as we have never realized before, our interdependence on each other: that we cannot merely take, but we must give as well, that if we are to go forward we must move as a trained and loyal army willing to sacrifice for the good of a common discipline, because without such discipline, no progress is made, no leadership becomes effective. We are, I know, ready and willing to submit our lives and property to such discipline because it makes possible a leadership which aims at a larger good. This I propose to offer, pledging that the larger purposes will bind upon us all as a sacred obligation with a unity of duty hitherto evoked only in time of armed strife.</p> + <p id="L001.P018" smilref="FDR Inagural Address.smil#par_0019">With this pledge taken, I assume unhesitatingly the leadership of this great army of our people, dedicated to a disciplined attack upon our common problems.</p> + <p id="L001.P019" smilref="FDR Inagural Address.smil#par_0020">Action in this image and to this end is feasible under the form of government which we have inherited from our ancestors. Our Constitution is so simple and practical that it is possible always to meet extraordinary needs by changes in emphasis and arrangement without loss of essential form. That is why our constitutional system has proved itself the most superbly enduring political mechanism the modern world has produced. It has met every stress of vast expansion of territory, of foreign wars, of bitter internal strife, of world relations.</p> + <p id="L001.P020" smilref="FDR Inagural Address.smil#par_0021">It is to be hoped that the normal balance of executive and legislative authority may be wholly adequate to meet the unprecedented task before us. But it may be that an unprecedented demand and need for undelayed action may call for temporary departure from that normal balance of public procedure.</p> + <p id="L001.P021" smilref="FDR Inagural Address.smil#par_0022">I am prepared under my constitutional duty to recommend the measures that a stricken nation in the midst of a stricken world may require. But in the event that the Congress shall fail to take one of these courses, and in the event that the national emergency is still critical, I shall not evade the clear course of duty that will then confront me. I shall ask the Congress for the one remaining instrument to meet the crisis—broad executive power to wage a war against the emergency as great as the power that would be given to me if we were in fact invaded by a foreign foe.</p> + <p id="L001.P022" smilref="FDR Inagural Address.smil#par_0023">For the trust reposed in me I will return the courage and the devotion that befit the time. I can do no less.</p> + <p id="L001.P023" smilref="FDR Inagural Address.smil#par_0024">We face the arduous days that lie before us in the warm courage of national unity, with the clear consciousness of seeking old and precious moral values, with the clean satisfaction that comes from the stern performance of duty by old and young alike. We aim at the assurance of a rounded and permanent national life.</p> + <p id="L001.P024" smilref="FDR Inagural Address.smil#par_0025">We do not distrust the future of essential democracy. The people of the United States have not failed. In their need they have registered a mandate that they want direct, vigorous action. They have asked for discipline and direction under leadership. They have made me the present instrument of their wishes. In the spirit of the gift I take it.</p> + <p id="L001.P025" smilref="FDR Inagural Address.smil#par_0026">In this dedication of a nation we humbly ask the blessing of God. May He protect each and every one of us. May He guide me in the days to come.</p>
+                       </level1>
+               </bodymatter>
+       </book>
+</dtbook>
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/ncx110.dtd Fri Jan 11 11:03:51 2013
@@ -0,0 +1,168 @@
+<!-- NCX 1.1.0 DTD  2002-02-27
+file: ncx110.dtd
+
+ Authors: Mark Hakkinen, George Kerscher, Tom McLaughlin, James Pritchett, and Michael Moodie
+  Change list:
+ 2002-02-12 M. Moodie. Changed content model of navLabel element to eliminate ambiguity.
+  2002-02-27 M. Moodie. Grammatical changes suggested by editor.
+
+  Description:
+
+ NCX (Navigation Control for XML applications) is a generalized navigation definition DTD for application
+to Digital Talking Books, eBooks, and general web content models.
+This DTD is an XML application that layers navigation functionality on top of SMIL 2.0 content.
+
+ The NCX defines a navigation path/model that may be applied upon existing publications, +without modification of the existing publication source, so long as the navigation targets within
+the source publication can be directly referenced via a URI.
+
+-->
+
+<!-- The following identifiers apply to this DTD:
+       "-//NISO//DTD ncx v1.1.0//EN"
+       "http://www.loc.gov/nls/z3986/v100/ncx110.dtd";
+-->
+
+<!-- Basic Entities -->
+
+<!ENTITY % i18n
+  "lang           NMTOKEN         #IMPLIED
+  dir          (ltr|rtl)       #IMPLIED" >
+
+<!ENTITY % SMILtimeVal      "CDATA" >
+<!ENTITY % uri              "CDATA" >
+<!ENTITY % script   "CDATA" >
+
+<!-- ELEMENTS -->
+
+<!-- Top Level NCX Container. -->
+<!ELEMENT ncx (head, docTitle, docAuthor*, navMap, navList*)>
+<!ATTLIST ncx
+  version     CDATA     #FIXED "1.1.0"
+  %i18n;
+>
+
+<!-- Document Head - Contains all NCX metadata.
+-->
+
+<!ELEMENT head (smilCustomTest | meta)+>
+
+<!-- smilCustomTest - Duplicates customTest data found in SMIL files. Each unique customTest element that appears in one or more SMIL files must have its attributes duplicated in a smilCustomTest element in the NCX. The NCX thus gathers in one place all customTest elements used in the SMIL files, for presentation to the user.
+-->
+<!ELEMENT smilCustomTest EMPTY>
+<!ATTLIST smilCustomTest
+id             ID              #REQUIRED
+defaultState   (true|false)    'false'
+override       (visible|hidden) 'hidden'>
+
+<!-- Meta Element - metadata about this NCX -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  name         CDATA           #REQUIRED
+  content      CDATA           #REQUIRED
+  scheme       CDATA           #IMPLIED
+>
+
+<!-- DocTitle - the title of the document, required and must immediately follow head.
+-->
+
+<!ELEMENT docTitle (text, audio?)>
+<!ATTLIST docTitle
+  id           ID              #IMPLIED
+  %i18n;
+>
+
+<!-- DocAuthor - the author of the document, immediately follows docTitle.
+-->
+
+<!ELEMENT docAuthor (text, audio?)>
+<!ATTLIST docAuthor
+  id           ID              #IMPLIED
+  %i18n;
+>
+
+<!-- Navigation Structure - container for all of the NCX objects that are part of the hierarchical structure of the document.
+-->
+
+<!ELEMENT navMap (navLabel*, navPoint+)>
+<!ATTLIST navMap
+  id           ID              #IMPLIED
+>
+
+<!-- Navigation Point - contains description(s) of target, as well as a pointer to entire content of target. +Hierarchy is represented by nesting navPoints. "class" attribute describes the kind of structural unit this object represents (e.g., "chapter", "section"). "value" attribute is a numerical representation of the text content of the +label if this is a purely numerical (integer only) label (e.g., a page number). "pageRef" is the id of the page navTarget on which this structure target begins.
+-->
+<!ELEMENT navPoint (navLabel+, content, navPoint*)>
+<!ATTLIST navPoint
+  id           ID                      #REQUIRED
+  onFocus      %script;        #IMPLIED
+  onBlur       %script;        #IMPLIED
+  class                CDATA           #IMPLIED
+  value                CDATA           #IMPLIED
+  pageRef      IDREF           #IMPLIED
+>
+
+<!-- Navigation List - container for distinct, flat sets of navigable elements, e.g. page numbers, +notes, figures, tables, etc. Essentially a flat version of navMap. The "class" attribute describes the type of object contained in this navList, using dtbook element names, e.g., pagenum, note.
+-->
+
+<!ELEMENT navList   (navLabel+, navTarget+) >
+<!ATTLIST navList
+  id           ID              #IMPLIED
+  class                CDATA           #IMPLIED
+>
+
+<!-- Navigation Target - contains description(s) of target, as well as a pointer to entire content of target. +navTargets are the equivalent of navPoints for use in navLists. "mapRef" is the id of another navPoint within this NCX that contains this navTarget. "class" attribute describes the kind of structure this target represents, using its dtbook element name, e.g., pagenum, note.
+-->
+
+<!ELEMENT navTarget  (navLabel+, content) >
+<!ATTLIST navTarget
+  id           ID              #REQUIRED
+  onFocus      %script;        #IMPLIED
+  onBlur       %script;        #IMPLIED
+  class                CDATA           #IMPLIED
+  value                CDATA           #IMPLIED
+  mapRef       IDREF           #REQUIRED
+>
+
+
+<!-- Navigation Label - Contains a description of a given <navMap>, <navPoint>, <navList>, or <navTarget> in various media for presentation to the user. Can be repeated so descriptions can be provided in multiple languages. -->
+<!ELEMENT navLabel (((text, audio?) | audio), img?)>
+<!ATTLIST navLabel
+       %i18n;
+>
+
+
+<!-- Content Element - pointer into SMIL to beginning of navPoint. -->
+<!ELEMENT content EMPTY>
+<!ATTLIST content
+  id           ID              #IMPLIED
+  src          %uri;           #REQUIRED
+>
+
+<!-- Text Element - Contains text of docTitle, navPoint heading, navTarget (e.g., page number), or label for navMap or navList. -->
+<!ELEMENT text (#PCDATA)>
+<!ATTLIST text
+  id           ID                              #IMPLIED
+  class        CDATA                   #IMPLIED
+>
+
+<!-- Audio Element - audio clip of navPoint heading. -->
+<!ELEMENT audio EMPTY>
+<!ATTLIST audio
+  id           ID                              #IMPLIED
+  class        CDATA                   #IMPLIED
+  src          %uri;                   #REQUIRED
+  clipBegin    %SMILtimeVal;   #IMPLIED
+  clipEnd      %SMILtimeVal;   #IMPLIED
+>
+
+<!-- Image Element - image that may accompany heading. -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  id           ID                      #IMPLIED
+  class        CDATA           #IMPLIED
+  src          %uri;           #REQUIRED
+>
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/oeb1.ent   Fri Jan 11 11:03:51 2013
@@ -0,0 +1,494 @@
+<!--
+ Character entities for the Open eBook publication structure version 1.0.
+
+    Version:  1.0
+    Revision: 19990916-x
+
+    Authors:  Gunter Hille <hille@xxxxxx>
+              Ben Trafford <bent@xxxxxxxxxxxxx>
+              Garret Wilson <garret@xxxxxxxxxxxxxxxx>
+
+    Usage:
+ <!ENTITY % OEBEntities PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.0 Entities//EN" "oeb1.ent">
+        %OEBEntities;
+
+    References:
+ This DTD fragment is merely a combination of the external entities included
+        with XHTML 1.0.
+
+ Transitional XHTML 1.0 DTD at http://www.w3.org/TR/xhtml1/DTD/transitional.dtd
+      http://www.w3.org/TR/xhtml1/DTD/HTMLlat1x.ent
+      http://www.w3.org/TR/xhtml1/DTD/HTMLspecialx.ent
+      http://www.w3.org/TR/xhtml1/DTD/HTMLsymbolx.ent
+
+          Portions (C) International Organization for Standardization 1986.
+          Permission to copy in any form is granted for use with
+          conforming SGML systems and applications as defined in
+          ISO 8879, provided this notice is included in all copies.
+-->
+
+<!ENTITY nbsp   "&#160;" ><!-- no-break space = non-breaking space,
+                                     U+00A0 ISOnum -->
+<!ENTITY iexcl  "&#161;" ><!-- inverted exclamation mark,
+                                     U+00A1 ISOnum -->
+<!ENTITY cent   "&#162;" ><!-- cent sign,
+                                     U+00A2 ISOnum -->
+<!ENTITY pound  "&#163;" ><!-- pound sign,
+                                     U+00A3 ISOnum -->
+<!ENTITY curren "&#164;" ><!-- currency sign,
+                                     U+00A4 ISOnum -->
+<!ENTITY yen    "&#165;" ><!-- yen sign = yuan sign,
+                                     U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;" ><!-- broken bar = broken vertical bar,
+                                     U+00A6 ISOnum -->
+<!ENTITY sect   "&#167;" ><!-- section sign,
+                                     U+00A7 ISOnum -->
+<!ENTITY uml    "&#168;" ><!-- diaeresis = spacing diaeresis,
+                                     U+00A8 ISOdia -->
+<!ENTITY copy   "&#169;" ><!-- copyright sign,
+                                     U+00A9 ISOnum -->
+<!ENTITY ordf   "&#170;" ><!-- feminine ordinal indicator,
+                                     U+00AA ISOnum -->
+<!ENTITY laquo  "&#171;" ><!-- left-pointing double angle quotation mark
+                                     = left pointing guillemet,
+                                     U+00AB ISOnum -->
+<!ENTITY not    "&#172;" ><!-- not sign,
+                                     U+00AC ISOnum -->
+<!ENTITY shy    "&#173;" ><!-- soft hyphen = discretionary hyphen,
+                                     U+00AD ISOnum -->
+<!ENTITY reg "&#174;" ><!-- registered sign = registered trade mark sign,
+                                     U+00AE ISOnum -->
+<!ENTITY macr   "&#175;" ><!-- macron = spacing macron = overline
+                                     = APL overbar,
+                                     U+00AF ISOdia -->
+<!ENTITY deg    "&#176;" ><!-- degree sign,
+                                     U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;" ><!-- plus-minus sign = plus-or-minus sign,
+                                     U+00B1 ISOnum -->
+<!ENTITY sup2   "&#178;" ><!-- superscript two = superscript digit two
+                                     = squared,
+                                     U+00B2 ISOnum -->
+<!ENTITY sup3   "&#179;" ><!-- superscript three = superscript digit three
+                                     = cubed,
+                                     U+00B3 ISOnum -->
+<!ENTITY acute  "&#180;" ><!-- acute accent = spacing acute,
+                                     U+00B4 ISOdia -->
+<!ENTITY micro  "&#181;" ><!-- micro sign,
+                                     U+00B5 ISOnum -->
+<!ENTITY para   "&#182;" ><!-- pilcrow sign = paragraph sign,
+                                     U+00B6 ISOnum -->
+<!ENTITY middot "&#183;" ><!-- middle dot = Georgian comma
+                                     = Greek middle dot,
+                                     U+00B7 ISOnum -->
+<!ENTITY cedil  "&#184;" ><!-- cedilla = spacing cedilla,
+                                     U+00B8 ISOdia -->
+<!ENTITY sup1   "&#185;" ><!-- superscript one = superscript digit one,
+                                     U+00B9 ISOnum -->
+<!ENTITY ordm   "&#186;" ><!-- masculine ordinal indicator,
+                                     U+00BA ISOnum -->
+<!ENTITY raquo  "&#187;" ><!-- right-pointing double angle quotation mark
+                                     = right pointing guillemet,
+                                     U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;" ><!-- vulgar fraction one quarter
+                                     = fraction one quarter,
+                                     U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;" ><!-- vulgar fraction one half
+                                     = fraction one half,
+                                     U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;" ><!-- vulgar fraction three quarters
+                                     = fraction three quarters,
+                                     U+00BE ISOnum -->
+<!ENTITY iquest "&#191;" ><!-- inverted question mark
+                                     = turned question mark,
+                                     U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;" ><!-- latin capital letter A with grave
+                                     = latin capital letter A grave,
+                                     U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;" ><!-- latin capital letter A with acute,
+                                     U+00C1 ISOlat1 -->
+<!ENTITY Acirc  "&#194;" ><!-- latin capital letter A with circumflex,
+                                     U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;" ><!-- latin capital letter A with tilde,
+                                     U+00C3 ISOlat1 -->
+<!ENTITY Auml   "&#196;" ><!-- latin capital letter A with diaeresis,
+                                     U+00C4 ISOlat1 -->
+<!ENTITY Aring  "&#197;" ><!-- latin capital letter A with ring above
+                                     = latin capital letter A ring,
+                                     U+00C5 ISOlat1 -->
+<!ENTITY AElig  "&#198;" ><!-- latin capital letter AE
+                                     = latin capital ligature AE,
+                                     U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;" ><!-- latin capital letter C with cedilla,
+                                     U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;" ><!-- latin capital letter E with grave,
+                                     U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;" ><!-- latin capital letter E with acute,
+                                     U+00C9 ISOlat1 -->
+<!ENTITY Ecirc  "&#202;" ><!-- latin capital letter E with circumflex,
+                                     U+00CA ISOlat1 -->
+<!ENTITY Euml   "&#203;" ><!-- latin capital letter E with diaeresis,
+                                     U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;" ><!-- latin capital letter I with grave,
+                                     U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;" ><!-- latin capital letter I with acute,
+                                     U+00CD ISOlat1 -->
+<!ENTITY Icirc  "&#206;" ><!-- latin capital letter I with circumflex,
+                                     U+00CE ISOlat1 -->
+<!ENTITY Iuml   "&#207;" ><!-- latin capital letter I with diaeresis,
+                                     U+00CF ISOlat1 -->
+<!ENTITY ETH    "&#208;" ><!-- latin capital letter ETH,
+                                     U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;" ><!-- latin capital letter N with tilde,
+                                     U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;" ><!-- latin capital letter O with grave,
+                                     U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;" ><!-- latin capital letter O with acute,
+                                     U+00D3 ISOlat1 -->
+<!ENTITY Ocirc  "&#212;" ><!-- latin capital letter O with circumflex,
+                                     U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;" ><!-- latin capital letter O with tilde,
+                                     U+00D5 ISOlat1 -->
+<!ENTITY Ouml   "&#214;" ><!-- latin capital letter O with diaeresis,
+                                     U+00D6 ISOlat1 -->
+<!ENTITY times  "&#215;" ><!-- multiplication sign,
+                                     U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;" ><!-- latin capital letter O with stroke
+                                     = latin capital letter O slash,
+                                     U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;" ><!-- latin capital letter U with grave,
+                                     U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;" ><!-- latin capital letter U with acute,
+                                     U+00DA ISOlat1 -->
+<!ENTITY Ucirc  "&#219;" ><!-- latin capital letter U with circumflex,
+                                     U+00DB ISOlat1 -->
+<!ENTITY Uuml   "&#220;" ><!-- latin capital letter U with diaeresis,
+                                     U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;" ><!-- latin capital letter Y with acute,
+                                     U+00DD ISOlat1 -->
+<!ENTITY THORN  "&#222;" ><!-- latin capital letter THORN,
+                                     U+00DE ISOlat1 -->
+<!ENTITY szlig  "&#223;" ><!-- latin small letter sharp s = ess-zed,
+                                     U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;" ><!-- latin small letter a with grave
+                                     = latin small letter a grave,
+                                     U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;" ><!-- latin small letter a with acute,
+                                     U+00E1 ISOlat1 -->
+<!ENTITY acirc  "&#226;" ><!-- latin small letter a with circumflex,
+                                     U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;" ><!-- latin small letter a with tilde,
+                                     U+00E3 ISOlat1 -->
+<!ENTITY auml   "&#228;" ><!-- latin small letter a with diaeresis,
+                                     U+00E4 ISOlat1 -->
+<!ENTITY aring  "&#229;" ><!-- latin small letter a with ring above
+                                     = latin small letter a ring,
+                                     U+00E5 ISOlat1 -->
+<!ENTITY aelig  "&#230;" ><!-- latin small letter ae
+                                     = latin small ligature ae,
+                                     U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;" ><!-- latin small letter c with cedilla,
+                                     U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;" ><!-- latin small letter e with grave,
+                                     U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;" ><!-- latin small letter e with acute,
+                                     U+00E9 ISOlat1 -->
+<!ENTITY ecirc  "&#234;" ><!-- latin small letter e with circumflex,
+                                     U+00EA ISOlat1 -->
+<!ENTITY euml   "&#235;" ><!-- latin small letter e with diaeresis,
+                                     U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;" ><!-- latin small letter i with grave,
+                                     U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;" ><!-- latin small letter i with acute,
+                                     U+00ED ISOlat1 -->
+<!ENTITY icirc  "&#238;" ><!-- latin small letter i with circumflex,
+                                     U+00EE ISOlat1 -->
+<!ENTITY iuml   "&#239;" ><!-- latin small letter i with diaeresis,
+                                     U+00EF ISOlat1 -->
+<!ENTITY eth    "&#240;" ><!-- latin small letter eth,
+                                     U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;" ><!-- latin small letter n with tilde,
+                                     U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;" ><!-- latin small letter o with grave,
+                                     U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;" ><!-- latin small letter o with acute,
+                                     U+00F3 ISOlat1 -->
+<!ENTITY ocirc  "&#244;" ><!-- latin small letter o with circumflex,
+                                     U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;" ><!-- latin small letter o with tilde,
+                                     U+00F5 ISOlat1 -->
+<!ENTITY ouml   "&#246;" ><!-- latin small letter o with diaeresis,
+                                     U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;" ><!-- division sign,
+                                     U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;" ><!-- latin small letter o with stroke,
+                                     = latin small letter o slash,
+                                     U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;" ><!-- latin small letter u with grave,
+                                     U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;" ><!-- latin small letter u with acute,
+                                     U+00FA ISOlat1 -->
+<!ENTITY ucirc  "&#251;" ><!-- latin small letter u with circumflex,
+                                     U+00FB ISOlat1 -->
+<!ENTITY uuml   "&#252;" ><!-- latin small letter u with diaeresis,
+                                     U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;" ><!-- latin small letter y with acute,
+                                     U+00FD ISOlat1 -->
+<!ENTITY thorn  "&#254;" ><!-- latin small letter thorn with,
+                                     U+00FE ISOlat1 -->
+<!ENTITY yuml   "&#255;" ><!-- latin small letter y with diaeresis,
+                                     U+00FF ISOlat1 -->
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY apos    "&#39;">
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig "&#338;" ><!-- latin capital ligature OE, U+0152 ISOlat2 -->
+<!ENTITY oelig   "&#339;" ><!-- latin small ligature oe, U+0153 ISOlat2 -->
+
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron  "&#352;" ><!-- latin capital letter S with caron,
+                                      U+0160 ISOlat2 -->
+<!ENTITY scaron  "&#353;" ><!-- latin small letter s with caron,
+                                      U+0161 ISOlat2 -->
+<!ENTITY Yuml    "&#376;" ><!-- latin capital letter Y with diaeresis,
+                                      U+0178 ISOlat2 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ    "&#710;" ><!-- modifier letter circumflex accent,
+                                      U+02C6 ISOpub -->
+<!ENTITY tilde   "&#732;" ><!-- small tilde, U+02DC ISOdia -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp    "&#8194;" ><!-- en space, U+2002 ISOpub -->
+<!ENTITY emsp    "&#8195;" ><!-- em space, U+2003 ISOpub -->
+<!ENTITY thinsp  "&#8201;" ><!-- thin space, U+2009 ISOpub -->
+<!ENTITY zwnj    "&#8204;" ><!-- zero width non-joiner,
+                                       U+200C NEW RFC 2070 -->
+<!ENTITY zwj     "&#8205;" ><!-- zero width joiner, U+200D NEW RFC 2070 -->
+<!ENTITY lrm "&#8206;" ><!-- left-to-right mark, U+200E NEW RFC 2070 --> +<!ENTITY rlm "&#8207;" ><!-- right-to-left mark, U+200F NEW RFC 2070 -->
+<!ENTITY ndash   "&#8211;" ><!-- en dash, U+2013 ISOpub -->
+<!ENTITY mdash   "&#8212;" ><!-- em dash, U+2014 ISOpub -->
+<!ENTITY lsquo   "&#8216;" ><!-- left single quotation mark,
+                                       U+2018 ISOnum -->
+<!ENTITY rsquo   "&#8217;" ><!-- right single quotation mark,
+                                       U+2019 ISOnum -->
+<!ENTITY sbquo "&#8218;" ><!-- single low-9 quotation mark, U+201A NEW -->
+<!ENTITY ldquo   "&#8220;" ><!-- left double quotation mark,
+                                       U+201C ISOnum -->
+<!ENTITY rdquo   "&#8221;" ><!-- right double quotation mark,
+                                       U+201D ISOnum -->
+<!ENTITY bdquo "&#8222;" ><!-- double low-9 quotation mark, U+201E NEW -->
+<!ENTITY dagger  "&#8224;" ><!-- dagger, U+2020 ISOpub -->
+<!ENTITY Dagger  "&#8225;" ><!-- double dagger, U+2021 ISOpub -->
+<!ENTITY permil  "&#8240;" ><!-- per mille sign, U+2030 ISOtech -->
+
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY lsaquo  "&#8249;" ><!-- single left-pointing angle quotation mark,
+                                       U+2039 ISO proposed -->
+<!-- rsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo "&#8250;" ><!-- single right-pointing angle quotation mark,
+                                       U+203A ISO proposed -->
+<!ENTITY euro    "&#8364;" ><!-- euro sign, U+20AC NEW -->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof     "&#402;" ><!-- latin small f with hook = function
+                              = florin, U+0192 ISOtech -->
+
+<!-- Greek -->
+<!ENTITY Alpha    "&#913;" ><!-- greek capital letter alpha, U+0391 -->
+<!ENTITY Beta     "&#914;" ><!-- greek capital letter beta, U+0392 -->
+<!ENTITY Gamma "&#915;" ><!-- greek capital letter gamma, U+0393 ISOgrk3 --> +<!ENTITY Delta "&#916;" ><!-- greek capital letter delta, U+0394 ISOgrk3 -->
+<!ENTITY Epsilon  "&#917;" ><!-- greek capital letter epsilon, U+0395 -->
+<!ENTITY Zeta     "&#918;" ><!-- greek capital letter zeta, U+0396 -->
+<!ENTITY Eta      "&#919;" ><!-- greek capital letter eta, U+0397 -->
+<!ENTITY Theta "&#920;" ><!-- greek capital letter theta, U+0398 ISOgrk3 -->
+<!ENTITY Iota     "&#921;" ><!-- greek capital letter iota, U+0399 -->
+<!ENTITY Kappa    "&#922;" ><!-- greek capital letter kappa, U+039A -->
+<!ENTITY Lambda "&#923;" ><!-- greek capital letter lambda, U+039B ISOgrk3 -->
+<!ENTITY Mu       "&#924;" ><!-- greek capital letter mu, U+039C -->
+<!ENTITY Nu       "&#925;" ><!-- greek capital letter nu, U+039D -->
+<!ENTITY Xi "&#926;" ><!-- greek capital letter xi, U+039E ISOgrk3 -->
+<!ENTITY Omicron  "&#927;" ><!-- greek capital letter omicron, U+039F -->
+<!ENTITY Pi "&#928;" ><!-- greek capital letter pi, U+03A0 ISOgrk3 -->
+<!ENTITY Rho      "&#929;" ><!-- greek capital letter rho, U+03A1 -->
+<!-- there is no Sigmaf, and no U+03A2 character either -->
+<!ENTITY Sigma "&#931;" ><!-- greek capital letter sigma, U+03A3 ISOgrk3 -->
+<!ENTITY Tau      "&#932;" ><!-- greek capital letter tau, U+03A4 -->
+<!ENTITY Upsilon  "&#933;" ><!-- greek capital letter upsilon,
+                              U+03A5 ISOgrk3 -->
+<!ENTITY Phi "&#934;" ><!-- greek capital letter phi, U+03A6 ISOgrk3 -->
+<!ENTITY Chi      "&#935;" ><!-- greek capital letter chi, U+03A7 -->
+<!ENTITY Psi "&#936;" ><!-- greek capital letter psi, U+03A8 ISOgrk3 --> +<!ENTITY Omega "&#937;" ><!-- greek capital letter omega, U+03A9 ISOgrk3 --> +<!ENTITY alpha "&#945;" ><!-- greek small letter alpha, U+03B1 ISOgrk3 --> +<!ENTITY beta "&#946;" ><!-- greek small letter beta, U+03B2 ISOgrk3 --> +<!ENTITY gamma "&#947;" ><!-- greek small letter gamma, U+03B3 ISOgrk3 --> +<!ENTITY delta "&#948;" ><!-- greek small letter delta, U+03B4 ISOgrk3 --> +<!ENTITY epsilon "&#949;" ><!-- greek small letter epsilon, U+03B5 ISOgrk3 --> +<!ENTITY zeta "&#950;" ><!-- greek small letter zeta, U+03B6 ISOgrk3 -->
+<!ENTITY eta      "&#951;" ><!-- greek small letter eta, U+03B7 ISOgrk3 -->
+<!ENTITY theta "&#952;" ><!-- greek small letter theta, U+03B8 ISOgrk3 --> +<!ENTITY iota "&#953;" ><!-- greek small letter iota, U+03B9 ISOgrk3 --> +<!ENTITY kappa "&#954;" ><!-- greek small letter kappa, U+03BA ISOgrk3 --> +<!ENTITY lambda "&#955;" ><!-- greek small letter lambda, U+03BB ISOgrk3 -->
+<!ENTITY mu       "&#956;" ><!-- greek small letter mu, U+03BC ISOgrk3 -->
+<!ENTITY nu       "&#957;" ><!-- greek small letter nu, U+03BD ISOgrk3 -->
+<!ENTITY xi       "&#958;" ><!-- greek small letter xi, U+03BE ISOgrk3 -->
+<!ENTITY omicron  "&#959;" ><!-- greek small letter omicron, U+03BF NEW -->
+<!ENTITY pi       "&#960;" ><!-- greek small letter pi, U+03C0 ISOgrk3 -->
+<!ENTITY rho      "&#961;" ><!-- greek small letter rho, U+03C1 ISOgrk3 -->
+<!ENTITY sigmaf   "&#962;" ><!-- greek small letter final sigma,
+                              U+03C2 ISOgrk3 -->
+<!ENTITY sigma "&#963;" ><!-- greek small letter sigma, U+03C3 ISOgrk3 -->
+<!ENTITY tau      "&#964;" ><!-- greek small letter tau, U+03C4 ISOgrk3 -->
+<!ENTITY upsilon  "&#965;" ><!-- greek small letter upsilon,
+                              U+03C5 ISOgrk3 -->
+<!ENTITY phi      "&#966;" ><!-- greek small letter phi, U+03C6 ISOgrk3 -->
+<!ENTITY chi      "&#967;" ><!-- greek small letter chi, U+03C7 ISOgrk3 -->
+<!ENTITY psi      "&#968;" ><!-- greek small letter psi, U+03C8 ISOgrk3 -->
+<!ENTITY omega "&#969;" ><!-- greek small letter omega, U+03C9 ISOgrk3 -->
+<!ENTITY thetasym "&#977;" ><!-- greek small letter theta symbol,
+                              U+03D1 NEW -->
+<!ENTITY upsih    "&#978;" ><!-- greek upsilon with hook symbol,
+                              U+03D2 NEW -->
+<!ENTITY piv      "&#982;" ><!-- greek pi symbol, U+03D6 ISOgrk3 -->
+
+<!-- General Punctuation -->
+<!ENTITY bull     "&#8226;" ><!-- bullet = black small circle,
+                               U+2022 ISOpub  -->
+<!-- bullet is NOT the same as bullet operator, U+2219 -->
+<!ENTITY hellip   "&#8230;" ><!-- horizontal ellipsis = three dot leader,
+                               U+2026 ISOpub  -->
+<!ENTITY prime "&#8242;" ><!-- prime = minutes = feet, U+2032 ISOtech -->
+<!ENTITY Prime    "&#8243;" ><!-- double prime = seconds = inches,
+                               U+2033 ISOtech -->
+<!ENTITY oline    "&#8254;" ><!-- overline = spacing overscore,
+                               U+203E NEW -->
+<!ENTITY frasl    "&#8260;" ><!-- fraction slash, U+2044 NEW -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp   "&#8472;" ><!-- script capital P = power set
+                               = Weierstrass p, U+2118 ISOamso -->
+<!ENTITY image    "&#8465;" ><!-- blackletter capital I = imaginary part,
+                               U+2111 ISOamso -->
+<!ENTITY real     "&#8476;" ><!-- blackletter capital R = real part symbol,
+                               U+211C ISOamso -->
+<!ENTITY trade    "&#8482;" ><!-- trade mark sign, U+2122 ISOnum -->
+<!ENTITY alefsym  "&#8501;" ><!-- alef symbol = first transfinite cardinal,
+                               U+2135 NEW -->
+<!-- alef symbol is NOT the same as hebrew letter alef,
+ U+05D0 although the same glyph could be used to depict both characters -->
+
+<!-- Arrows -->
+<!ENTITY larr     "&#8592;" ><!-- leftwards arrow, U+2190 ISOnum -->
+<!ENTITY uarr     "&#8593;" ><!-- upwards arrow, U+2191 ISOnum-->
+<!ENTITY rarr     "&#8594;" ><!-- rightwards arrow, U+2192 ISOnum -->
+<!ENTITY darr     "&#8595;" ><!-- downwards arrow, U+2193 ISOnum -->
+<!ENTITY harr     "&#8596;" ><!-- left right arrow, U+2194 ISOamsa -->
+<!ENTITY crarr    "&#8629;" ><!-- downwards arrow with corner leftwards
+                               = carriage return, U+21B5 NEW -->
+<!ENTITY lArr "&#8656;" ><!-- leftwards double arrow, U+21D0 ISOtech --> +<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow + but also does not have any other character for that function. So ? lArr can
+    be used for 'is implied by' as ISOtech suggests -->
+<!ENTITY uArr     "&#8657;" ><!-- upwards double arrow, U+21D1 ISOamsa -->
+<!ENTITY rArr     "&#8658;" ><!-- rightwards double arrow,
+                               U+21D2 ISOtech -->
+<!-- Unicode does not say this is the 'implies' character but does not have
+     another character with this function so ?
+     rArr can be used for 'implies' as ISOtech suggests -->
+<!ENTITY dArr "&#8659;" ><!-- downwards double arrow, U+21D3 ISOamsa -->
+<!ENTITY hArr     "&#8660;" ><!-- left right double arrow,
+                               U+21D4 ISOamsa -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall   "&#8704;" ><!-- for all, U+2200 ISOtech -->
+<!ENTITY part     "&#8706;" ><!-- partial differential, U+2202 ISOtech  -->
+<!ENTITY exist    "&#8707;" ><!-- there exists, U+2203 ISOtech -->
+<!ENTITY empty    "&#8709;" ><!-- empty set = null set = diameter,
+                               U+2205 ISOamso -->
+<!ENTITY nabla    "&#8711;" ><!-- nabla = backward difference,
+                               U+2207 ISOtech -->
+<!ENTITY isin     "&#8712;" ><!-- element of, U+2208 ISOtech -->
+<!ENTITY notin    "&#8713;" ><!-- not an element of, U+2209 ISOtech -->
+<!ENTITY ni       "&#8715;" ><!-- contains as member, U+220B ISOtech -->
+<!-- should there be a more memorable name than 'ni'? -->
+<!ENTITY prod     "&#8719;" ><!-- n-ary product = product sign,
+                               U+220F ISOamsb -->
+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
+     the same glyph might be used for both -->
+<!ENTITY sum      "&#8721;" ><!-- n-ary sumation, U+2211 ISOamsb -->
+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
+     though the same glyph might be used for both -->
+<!ENTITY minus    "&#8722;" ><!-- minus sign, U+2212 ISOtech -->
+<!ENTITY lowast   "&#8727;" ><!-- asterisk operator, U+2217 ISOtech -->
+<!ENTITY radic    "&#8730;" ><!-- square root = radical sign,
+                               U+221A ISOtech -->
+<!ENTITY prop     "&#8733;" ><!-- proportional to, U+221D ISOtech -->
+<!ENTITY infin    "&#8734;" ><!-- infinity, U+221E ISOtech -->
+<!ENTITY ang      "&#8736;" ><!-- angle, U+2220 ISOamso -->
+<!ENTITY and      "&#8743;" ><!-- logical and = wedge, U+2227 ISOtech -->
+<!ENTITY or       "&#8744;" ><!-- logical or = vee, U+2228 ISOtech -->
+<!ENTITY cap      "&#8745;" ><!-- intersection = cap, U+2229 ISOtech -->
+<!ENTITY cup      "&#8746;" ><!-- union = cup, U+222A ISOtech -->
+<!ENTITY int      "&#8747;" ><!-- integral, U+222B ISOtech -->
+<!ENTITY there4   "&#8756;" ><!-- therefore, U+2234 ISOtech -->
+<!ENTITY sim "&#8764;" ><!-- tilde operator = varies with = similar to,
+                               U+223C ISOtech -->
+<!-- tilde operator is NOT the same character as the tilde, U+007E,
+     although the same glyph might be used to represent both  -->
+<!ENTITY cong "&#8773;" ><!-- approximately equal to, U+2245 ISOtech -->
+<!ENTITY asymp    "&#8776;" ><!-- almost equal to = asymptotic to,
+                               U+2248 ISOamsr -->
+<!ENTITY ne       "&#8800;" ><!-- not equal to, U+2260 ISOtech -->
+<!ENTITY equiv    "&#8801;" ><!-- identical to, U+2261 ISOtech -->
+<!ENTITY le       "&#8804;" ><!-- less-than or equal to, U+2264 ISOtech -->
+<!ENTITY ge       "&#8805;" ><!-- greater-than or equal to,
+                               U+2265 ISOtech -->
+<!ENTITY sub      "&#8834;" ><!-- subset of, U+2282 ISOtech -->
+<!ENTITY sup      "&#8835;" ><!-- superset of, U+2283 ISOtech -->
+<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol
+     font encoding and is not included. Should it be, for symmetry?
+     It is in ISOamsn  -->
+<!ENTITY nsub     "&#8836;" ><!-- not a subset of, U+2284 ISOamsn -->
+<!ENTITY sube     "&#8838;" ><!-- subset of or equal to, U+2286 ISOtech -->
+<!ENTITY supe     "&#8839;" ><!-- superset of or equal to,
+                               U+2287 ISOtech -->
+<!ENTITY oplus    "&#8853;" ><!-- circled plus = direct sum,
+                               U+2295 ISOamsb -->
+<!ENTITY otimes   "&#8855;" ><!-- circled times = vector product,
+                               U+2297 ISOamsb -->
+<!ENTITY perp     "&#8869;" ><!-- up tack = orthogonal to = perpendicular,
+                               U+22A5 ISOtech -->
+<!ENTITY sdot     "&#8901;" ><!-- dot operator, U+22C5 ISOamsb -->
+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil    "&#8968;" ><!-- left ceiling = apl upstile,
+                               U+2308 ISOamsc  -->
+<!ENTITY rceil    "&#8969;" ><!-- right ceiling, U+2309 ISOamsc  -->
+<!ENTITY lfloor   "&#8970;" ><!-- left floor = apl downstile,
+                               U+230A ISOamsc  -->
+<!ENTITY rfloor   "&#8971;" ><!-- right floor, U+230B ISOamsc  -->
+<!ENTITY lang     "&#9001;" ><!-- left-pointing angle bracket = bra,
+                               U+2329 ISOtech -->
+<!-- lang is NOT the same character as U+003C 'less than'
+     or U+2039 'single left-pointing angle quotation mark' -->
+<!ENTITY rang     "&#9002;" ><!-- right-pointing angle bracket = ket,
+                               U+232A ISOtech -->
+<!-- rang is NOT the same character as U+003E 'greater than'
+     or U+203A 'single right-pointing angle quotation mark' -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz      "&#9674;" ><!-- lozenge, U+25CA ISOpub -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades   "&#9824;" ><!-- black spade suit, U+2660 ISOpub -->
+<!-- black here seems to mean filled as opposed to hollow -->
+<!ENTITY clubs    "&#9827;" ><!-- black club suit = shamrock,
+                               U+2663 ISOpub -->
+<!ENTITY hearts   "&#9829;" ><!-- black heart suit = valentine,
+                               U+2665 ISOpub -->
+<!ENTITY diams    "&#9830;" ><!-- black diamond suit, U+2666 ISOpub -->
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/oebpkg101.dtd      Fri Jan 11 11:03:51 2013
@@ -0,0 +1,280 @@
+<!--
+    Document Type Definition for the Open eBook package version 1.0.1
+
+    Version:  1.0.1
+    Revision: 20010201-x
+
+    Authors:  Steve DeRose <steven_derose@xxxxxxxxx>
+              Gunter Hille <hille@xxxxxx>
+              Ben Trafford <bent@xxxxxxxxxxxxx>
+              Garret Wilson <garret@xxxxxxxxxxxxxxxx>
+
+    Usage:
+        <?xml version="1.0"?>
+        <!DOCTYPE package
+          PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.0.1 Package//EN"
+          "http://openebook.org/dtds/oeb-1.0.1/oebpkg101.dtd";>
+        <package unique-identifier="foo">
+          metadata
+          manifest
+          spine
+          tours
+          guide
+        </package>
+
+    References:
+ Transitional XHTML 1.0 DTD at http://www.w3.org/TR/xhtml1/DTD/transitional.dtd
+-->
+
+<!-- ******** Character Mnemonic Entities ******** -->
+
+<!-- OEB supports all XHTML mnemonics, but uses only one entity file. -->
+<!ENTITY % OEBEntities PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.0 Entities//EN" "oeb1.ent">
+%OEBEntities;
+
+<!-- ******** Attribute Types ******** -->
+
+<!-- LanguageCode: An RFC1766 language code. -->
+<!ENTITY % LanguageCode "NMTOKEN">
+
+<!-- URI: An RFC2396 Uniform Resource Identifier. -->
+<!ENTITY % URI "CDATA">
+
+<!-- ******** Common Attributes ******** -->
+
+<!-- InternationalAttributes: Attributes for internationalization.
+  xml:lang:     XML language code.
+-->
+<!ENTITY % InternationalAttributes
+  "xml:lang %LanguageCode; #IMPLIED"
+>
+
+<!-- CoreAttributes: Most common attributes used by many elements.
+  id:       ID unique to the entire document.
+-->
+<!ENTITY % CoreAttributes "id ID #IMPLIED">
+
+<!-- CommonAttributes: Common attributes used by many elements.
+  CoreAttributes:   Most common attributes.
+  InternationalAttributes:         Internationalization attributes.
+-->
+<!ENTITY % CommonAttributes
+  "%CoreAttributes;
+  %InternationalAttributes;"
+>
+
+<!-- DCNamespaceAttribute: Attribute that declare the Dublin Core
+  namespace. Used mostly on each <dc:XXX> element to accomodate XML
+  parsers which require this unnecessarily. -->
+<!ENTITY % DCNamespaceAttribute
+  "xmlns:dc   %URI;   #FIXED  'http://purl.org/dc/elements/1.0/'"
+>
+
+<!-- ******** OEB Package Elements ******** -->
+
+<!-- A package must have metadata, a manifest, and a spine,
+       and optionally may include a tours and/or a guide section. -->
+<!ELEMENT package   (metadata, manifest, spine, tours?, guide?)>
+<!ATTLIST package
+  %CommonAttributes;
+  unique-identifier   IDREF    #REQUIRED
+ xmlns %URI; #FIXED "http://openebook.org/namespaces/oeb-package/1.0/";
+>
+
+<!-- The metadata section must have dc-metadata but may or may not
+  include x-metadata. -->
+<!ELEMENT  metadata (dc-metadata, x-metadata?)>
+
+<!-- These elements are optional in <dc-metadata>. -->
+<!ENTITY % DCMetadataOptionalElements
+  "dc:Contributor  | dc:Creator | dc:Subject | dc:Description
+  | dc:Publisher |  dc:Date | dc:Type | dc:Format | dc:Source
+  | dc:Language | dc:Relation | dc:Coverage | dc:Rights"
+>
+
+<!-- These are the optional and required elements of <dc-metadata>. -->
+<!ENTITY % DCMetadataGeneralElements
+  "%DCMetadataOptionalElements; | dc:Title |dc:Identifier"
+>
+
+<!-- A dc-metadata section must have a dc:Title and a
+  dc:Identifier, and optionally other dc:XXX elements, all in any
+  order. -->
+<!ELEMENT dc-metadata ((%DCMetadataOptionalElements;)*,
+  ((dc:Title, (%DCMetadataOptionalElements; | dc:Title)*,
+    (dc:Identifier, (%DCMetadataGeneralElements;)*)) |
+  (dc:Identifier, (%DCMetadataOptionalElements; | dc:Identifier)*,
+    (dc:Title, (%DCMetadataGeneralElements;)*))))
+>
+
+<!ATTLIST dc-metadata
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+ xmlns:oebpackage %URI; #FIXED "http://openebook.org/namespaces/oeb-package/1.0/";
+>
+
+<!-- A dc:Contributor element may optionally have a role and/or a file-as
+  attribute. -->
+<!ELEMENT dc:Contributor (#PCDATA)>
+<!ATTLIST dc:Contributor
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+  role      NMTOKEN   #IMPLIED
+  file-as   CDATA          #IMPLIED
+>
+
+<!ELEMENT dc:Title (#PCDATA)>
+<!ATTLIST dc:Title
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Creator (#PCDATA)>
+<!ATTLIST dc:Creator
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+  role      NMTOKEN   #IMPLIED
+  file-as   CDATA     #IMPLIED
+>
+
+<!ELEMENT dc:Subject (#PCDATA)>
+<!ATTLIST dc:Subject
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Description (#PCDATA)>
+<!ATTLIST dc:Description
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Publisher (#PCDATA)>
+<!ATTLIST dc:Publisher
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Date   (#PCDATA)>
+<!ATTLIST dc:Date
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+  event NMTOKEN        #IMPLIED
+>
+
+<!ELEMENT dc:Type (#PCDATA)>
+<!ATTLIST dc:Type
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Format (#PCDATA)>
+<!ATTLIST dc:Format
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Identifier (#PCDATA)>
+<!ATTLIST dc:Identifier
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+  scheme NMTOKEN #IMPLIED
+>
+
+<!ELEMENT dc:Source (#PCDATA)>
+<!ATTLIST dc:Source
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Language (#PCDATA)>
+<!ATTLIST dc:Language
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Relation (#PCDATA)>
+<!ATTLIST dc:Relation
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Coverage       (#PCDATA)>
+<!ATTLIST dc:Coverage
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!ELEMENT dc:Rights (#PCDATA)>
+<!ATTLIST dc:Rights
+  %CommonAttributes;
+  %DCNamespaceAttribute;
+>
+
+<!-- The <x-metadata> element must have at least one <meta> element. -->
+<!ELEMENT x-metadata (meta+)>
+<!ATTLIST x-metadata %CommonAttributes;>
+
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  %CommonAttributes;
+  name      NMTOKEN   #REQUIRED
+  content   CDATA     #REQUIRED
+  scheme    CDATA     #IMPLIED
+>
+
+<!-- The manifest must contain one or more items. -->
+<!ELEMENT manifest (item+)>
+<!ATTLIST manifest %CommonAttributes;>
+
+<!-- The CommonAttributes entity is not used here because in this case
+  the "id" attribute is required. -->
+<!ELEMENT item EMPTY>
+<!ATTLIST item
+  %InternationalAttributes;
+       id            ID      #REQUIRED
+       href          CDATA   #REQUIRED
+       media-type    CDATA   #REQUIRED
+       fallback      IDREF   #IMPLIED
+>
+
+<!-- The spine must contain one or more itemrefs. -->
+<!ELEMENT spine     (itemref+)>
+<!ATTLIST spine     %CommonAttributes;>
+
+<!ELEMENT itemref   EMPTY>
+<!ATTLIST itemref
+  %CommonAttributes;
+  idref        IDREF   #REQUIRED
+>
+
+<!-- The tours element must have one or more tour elements. -->
+<!ELEMENT tours     (tour+)>
+<!ATTLIST tours     %CommonAttributes;>
+
+<!-- Each tour of the set must contain at least one site. -->
+<!ELEMENT tour (site+)>
+<!ATTLIST tour
+  %CommonAttributes;
+  title        CDATA   #REQUIRED
+>
+
+<!-- Each site in a tour must have a title and an href. -->
+<!ELEMENT site EMPTY>
+<!ATTLIST site
+  %CommonAttributes;
+  title   CDATA   #REQUIRED
+  href    CDATA   #REQUIRED
+>
+
+<!-- The guide element must have one or more reference elements. -->
+<!ELEMENT guide     (reference+)>
+<!ATTLIST guide     %CommonAttributes;>
+
+<!ELEMENT reference EMPTY>
+<!ATTLIST reference
+  %CommonAttributes;
+  type    NMTOKEN   #REQUIRED
+  title   CDATA     #REQUIRED
+  href    CDATA     #REQUIRED
+>
=======================================
--- /dev/null
+++ /src/tests/resources/fdr/pipeline_report.xml        Fri Jan 11 11:03:51 2013
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href=""?><validator xmlns="http://www.daisy.org/ns/pipeline/validator/";>&#xd;
+<head xmlns="http://www.daisy.org/ns/pipeline/validator/";>&#xd;
+<pipelineVersion xmlns="http://www.daisy.org/ns/pipeline/validator/";>20111215</pipelineVersion>&#xd; +<javaVersion xmlns="http://www.daisy.org/ns/pipeline/validator/";>1.7.0_02</javaVersion>&#xd;
+</head>&#xd;
+<body xmlns="http://www.daisy.org/ns/pipeline/validator/";>&#xd;
+<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; line="-1" file="file:/D:/dtb/fdr/fdr.xml" col="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0001" level="Severe error" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; col="-1" file="file:/D:/dtb/fdr/fdr.xml" level="Severe error" line="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0002" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0003" col="-1" level="Severe error" file="file:/D:/dtb/fdr/fdr.xml" line="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; line="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0004" file="file:/D:/dtb/fdr/fdr.xml" level="Severe error" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" file="file:/D:/dtb/fdr/fdr.xml" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0005" line="-1" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; line="-1" level="Severe error" col="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0006" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; file="file:/D:/dtb/fdr/fdr.xml" col="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0007" level="Severe error" line="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" col="-1" line="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0008" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; col="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0009" file="file:/D:/dtb/fdr/fdr.xml" level="Severe error" line="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; col="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0010" line="-1" file="file:/D:/dtb/fdr/fdr.xml" level="Severe error" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; col="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0011" level="Severe error" line="-1" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0012" line="-1" file="file:/D:/dtb/fdr/fdr.xml" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0013" line="-1" level="Severe error" col="-1" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0014" col="-1" file="file:/D:/dtb/fdr/fdr.xml" line="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; file="file:/D:/dtb/fdr/fdr.xml" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0015" line="-1" col="-1" level="Severe error" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; line="-1" file="file:/D:/dtb/fdr/fdr.xml" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0016" level="Severe error" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; line="-1" level="Severe error" col="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0017" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; col="-1" level="Severe error" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0018" line="-1" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0019" line="-1" col="-1" level="Severe error" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; file="file:/D:/dtb/fdr/fdr.xml" line="-1" level="Severe error" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0020" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0021" line="-1" file="file:/D:/dtb/fdr/fdr.xml" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0022" file="file:/D:/dtb/fdr/fdr.xml" line="-1" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; col="-1" line="-1" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0023" file="file:/D:/dtb/fdr/fdr.xml" level="Severe error" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0024" file="file:/D:/dtb/fdr/fdr.xml" line="-1" col="-1" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0025" col="-1" line="-1" level="Severe error" file="file:/D:/dtb/fdr/fdr.xml" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" col="-1" line="-1" file="file:/D:/dtb/fdr/fdr.xml" msg="Illegal character in path at index 3: FDR Inagural Address.smil#par_0026" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" file="file:/D:/dtb/fdr/fdr.xml" msg="File not found: exemplar.css" line="-1" col="-1" />&#xd; +<exception xmlns="http://www.daisy.org/ns/pipeline/validator/"; level="Severe error" msg="version attribute not found on document root" str="org.daisy.util.fileset.validation.exception.ValidatorException: version attribute not found on document root&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.setStaticResources(ValidatorImplDtbook.java:99)&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.validate(ValidatorImplDtbook.java:62)&#xd;&#xa;&#x9;at int_daisy_validator.ValidatorDriver.execute(ValidatorDriver.java:233)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.Transformer.executeWrapper(Transformer.java:174)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.TransformerHandler.run(TransformerHandler.java:124)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.script.Runner.execute(Runner.java:98)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.PipelineCore.execute(PipelineCore.java:280)&#xd;&#xa;&#x9;at org.daisy.pipeline.ui.CommandLineUI.main(CommandLineUI.java:213)&#xd;&#xa;org.daisy.util.fileset.validation.exception.ValidatorException: version attribute not found on document root&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.setStaticResources(ValidatorImplDtbook.java:84)&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.validate(ValidatorImplDtbook.java:62)&#xd;&#xa;&#x9;at int_daisy_validator.ValidatorDriver.execute(ValidatorDriver.java:233)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.Transformer.executeWrapper(Transformer.java:174)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.TransformerHandler.run(TransformerHandler.java:124)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.script.Runner.execute(Runner.java:98)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.PipelineCore.execute(PipelineCore.java:280)&#xd;&#xa;&#x9;at org.daisy.pipeline.ui.CommandLineUI.main(CommandLineUI.java:213)&#xd;&#xa;&#xd;&#xa;org.daisy.util.fileset.validation.exception.ValidatorException: version attribute not found on document root&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.setStaticResources(ValidatorImplDtbook.java:99)&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.validate(ValidatorImplDtbook.java:62)&#xd;&#xa;&#x9;at int_daisy_validator.ValidatorDriver.execute(ValidatorDriver.java:233)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.Transformer.executeWrapper(Transformer.java:174)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.TransformerHandler.run(TransformerHandler.java:124)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.script.Runner.execute(Runner.java:98)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.PipelineCore.execute(PipelineCore.java:280)&#xd;&#xa;&#x9;at org.daisy.pipeline.ui.CommandLineUI.main(CommandLineUI.java:213)&#xd;&#xa;org.daisy.util.fileset.validation.exception.ValidatorException: version attribute not found on document root&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.setStaticResources(ValidatorImplDtbook.java:84)&#xd;&#xa;&#x9;at org.daisy.util.fileset.validation.ValidatorImplDtbook.validate(ValidatorImplDtbook.java:62)&#xd;&#xa;&#x9;at int_daisy_validator.ValidatorDriver.execute(ValidatorDriver.java:233)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.Transformer.executeWrapper(Transformer.java:174)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.transformer.TransformerHandler.run(TransformerHandler.java:124)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.script.Runner.execute(Runner.java:98)&#xd;&#xa;&#x9;at org.daisy.pipeline.core.PipelineCore.execute(PipelineCore.java:280)&#xd;&#xa;&#x9;at org.daisy.pipeline.ui.CommandLineUI.main(CommandLineUI.java:213)&#xd;&#xa;" />&#xd; +<message xmlns="http://www.daisy.org/ns/pipeline/validator/"; msg="element &quot;dtbook&quot; not allowed in this context" file="file:/D:/dtb/fdr/fdr.xml" line="5" col="9" level="Error" />&#xd;
+</body>&#xd;
+<foot xmlns="http://www.daisy.org/ns/pipeline/validator/";>&#xd;
+<executionTime xmlns="http://www.daisy.org/ns/pipeline/validator/";>0:00:00.616</executionTime>&#xd;
+</foot>&#xd;
+</validator>

Other related posts:

  • » [brailleblaster] [brailleblaster.newdesign] push by kcre...@xxxxxxxxx - Added resources to tests, NIMAS example FDR's Inagural Address for tes... on 2013-01-11 19:04 GMT - brailleblaster