<!-- XLIFF

Public Identifier: "-//XLIFF//DTD XLIFF//EN"

History of modifications (latest first):

Jul-14-2003 by YS: Added extype definition (was missing)
Jan-28-2003 by YS: Implemented fixes for resname
Jan-28-2002 by YS: Implemented fixes after OASIS TC spec revision
May-15-2001 by YS: Add phase-name to <trans-unit> and <bin-unit>
May-15-2001 by YS: Reverse id for <trans-unit> to required
Apr-19-2001 by YS: Enda+JohnR last changes
Apr-18-2001 by YS: Removed empty ATTLISTs
Apr-12-2001 by YS: Changed target* to target+ in trans-match
Apr-11-2001 by YS: Fixed DOCTYPE id
Apr-10-2001 by YS: Synchronize from conference call 
Apr-05-2001 by YS: Synchronize with latest specs
Apr-04-2001 by YS: Synchronize with latest specs
Apr-03-2001 by YS: Added name in <prop-group>
Apr-02-2001 by YS: Implemented JR fixes
Mar-29-2001 by JC: fixes for xml:space and bin-unit
Mar-28-2001 by YS: First draft version

-->


<!ENTITY % CodeContent "#PCDATA|sub" >
<!ENTITY % TextContent "#PCDATA|g|bpt|ept|ph|it|mrk|x|bx|ex" >

<!ENTITY lt   "&#38;#60;" >
<!ENTITY amp  "&#38;#38;" >
<!ENTITY gt   "&#62;" >
<!ENTITY apos "&#39;" >
<!ENTITY quot "&#34;" >


<!-- ***************************************************************** -->
<!-- Structural Elements                                               -->
<!-- ***************************************************************** -->

<!ELEMENT xliff     (file)+ >
<!ATTLIST xliff
   version          CDATA              #FIXED "1.0"
   xml:lang         CDATA              #IMPLIED
>

<!ELEMENT file      (header,body) >
<!ATTLIST file
   original         CDATA              #REQUIRED
   source-language  CDATA              #REQUIRED
   datatype         CDATA              #REQUIRED
   tool             CDATA              #IMPLIED
   date             CDATA              #IMPLIED
   xml:space        (default|preserve) "default"
   ts               CDATA              #IMPLIED
   category         CDATA              #IMPLIED
   target-language  CDATA              #IMPLIED
   product-name     CDATA              #IMPLIED
   product-version  CDATA              #IMPLIED
   build-num        CDATA              #IMPLIED
>
<!-- tool default = "manual" -->


<!ELEMENT header        (skl?,phase-group?,(prop-group|glossary|reference|note|count-group)*) >

<!ELEMENT skl           (internal-file|external-file) >

