<!-- ============================================================= -->
<!-- MODULE:    Conversion specification DTD                       -->
<!-- VERSION:   1.0                                                -->
<!-- DATE:      February 2007                                      -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!-- SYSTEM:    Mulberry Internal                                  -->
<!--                                                               -->
<!-- PURPOSE:   Specification for XSLT conversion                  -->
<!--                                                               -->
<!--                                                               -->
<!-- CREATED FOR:                                                  -->
<!--            Mulberry Technologies, Inc.                        -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--            June 20, 2003                                      -->
<!--                                                               -->
<!-- CREATED BY:                                                   -->
<!--            Mulberry Technologies, Inc.                        -->
<!--            17 West Jefferson Street, Suite 207                -->
<!--            Rockville, MD  20850  USA                          -->
<!--            Phone:  +1 301-315-9631                            -->
<!--            Fax:    +1 301-315-8285                            -->
<!--            e-mail: info@mulberrytech.com                      -->
<!--            WWW:    http://www.mulberrytech.com                -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                   DESIGN CONSIDERATIONS                       -->
<!-- ============================================================= -->



<!-- ============================================================= -->
<!--                   CHANGE HISTORY                              -->
<!-- ============================================================= -->

<!--

  5.                                                wap  20070208
      Renamed and extended note elements: now we have
        self-note
        code-note
        discussion-note
      The 'amendment' note has been removed (to be placed
      in a customization layer)
      This has also now been parameterized
      
  4.                                                wap  20070104
      Added 'lit' element to mark up text literals (appearing
      in either source or target)
      
  3.  Now called v1.0                               wap  20061020
  
      Renamed work-note and client-note due to confusion in
      earlier tag usage; we now have:
        'note2self' (notes for the specification author, to be
          cleared before handing off)
        'note2coder' (notes for the developer)
      Their descriptions have been changed accordingly.
      
      Renamed file-pointer element to 'file' (clearer and simpler)
      
      Added 'amendment' element
        for tracking changes, modifications and clarifications
        made after delivery
  
  2.  Added work-note and client-note elements (v02) KH  20030717

  1.  Original version (v01)                             20030620
                                                                   -->

<!-- ============================================================= -->
<!--                   ISO STANDARD SPECIAL CHARACTER SETS         -->
<!-- ============================================================= -->

<!--
<!ENTITY % isolat1      PUBLIC
"ISO 8879-1986//ENTITIES  Added Latin 1//EN"
"isolat1.pen"                                                        >


<!ENTITY % isonum       PUBLIC
"ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN"
"isonum.pen"                                                         >


<!ENTITY % isopub       PUBLIC
"ISO 8879-1986//ENTITIES Publishing//EN"
"isopub.pen"                                                         >


<!ENTITY % isotech      PUBLIC
"ISO 8879-1986//ENTITIES General Technical//EN"
"isotech.pen"                                                        >


%isolat1; %isonum; %isopub; %isotech;
-->

<!-- ============================================================= -->
<!--                   NOTATION DECLARATIONS                       -->
<!-- ============================================================= -->


<!--                    PRESENTATION OF CODEBLOCKS                 -->
<!NOTATION linespecific SYSTEM
"line ends and leading white space must be preserved in output"
                                                                     >

<!-- ============================================================= -->
<!--                    STRUCTURAL PARAMETER ENTITIES              -->
<!-- ============================================================= -->

<!--                    INLINE ELEMENTS                            -->
<!ENTITY % text         "emph | code | source | target | lit | uri"  >

<!--                    LISTS                                      -->
<!ENTITY % lists        "bul-list | def-list | num-list"             >

<!--                    NOTE MODEL                                 -->
<!ENTITY % note-content "(p | %lists; | codeblock)*"                 >


<!--                    NOTE ELEMENTS                              -->
<!ENTITY % notes        "self-note | discussion-note | coding-note"  >

<!--                    BLOCK ELEMENTS                             -->
<!ENTITY % para-level   "%lists; | codeblock | %notes;"              >


<!--                    TOP-LEVEL CONTENT MODEL                    -->
<!--                    Override this for project-specific
                        specification DTDs                         -->
<!ENTITY % spec-content "title, (p | %para-level;)*,
                         section*"                                   >


<!-- ============================================================= -->
<!--                    SPECIFICATION TOP LEVEL                    -->
<!-- ============================================================= -->


<!ELEMENT  spec         (%spec-content;)                             >



<!-- ============================================================= -->
<!--                    PARAGRAPH                                  -->
<!-- ============================================================= -->


<!--                    PARAGRAPH
                        A paragraph of text                        -->
<!ELEMENT  p            (#PCDATA | %text; | %para-level;)*           >


<!-- ============================================================= -->
<!--                    TEXT (INLINE) ELEMENTS                     -->
<!-- ============================================================= -->


<!--                    CODE (INLINE)                              -->
<!--                    The code element is for inline text
                        related to software, such as a phrase
                        of code, a reserved word in a language,
                        or a filename. It is usually rendered
                        in a fixed-pitch font. (See "codeblock"
                        for blocks of code.)                       -->
<!ELEMENT  code         (#PCDATA)                                    >


<!--                    EMPHASIS                                   -->
<!--                    Emphasis is for words whose reading would
                        be emphasized aloud, such as "always" or
                        "not". It is usually rendered in italic
                        or bold.                                   -->
<!ELEMENT  emph         (#PCDATA | code)*                            >


<!--                    SOURCE                                     -->
<!--                    The names of objects (elements or
                        attributes) from the source DTD.           -->
<!ELEMENT  source        (#PCDATA)                                    >


<!--                    TARGET                                     -->
<!--                    The names of objects (elements or
                        attributes) from the source DTD.           -->
<!ELEMENT  target        (#PCDATA)                                   >


<!--                    LITERAL                                    -->
<!--                    Literal text, appearing either in the
                        source or target.                          -->
<!ELEMENT  lit          (#PCDATA)                                    >


<!--                    URI                                        -->
<!--                    An inline link; the literal content should
                        be a valid URI.                            -->
<!ELEMENT  uri          (#PCDATA)                                    >


<!--                    FILE                                       -->
<!--                    Indicates the location of an external file,
                        such as a sample file. Implemented like
                        an HTML anchor, with a separate attribute
                        for the link.                              -->
<!ELEMENT  file         (#PCDATA)                                    >
<!--        target      The target attribute specifies the
                        location of an external file.              -->
<!ATTLIST  file-pointer
            target      CDATA                              #IMPLIED  >


<!-- ============================================================= -->
<!--                    BLOCK ELEMENTS                             -->
<!-- ============================================================= -->


<!--                    TITLE                                      -->
<!--                    The title of a document or section.        -->
<!ELEMENT  title        (#PCDATA | %text;)*                          >


<!--                    CODE BLOCK                                 -->
<!--                    A wrapper element for text that is to be
                        rendered in monofont and line-for-line,
                        such as code examples and command lines.   -->
<!ELEMENT  codeblock    (#PCDATA)                                    >


<!--                    DEVELOPMENT NOTE                           -->
<!--                    A wrapper element for notes detailing
                        or clarifying mapping decisions
                        (intended for the developer's use).        -->
<!ELEMENT  coding-note  %note-content;                               >


<!--                    PROBLEM                                    -->
<!--                    A wrapper element for notes detailing
                        questions regarding correct or complete
                        mapping.
                        These issues should be resolved and the
                        elements removed before handing off the
                        spec to the developer!                     -->
<!ELEMENT  self-note    %note-content;                               >


<!--                    CLIENT NOTE                                -->
<!--                    A wrapper element for notes detailing
                        reasoning or other information relevant
                        to the client.                             -->
<!ELEMENT  discussion-note
                        %note-content;                               >


<!--                    SECTION                                    -->
<!--                    A group of items                           -->
<!ELEMENT  section      (title, (p | (%para-level;))*, section*)     >


<!-- ============================================================= -->
<!--                    LISTS                                      -->
<!-- ============================================================= -->


<!--                    BULLETED LIST                              -->
<!ELEMENT  bul-list     (title?, item+)                              >


<!--                    LIST ITEM                                  -->
<!ELEMENT  item         (p|(%para-level;))+                          >


<!--                    NUMBERED LIST                              -->
<!ELEMENT  num-list     (title?, item+)                              >


<!--                    DEFINITION LIST                            -->
<!ELEMENT  def-list     (title?, term-head?, def-head?,
                             def-item+)                              >


<!--                    DEFINITION LIST TERM HEADING               -->
<!ELEMENT  term-head    (#PCDATA | %text;)*                          >


<!--                    DEFINITION LIST DEFINITION HEADING         -->
<!ELEMENT  def-head     (#PCDATA | %text;)*                          >


<!--                    DEFINITION LIST ITEM                       -->
<!ELEMENT  def-item     (term, def+)                                 >
<!ATTLIST  def-item
             id         ID                                 #IMPLIED  >


<!--                    DEFINITION LIST TERM                       -->
<!ELEMENT  term         (#PCDATA | %text;)*                          >


<!--                    DEFINITION LIST DEFINITION                 -->
<!ELEMENT  def          (p|(%para-level;))+                          >


<!-- ================== END OF CONVERSIONSPEC DTD ================ -->