<!ELEMENT internal-file (#PCDATA) >
<!ATTLIST internal-file
   form                 CDATA    #IMPLIED
   crc                  NMTOKEN  #IMPLIED
>
<!-- text|base64 (text is default) -->

<!ELEMENT external-file EMPTY >
<!ATTLIST external-file
   href                 CDATA    #REQUIRED
   crc                  NMTOKEN  #IMPLIED
   uid                  NMTOKEN  #IMPLIED
>

<!ELEMENT glossary      (internal-file|external-file) >

<!ELEMENT reference     (internal-file|external-file) >

<!ELEMENT note          (#PCDATA) >
<!ATTLIST note
   xml:lang             CDATA    #IMPLIED
   priority             (1|2|3|4|5|6|7|8|9|10) "1"
   from                 CDATA    #IMPLIED
>

<!ELEMENT prop-group    (prop)+ >
<!ATTLIST prop-group
   name                 CDATA    #IMPLIED
>

<!ELEMENT prop          (#PCDATA) >
<!ATTLIST prop
   prop-type            CDATA    #REQUIRED
   xml:lang             CDATA    #IMPLIED
>

<!ELEMENT context-group (context)+ >
<!ATTLIST context-group
   name                 CDATA    #REQUIRED
   crc                  NMTOKEN  #IMPLIED
>

<!-- Processing instructions related to <context-group>:

<?xliff-show-context-group name='value' ?>

Indicates that any <context-group> element with a name set to 'value' should be
displayed to the end-user.

-->

<!ELEMENT context       (#PCDATA) >
<!ATTLIST context
   context-type         CDATA    #REQUIRED
   match-mandatory      (yes|no) "no"
   crc                  NMTOKEN  #IMPLIED
>

<!-- Processing instructions related to <context>:

<?xliff-show-context context-type='value' ?>

Indicates that any <context> element with a context-type set to 'value' should 
be displayed to the end-user.

-->

<!ELEMENT phase-group   (phase)+ >

<!ELEMENT phase         (note)* >
<!ATTLIST phase
   phase-name           CDATA    #REQUIRED
   process-name         CDATA    #REQUIRED
   company-name         CDATA    #IMPLIED
   tool                 CDATA    #IMPLIED
   date                 CDATA    #IMPLIED
   job-id               CDATA    #IMPLIED
   contact-name         CDATA    #IMPLIED
   contact-email        CDATA    #IMPLIED
   contact-phone        CDATA    #IMPLIED
>

<!ELEMENT count-group   (count)* >
<!ATTLIST count-group
   name                 CDATA    #REQUIRED
>

<!ELEMENT count         (#PCDATA) >
<!ATTLIST count
   count-type           CDATA       #IMPLIED
   unit                 CDATA       #IMPLIED
>

<!ELEMENT body          (group|trans-unit|bin-unit)* >

<!ELEMENT group         ((context-group*,count-group*,prop-group*,note*),(group|trans-unit|bin-unit)*)
>
<!ATTLIST group
   id                   NMTOKEN     #IMPLIED
   datatype             CDATA       #IMPLIED
   xml:space            (default|preserve) "default"
   ts                   CDATA       #IMPLIED
   restype              CDATA       #IMPLIED
   resname              CDATA       #IMPLIED
   extradata            CDATA       #IMPLIED
   extype               CDATA       #IMPLIED
   help-id              NMTOKEN     #IMPLIED
   menu                 CDATA       #IMPLIED
   menu-option          CDATA       #IMPLIED
   menu-name            CDATA       #IMPLIED
   coord                CDATA       #IMPLIED
   font                 CDATA       #IMPLIED
   css-style            CDATA       #IMPLIED
   style                NMTOKEN     #IMPLIED
   exstyle              NMTOKEN     #IMPLIED
>

<!ELEMENT trans-unit    (source,target?,(count-group|note|context-group|prop-group|alt-trans)*) >
<!ATTLIST trans-unit
   id                   NMTOKEN     #REQUIRED
   approved             (yes|no)    #IMPLIED
   translate            (yes|no)    "yes"
   reformat             (yes|no)    "yes"
   xml:space            (default|preserve) "default"
   datatype             CDATA       #IMPLIED
   ts                   CDATA       #IMPLIED
   restype              CDATA       #IMPLIED
   resname              CDATA       #IMPLIED
   extradata            CDATA       #IMPLIED
   extype               CDATA       #IMPLIED
   help-id              NMTOKEN     #IMPLIED
   menu                 CDATA       #IMPLIED
   menu-option          CDATA       #IMPLIED
   menu-name            CDATA       #IMPLIED
   coord                CDATA       #IMPLIED
   font                 CDATA       #IMPLIED
   css-style            CDATA       #IMPLIED
   style                NMTOKEN     #IMPLIED
   exstyle              NMTOKEN     #IMPLIED
   size-unit            CDATA       #IMPLIED
   maxwidth             NMTOKEN     #IMPLIED
   minwidth             NMTOKEN     #IMPLIED
   maxheight            NMTOKEN     #IMPLIED
   minheight            NMTOKEN     #IMPLIED
   maxbytes             NMTOKEN     #IMPLIED
   minbytes             NMTOKEN     #IMPLIED
   charclass            CDATA       #IMPLIED
   phase-name           CDATA       #IMPLIED
>
<!-- size-unit: char|byte|pixel|glyph|dlgunit default='pixel' -->

<!ELEMENT source        (%TextContent;)* >
<!ATTLIST source
   xml:lang             CDATA       #IMPLIED
   ts                   CDATA       #IMPLIED
>
<!-- coord = "x;y;cx;cy"
   font= "fontname[;size[;weight]]"
-->

<!ELEMENT target        (%TextContent;)* >
<!ATTLIST target
   state                NMTOKEN     #IMPLIED
   phase-name           NMTOKEN     #IMPLIED
   xml:lang             CDATA       #IMPLIED
   ts                   CDATA       #IMPLIED
   restype              CDATA       #IMPLIED
   resname              CDATA       #IMPLIED
   coord                CDATA       #IMPLIED
   font                 CDATA       #IMPLIED
   css-style            CDATA       #IMPLIED
   style                NMTOKEN     #IMPLIED
   exstyle              NMTOKEN     #IMPLIED
>

<!ELEMENT alt-trans     (source?,target+,(note|context-group|prop-group)*) >
<!ATTLIST alt-trans
   match-quality        CDATA       #IMPLIED
   tool                 CDATA       #IMPLIED
   crc                  NMTOKEN     #IMPLIED
   xml:lang             CDATA       #IMPLIED
   origin               CDATA       #IMPLIED
   datatype             CDATA       #IMPLIED
   xml:space           (default|preserve) "default"
   ts                   CDATA       #IMPLIED
   restype              CDATA       #IMPLIED
   resname              CDATA       #IMPLIED
   extradata            CDATA       #IMPLIED
   extype               CDATA       #IMPLIED
   help-id              NMTOKEN     #IMPLIED
   menu                 CDATA       #IMPLIED
   menu-option          CDATA       #IMPLIED
   menu-name            CDATA       #IMPLIED
   coord                CDATA       #IMPLIED
   font                 CDATA       #IMPLIED
   css-style            CDATA       #IMPLIED
   style                NMTOKEN     #IMPLIED
   exstyle              NMTOKEN     #IMPLIED
>


<!ELEMENT bin-unit      (bin-source,bin-target?,(note|context-group|prop-group|trans-unit)*) >
<!ATTLIST bin-unit
   id                   NMTOKEN     #REQUIRED
   mime-type            NMTOKEN     #REQUIRED
   approved             (yes|no)    #IMPLIED
   translate            (yes|no)    "yes"
   reformat             (yes|no)    "yes"
   ts                   CDATA       #IMPLIED
   restype              CDATA       #IMPLIED
   resname              CDATA       #IMPLIED
   phase-name           CDATA       #IMPLIED
>

<!ELEMENT bin-source    (internal-file|external-file) >
<!ATTLIST bin-source
   ts                   CDATA       #IMPLIED
>

<!ELEMENT bin-target    (internal-file|external-file) >
<!ATTLIST bin-target
   mime-type            NMTOKEN     #IMPLIED
   ts                   CDATA       #IMPLIED
   state                NMTOKEN     #IMPLIED
   phase-name           NMTOKEN     #IMPLIED
   restype              CDATA       #IMPLIED
   resname              CDATA       #IMPLIED
>



<!-- ***************************************************************** -->
<!-- In-Line Elements                                                  -->
<!-- ***************************************************************** -->

<!ELEMENT g             (%TextContent;)* >
<!ATTLIST g
   id                   CDATA     #REQUIRED
   ctype                CDATA     #IMPLIED
   clone                (yes|no)  "yes"
   ts                   CDATA     #IMPLIED
>

<!ELEMENT x             EMPTY >
<!ATTLIST x
   id                   CDATA     #REQUIRED
   ctype                CDATA     #IMPLIED
   clone                (yes|no)  "yes"
   ts                   CDATA     #IMPLIED
>

<!ELEMENT bx            EMPTY >
<!ATTLIST bx
   id                   CDATA     #REQUIRED
   rid                  NMTOKEN   #IMPLIED
   ctype                CDATA     #IMPLIED
   clone                (yes|no)  "yes"
   ts                   CDATA     #IMPLIED
>

<!ELEMENT ex            EMPTY >
<!ATTLIST ex
   id                   CDATA     #REQUIRED
   rid                  NMTOKEN   #IMPLIED
   ts                   CDATA     #IMPLIED
>

<!ELEMENT ph            (%CodeContent;)* >
<!ATTLIST ph
   id                   CDATA     #REQUIRED
   ctype                CDATA     #IMPLIED
   ts                   CDATA     #IMPLIED
   crc                  NMTOKEN   #IMPLIED
   assoc                CDATA     #IMPLIED
>

<!ELEMENT bpt           (%CodeContent;)* >
<!ATTLIST bpt
   id                   CDATA     #REQUIRED
   rid                  NMTOKEN   #IMPLIED
   ctype                CDATA     #IMPLIED
   ts                   CDATA     #IMPLIED
   crc                  NMTOKEN   #IMPLIED
>

<!ELEMENT ept           (%CodeContent;)* >
<!ATTLIST ept
   id                   CDATA     #REQUIRED
   rid                  NMTOKEN   #IMPLIED
   ts                   CDATA     #IMPLIED
   crc                  NMTOKEN   #IMPLIED
>

<!ELEMENT it            (%CodeContent;)* >
<!ATTLIST it
   id                   CDATA     #REQUIRED
   pos                  (open|close) #REQUIRED
   rid                  NMTOKEN   #IMPLIED
   ctype                CDATA     #IMPLIED
   ts                   CDATA     #IMPLIED
   crc                  NMTOKEN   #IMPLIED
>

<!ELEMENT mrk           (%TextContent;)* >
<!ATTLIST mrk
   mtype                CDATA     #REQUIRED
   mid                  NMTOKEN   #IMPLIED
   comment              CDATA     #IMPLIED   
   ts                   CDATA     #IMPLIED
>

<!ELEMENT sub           (%TextContent;)* >
<!ATTLIST sub
   datatype             CDATA     #IMPLIED
   ctype                CDATA     #IMPLIED
>



<!-- ***** End of DTD ************************************************ -->




