
XLIFF Version 1.2
OASIS Standard
1 February 2008
Specification URIs:
This Version:
Previous Version:
Latest Version:
Latest Approved Version:
Technical Committee:
OASIS XML Localisation Interchange File Format (XLIFF) TC
Chair(s):
Bryan Schnabel < [email protected] >
Tony Jewtushenko < [email protected]>
Editor(s):
Yves Savourel < [email protected]>
John Reid <[email protected]>
Tony Jewtushenko < [email protected]>
Rodolfo M. Raya <[email protected]>
Related Work:
This specification replaces or supersedes:
Namespace:
urn:oasis:names:tc:xliff:document:1.2
Abstract:
This document defines the XML Localization Interchange File Format (XLIFF). The purpose of this vocabulary is to store localizable data and carry it from one step of the localization process to the other, while allowing interoperability between tools.
Status:
This document was last revised or approved by the XLIFF TC on the above date. The level of approval is also listed above. Check the current location noted above for possible later revisions of this document. This document is updated periodically on no particular schedule.
Technical Committee members should send comments on this specification to the Technical Committee's email list. Others should send comments to the Technical Committee by using the "Send A Comment" button on the Technical Committee' s web page at www.oasis-open.org/committees/xliff
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page ( http://www.oasis-open.org/committees/xliff/ipr.php).
The non-normative errata page for this specification is located at www.oasis-open.org/committees/xliff/
Notices
Copyright © OASIS® 1993 - 2007. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The names "OASIS" and "XLIFF" are trademarks of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.
Table of Contents
1. Introduction
2.1. Header
2.2. Body
2.3. Named Groups
2.4. Inline Elements
2.5. Extensibility
2.5.1. Adding Elements
2.5.2. Adding Attributes
2.5.3. Adding Attribute Values
2.5.4. Validating Documents with Extensions
2.6. Embedding XLIFF
2.7. Non equivalent translations
2.8. Grouping translations across <trans-unit> elements
2.9. Segmentation
3.1. XML Declaration
3.2. Elements
3.2.1. Top-level and Header Elements
3.2.2. Named Group Elements
3.2.3. Structural Elements
3.2.4. Inline Elements
3.2.5. Delimiter Element
3.3. Attributes
3.3.1. XLIFF Attributes
3.3.2. XML Namespace Attributes
B. Schema
C. Changes Since Previous Version (Non-Normative)
D. Naming Guidelines (Non-Normative)
E. XLIFF Technical Committee (Non-Normative)
F. References
XLIFF is the XML Localization Interchange File Format designed by a group of software providers, localization service providers, and localization tools providers. It is intended to give any software provider a single interchange file format that can be understood by any localization provider. It is loosely based on the OpenTag version 1.2 specification and borrows from the TMX 1.2 specification. However, it is different enough from either one to be its own format.
XLIFF is specified in two "flavors". Indicate which of these variants you are using by selecting the appropriate schema. The schema may be specified in the XLIFF document itself or in an OASIS catalog. The namespace is the same for both variants. Thus, if you want to validate the document, the tool used knows which variant you are using. Each variant has its own schema that defines which elements and attributes are allowed in certain circumstances.
As newer versions of XLIFF are approved, sometimes changes are made that render some elements, attributes or constructs in older versions obsolete. Obsolete items are deprecated and should not be used even though they are allowed. The XLIFF specification details which items are deprecated and what new constructs to use.
Transitional - Applications that produce older versions of XLIFF may still use deprecated items. Deprecated elements and attributes are allowed. Non-XLIFF items are validated only to ensure they are well-formed. Use this variant to validate XLIFF documents that you read.
      xsi:schemaLocation='urn:oasis:names:tc:xliff:document:1.2
      xliff-core-1.2-transitional.xsd'
Strict - All deprecated elements and attributes are not allowed. Obsolete items from previous versions of XLIFF are deprecated and should not be used when writing new XLIFF documents. In order for XLIFF documents with extensions to validate, the parser MUST find the schema for namespaced elements and attributes, and elements and attributes MUST be valid. Use this variant to validate XLIFF documents that you create.
      xsi:schemaLocation='urn:oasis:names:tc:xliff:document:1.2
      xliff-core-1.2-strict.xsd'
XLIFF is an XML application, as such it begins with an
    XML declaration. After the XML declaration comes the XLIFF document
    itself, enclosed within the <xliff> element. An XLIFF document is
    composed of one or more sections, each enclosed within a  <file> element. The <file> element consists of a <header> element, which contains
    metadata about the <file> , and a
    <body> element, which contains the
    extracted translatable data from the 
    <file>. The translatable data within <trans-unit> elements is
    organized into <source> and  <target> paired elements. These  <trans-unit> elements can be
    grouped recursively in  <group>
    elements.
In addition, XLIFF provides the ability to maintain
    information about the processing of the file via the 
    <phase> element. Possible translations for a
    specific <source> element can be
    generated from any number of MT (Machine Translation) and CAT (Computer
    Assisted Translation) systems and stored near the 
    <source> in 
    <alt-trans> elements. Context for a <source> that could be used by a
    translator or a TM (Translation Memory) system is provided by the <context> element. Binary data can
    be made available via the 
    <bin-unit>, which may also be translated and
    contain an associated 
    <trans-unit> .
It is strongly recommended that content within the
    <file> element be uniformly
    bilingual. In other words, each <source> and <target> element that is a child of
    <trans-unit> is of the same
    language as the source-language and target-language attributes of the
    <file> element, respectively. The
    xml:lang attribute should not be used
    in those elements. The exception is that 
    <source> and 
    <target> elements that are children of <alt-trans> may contain an  xml:lang attribute of a different language
    than that of the 
    source-language and 
    target-language attributes of the 
    <file> element.
<xliff version='1.2'
       xmlns='urn:oasis:names:tc:xliff:document:1.2'>
<file original='hello.txt' source-language='en' target-language='fr'
       datatype='plaintext'>
<body>
<trans-unit id='hi'>
<source>Hello world</source>
<target>Bonjour le monde</target>
<alt-trans>
<target xml:lang='es'>Hola mundo</target>
</alt-trans>
</trans-unit>
</body>
</file>
</xliff>
    The complete tree structure is available in Appendix A.
The XLIFF <header>
     contains metadata about the file and the localization process. It
    contains the  <skl>,  <phase-group>,  <glossary>,  <reference>,  <count-group>,  <tool>, 
    <prop-group>, and 
    <note> elements. The 
    <skl> element contains either a skeleton file of
    the file submitted for localization or a hypertext link to that file.
The 
    <phase-group> element contains information about
    each processing phase used in localizing the file; references to these
    phases are stored along with the translations. The 
    <glossary> and 
    <reference> elements may contain hypertext links to
    a glossary and reference file, respectively, or the actual glossary and
    reference data that can be used in the localization process.
The 
    <count-group> element is a grouping element of
    count information of the entire file. The 
    <prop-group> element (deprecated) contains
    tool-specific information used in combining the data with the skeleton
    file or storing the data in a repository. The 
    <note> element contains instructions for the
    localization process. The 
    <count-group>, 
    <prop-group>, and 
    <note> elements can also appear in the body of the
    file.
The XLIFF <body>
    contains the structure and the localizable content from the file. It
    contains the  <group>, <trans-unit> and <bin-unit> elements. The structure
    is described using the  <group>,
     <trans-unit>,  <bin-unit> elements. The  <group> element is a general purpose
    structural element used in describing the hierarchy of the file; it can
    contain other <group> elements as
    children as well as <trans-unit> and <bin-unit> elements.
The <trans-unit>  and <bin-unit> elements contain the
    translatable portions of the document. The 
    <trans-unit> element contains the text to be
    translated, the translations, and other related information. The <bin-unit> contains binary data
    that may or may not need to be translated; it also can contain translated
    versions of the binary object as well as other related information.
In the 
    <trans-unit> element the text to be translated is
    contained in a <source> element.
    This element may contain inline elements that either remove the codes from
    the source (<g>, 
    <x/>, <bx/> ,
    <ex/>) or that mask off codes left
    inline (<bpt>, 
    <ept>, <sub>
    , <it>, 
    <ph>). The translated text is contained in a <target> element that has the same
    inline codes available to it as does the 
    <source> element. Translation matches generated by
    a TM or MT or entered by a translator may be provided in an  <alt-trans> element, which also
    contains the <source> and  <target> elements.
At every structural level contextual information for the
    localization process can be provided by the 
    <context-group> named group element, count
    information by the 
    <count-group> named group element, and tool-specific
    information by the <prop-group>
     named group element (deprecated).
XLIFF allows grouping of certain elements into named
    groups. A named group is simply a grouping element with a name attribute.
    These named groups can be interspersed throughout the file with
    information designed for specific purposes. Using XML processing
    instructions different actions can be performed with specific named
    groups. The named group elements are <context-group>, <count-group> and  <prop-group> (deprecated).
The 
    <count-group> element contains counts of words,
    translations, dialogs, or anything else that may need to be counted in the
    file. A different named group could be stored by the client, translator,
    reviewer, and localization engineer. Processing instructions could inform
    a system which of these <count-group> to update during
    the localization process.
The <prop-group>  element contains
    tool specific data that can be used in creating the translated file,
    storing the translations, and any other specific task. Processing
    instructions can indicate to the tools which named <prop-group> to use when
    updating the repository or combining the localized data with the skeleton
    file to create a translated file. Note that the 
    <prop-group> has been deprecated since version
    1.1.
The content of the 
    <source> and the 
    <target> elements can include one or more inline elements
    (also called "content markup"). Those elements are used to represent codes
    that reside within the source or target text, for example the formatting
    codes to mark a section of a sentence in bold.
There are three different types of inline elements:
<bpt>,
      <ept>, 
      <it>, and <ph>
      .<g>,  <bx/>, <ex/> , and <x/>.<sub> element, which can
      be inside <bpt>, <ept>, 
      <it>, and <ph>  to
      delimit a translatable run of text within a native inline code, for
      example the value of an ALT attribute in a
      <IMG> element in HTML.The first two types of inline elements can be classified into three main categories depending on their function, and regardless the method they use to hold the native codes:
A) Codes that either begin or end an instruction, and
    whose beginning and ending functions both appear within a translation
    unit. For example, an instruction to begin embolden for a range of words
    which is then followed in the same translation unit by an instruction to
    end bold formatting. The elements that can handle such cases are:  <bpt>, <ept>, <g>, 
    <bx/>, and <ex/>
    .
B) Codes that either begin or end an instruction, but
    whose beginning and ending functions are not both contained within a
    single translation unit. For example, an instruction to embolden text may
    apply to the first of three sentences in a paragraph contained within a
    single translation unit, but the instruction to turn off bolding may only
    appear at the end of the third sentence. Its beginning instruction is
    present in the first translation unit, while its closing tag is present in
    the third translation unit. The elements that can handle such cases are:
    <it>  and <x/>.
C) Codes that represent self-contained functions that do
    not require explicit ending instructions. Images or cross-reference tokens
    are examples of these standalone codes. The elements that can handle such
    cases are: <ph> and  <x/>.
The guidelines for using the inline elements are as follows:
 <bpt> or  <bx/> for opening each code that has a
      corresponding closing code in the content. Use 
      <bpt> to mask the code and 
      <bx/> to replace the code. The 
      <bpt> and  <bx/> 
      elements should be followed by a matching 
      <ept> or  <ex/> 
      element, respectively, within the same translation unit. These paired
      elements are matched by setting their 
      rid attributes to the same value. For example: <bpt
      id='2' rid='1'>xx</bpt> ... <ept id='3'
      rid='1'>xx</ept> and <bx id='4' rid='2'/>
      ... <ex id='5' rid='2'/>. If the rid attribute is not present (in a 1.0 document
      for example), the attribute id is used to
      match both tags. For example: <bpt id='5'>xx</bpt> ...
      <ept id='5'>xx</ept>. <ept> or  <ex/> for closing each code that has a
      corresponding opening code in the content. Use 
      <ept> to mask the code and 
      <ex/> to replace the code. The 
      <ept> and <ex/> 
      elements should be preceded by a matching 
      <bpt> and <bx/> 
      element, respectively. These paired elements are matched by setting
      their rid attributes to the same value.
      For example: <bpt id='2' rid='1'>xx</bpt> ... <ept
      id='3' rid='1'>xx</ept> and <bx id='4'
      rid='2'/> ... <ex id='5' rid='2'/>. If the rid attribute is not present (in a 1.0 document
      for example), the attribute id is used to
      match both tags. For example: <bpt id='5'>xx</bpt> ...
      <ept id='5'>xx</ept>. <g> to replace any inline
      code of the original document that has a beginning and an end and can be
      moved within its parent structural element. <ph> or  <x/> for standalone codes. Use  <ph> to mask the code and  <x/> to replace the code. Standalone codes
      are codes that are not opening or closing of a pair, for example empty
      elements in XML. <it> for opening or
      closing each code that has no corresponding closing or opening code in
      the source element. In some cases, because of the segmentation, you may
      have opening and closing codes that have no corresponding closing or
      opening codes within the same translation unit. Use 
      <it> to encapsulate those codes. The <it> element has a mandatory pos attribute that should be set to
      "begin" or "end" depending on whether the
      isolated code is an opening or a closing code. xid attribute of the
       <bx/>, 
      <ex/> and  <x/>
      elements to relate a 
      <trans-unit> or 
      <bin-unit> that contains the content of that replaced
      code.<ph> tags instead of <x/>.As XLIFF inline elements are closely related to TMX inline elements, further examples of usage of these tags may be found in their specification's Content Markup section.
Inline elements are normally treated as being
    transparent with regard to lexical processing such as segmentation or word
    tokenisation. If the inline element also represents a lexical function,
    such as implying spacial characteristics or a string of characters or
    symbols, then the equiv-text
    attribute must be used to denote any such lexical characteristics.
For example:
<p>This HTML break element<br/>is not followed by a white space character</p>
    
    is represented in an XLIFF document as:
<source>This HTML break element<x id="x1" ctype="x-html-br" equiv-text=" "/>is not followed
by a white space character.</source>
    
    At times, it may be useful to extend the set of
    information available in an XLIFF document by inserting constructs defined
    in various other XML vocabularies. You can add non-XLIFF elements, as well
    as attributes and attribute values. Adding elements and attributes use the
    namespace mechanism [ XML Names]. Adding
    attribute values generally involves preceding the value by an
    "x-" (e.g. <context
    context-type='x-for-engineers'>).
Although XLIFF offers this extensibility mechanism, in order to avoid a nimiety of information and increase interoperability between tools, it is strongly recommended to use XLIFF capabilities whenever possible, rather than to create non-standard user-defined elements or attributes.
XLIFF provides several extension points in the following
    elements: <alt-trans>,
    <bin-unit>, <group>, 
    <header>,  
    <tool>, 
    <trans-unit>, and 
    <xliff>.
Several non-XLIFF elements can be used at each extension point. The content of each element can be any valid XML content (empty content, PCDATA, mixed content, and so forth).
For example, the following XLIFF code shows how to add user-defined elements (in bold) within an XLIFF document:
<xliff version='1.2'
             xmlns='urn:oasis:names:tc:xliff:document:1.2'
             xmlns:sup='http://www.ChaucerState.ac.pg/Frm/XLFSup-v1'>
<file original='passus-1.doc' source-language='enm' datatype='plaintext'>
<group>
<sup:SourceInfo>
<sup:Book>Piers Plowman, Passus 1</sup:Book>
<sup:Author>William Langland</sup:Author>
</sup:SourceInfo>
<sup:WorkInfo Task='transcription' Context='Middle-English:1360'/> 
<trans-unit id='1'>
<source xml:lang='enm'>What this mountaigne bymeneth</source>
<target xml:lang='en'>What this mountain means</target>
<sup:Reference Type='strophe'>1-a</sup:Reference> 
</trans-unit>
<trans-unit id='2'>
<source xml:lang='enm'>and the merke dale</source>
<target xml:lang='en'>and the dark dale</target>
<sup:Reference Type='strophe'>1-b</sup:Reference> 
</trans-unit>
<trans-unit id='3'>
<source xml:lang='enm'>And the feld ful of folk</source>
<target xml:lang='en'>And the field full of folk</target>
<sup:Reference Type='strophe'>2-a</sup:Reference>
</trans-unit>
<trans-unit id='4'>
<source xml:lang='enm'>I shal yow faire shewe.</source>
<target xml:lang='en'>I fairly will show.</target>
<sup:Reference Type='strophe'>2-b</sup:Reference>
</trans-unit>
</group>
</file>
</xliff>
    The non-XLIFF elements used in the example above would be defined as the following:
<xsd:schema targetNamespace="XLFSup-v1"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:sup="http://www.ChaucerState.ac.pg/Frm/XLFSup-v1"
            elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="SourceInfo">
<xsd:complexType>
 <xsd:sequence maxOccurs="unbounded">
<xsd:element name="Book" type="xsd:string"/>
<xsd:element name="Author" type="xsd:string"/>
</xsd:sequence>
 </xsd:complexType>
</xsd:element>
<xsd:element name="WorkInfo">
<xsd:complexType>
<xsd:attribute name="Task" type="xsd:string"/>
<xsd:attribute name="Context" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Reference">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">Struct_InLine
<xsd:attribute name="Type" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
    It is not possible to add non-XLIFF elements in either
    the  <source> or  <target> elements. However, the <mrk> element can be used to markup sections
    of the text with user-defined values assigned to the 
    mtype attribute. You can also add non-XLIFF attributes to
    most of the inline elements used in 
    <source> and 
    <target>.
Attributes of a namespace different than XLIFF can be included in several XLIFF elements.
The following elements allow non-XLIFF attributes: <alt-trans>, <bin-source>,  <bin-target>,  <bin-unit>, <bpt>, 
    <bx/>, <ept>
    , <ex/>, 
    <file>,  <g>
    , <group>, 
    <it>, <mrk> ,
     <ph>, 
    <seg-source>, 
    <source>, 
    <target>, 
    <tool>, 
    <trans-unit>, 
    <x/>, and 
    <xliff>.
For instance, the following XLIFF code illustrates how
    to use attributes from the XHTML vocabulary (in bold) in the  <group> and 
    <trans-unit> XLIFF elements. The example shows how
    to carry formatting information about an extracted table:
<xliff version='1.2'
            xmlns='urn:oasis:names:tc:xliff:document:1.2'
            xmlns:htm='http://www.w3.org/1999/xhtml'>
<file original='table.htm' source-language='en' datatype='html'>
<group restype='table' htm:border='1' htm:cellpadding='5'
htm:cellspacing='0' htm:width='100%'>
<group restype='row'>
<trans-unit id='1' htm:valign='top' htm:width='30%'>
<source>Text of row 1 column 1</source>
</trans-unit>
<trans-unit id='2' htm:valign='top' htm:width='30%'>
<source>Text of row 1 column 2</source>
</trans-unit>
 </group>
<group restype='row'>
<trans-unit id='3' htm:valign='top' htm:width='30%'>
<source>Text of row 2 column 1</source>
</trans-unit>
<trans-unit id='4' htm:valign='top' htm:width='30%'>
<source>Text of row 2 column 2</source>
</trans-unit>
</group>
</group>
</file>
</xliff>
    In each of the XLIFF elements allowing non-XLIFF attributes: there is no specific location where to insert the non-XLIFF attributes, and there is no limit to the number of non-XLIFF attributes that can be used.
Many attributes in XLIFF offer a list of enumerated values. Some applications may find it necessary to add user-defined values to these lists. XLIFF allows for such extension.
The attributes where the list of values can be extended
    are the following: alttranstype,
    context-type, count-type, 
    ctype, datatype,   mtype, 
    purpose, reformat,
    restype, size-unit, 
    state, state-qualifier
    , and unit .
User-defined values must start with an "x-"
    prefix. There is no specified mechanism to validate individual
    user-defined values. The XLIFF schema will allow any value starting with
    "x-" in addition to the pre-defined values.
For example, the following excerpt shows how the
    user-defined value x-for-engineer can be utilized in a
    document:
... <group> <context-group name='EngineersData'> <context context-type='x-for-engineers'>Data...</context> ...
In order to validate an XLIFF document that contains
    non-XLIFF parts, you can use the schema validation mechanism: In addition
    to the namespace declarations, add the schemaLocation
    attribute of the XML Schema-instance namespace to define what schemas to
    use to validate the document (XLIFF and the non-XLIFF namespaces).
Note: XLIFF 1.2 XML Schemas set the attribute
    processContents to value "skip", so the only
    validation requirement for non-XLIFF content is to ensure it is
    well-formed.
<xliff version='1.2'
        xmlns='urn:oasis:names:tc:xliff:document:1.2'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='
 urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2.xsd
 http://www.ChaucerState.ac.pg/Frm/XLFSup-v1 XLFSup-v1.xsd'
>
...
</xliff>
    See http://www.w3.org/XML/Schema for more information on XML Schema and validation.
XML Namespace provides a convenient mechanism to use XLIFF constructs within another XML vocabulary.
If necessary an XLIFF document, or parts of a document, can be embedded within another XML document. The only requirement for this is on the side of the XML format that includes the XLIFF data. For the document to be valid, the schema of the given document type must include a definition for external elements.
If the including XML format uses XML Schema, it should
    include an <any> element in the definition of the
    element where the XLIFF data can be inserted. For example, the following
    XSD excerpt illustrates the case of an element type
    dataBlockType that can contain zero, one or more XLIFF
    constructs after a mandatory <type> element:
... <xsd:complexType name="dataBlockType"> <xsd:sequence> <xsd:element name="type" type="string" minOccurs="0"/> <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> ...
The ways of inserting different vocabulary in an XML document using XSD are described in section "Any Element, Any Attribute" in the document "XML Schema Part 0: Primer" available here: http://www.w3.org/TR/xmlschema-0/#any.
Linguistically complete text may have to be broken into
    a number of <trans-unit>
    elements due to message size constraints or other reasons. In these
    instances the translator is not providing an equivalent translation for
    each <source>, but rather fitting
    in the target language text over a number of 
    <trans-unit> 
    <source> / 
    <target> pair elements to meet the requirements of
    the target application.
Example:
<trans-unit id="t1"> <source>Constrained text for limited</source> <target>Tekst angielski dla</target> </trans-unit> <trans-unit id="t2"> <source>display for English</source> <target>ograniczonego pola</target> </trans-unit>
In this circumstance the 
    equiv-trans attribute for the 
    <target> element is used to denote that the translation
    should not be regarded as a direct translation of the  <source> element. The attribute is
    optional, and default value is "yes". The other possible
    value will be "no" to indicate that the translation in  <target> for the given 
    <source> is not a direct equivalent linguistically of the
    source language text. The following example demonstrates the use of the
     equiv-trans attribute:
<trans-unit id="t1"> <source>Constrained text for limited</source> <target equiv-trans="no">Tekst angielski dla</target> </trans-unit> <trans-unit id="t2"> <source>display for English</source> <target equiv-trans="no">ograniczonego pola</target> </trans-unit>
<trans-unit> elementsIt is inevitable that individual XLIFF <trans-unit> elements may not
    represent a piece of text that can be translated without reference to one
    or more following <trans-unit> elements. The causes for
    this may be incorrect segmentation or bad document design.
Example:
<trans-unit id="t1"> <source>The German acronym v.</source> <target>Niemiecki skrót v. OT oznacza górną pozycję silnika.</target> </trans-unit> <trans-unit id="t2"> <source> OT signifies the top dead center position for an engine.</source> <target/> </trans-unit>
In these cases the 
    merged-trans attribute for the 
    <group> element can be used to denote that the individual
    <trans-unit> elements cannot
    be regarded as a direct translation, but rather need to be treated
    linguistically as a merged group. This attribute has two possible values:
    "yes" or "no". The default value is
    "no". A value of "yes" indicates that the
    <trans-unit> elements
    contained within this <group>
    element are to be treated together for linguistic purposes. All <trans-unit> elements that are
    encompassed by a <group> element
    that has its merged-trans
    attribute set to "yes" normally have their related <target> 
    equiv-trans attribute set to the value of "no".
    The text of all of the <source>
    and <target> elements taken
    together form one linguistic whole. No requirements are made regarding the
    distribution of the translation in the 
    <target> elements. This will be governed by the
    requirements of the individual applications. The translated text may be
    placed within the first <target>
    element leaving the following <target>
     elements blank, or distributed among the 
    <target> elements contained within the merged-trans attribute of the   <group> element. The following example
    demonstrates the use of the 
    merged-trans attribute for the 
    <group> element:
<group merged-trans="yes"> <trans-unit id="t1"> <source>The German acronym v.</source> <target equiv-trans="no">Niemiecki skrót v. OT oznacza górną pozycję silnika.</target> </trans-unit> <trans-unit id="t2"> <source> OT signifies the top dead center position for an engine.</source> <target equiv-trans="no"/> </trans-unit> </group>
During some operations, such as translation and
    leveraging, it may be important for the user agent to break down the
    content of the <source> into
    smaller runs of text (for example, sentences). These smaller parts of text
    are called segments. The process of breaking down a text into
    segments is known as segmentation. It is important to note that
    the manipulation / segmentation of trans-unit elements is owned by the
    "translator" domain, not at the extraction filter domain. This means that
    segmentation will be performed by the editing tool or possibly an
    automated segmentation process.
In order to avoid modifying the content of the original
    <source> element, during
    segmentation a new element 
    <seg-source> is introduced. The content of the <seg-source> element is the same as
    the content of the <source>
    element, but with segmentation markup. The segmentation markup is also
    transferred to the <target>
    element as applicable during translation.
Each segment inside the 
    <seg-source> and 
    <target> content is represented using the <mrk> element with attribute mtype set to the value "seg". For
    example the following <source> 
    element contains three segments. After segmentation the content may look
    as follows:
<source>Richard stepped out of the kitchen hut. He noticed a movement from the corner of his eye. A monkey had climbed on top of one of the workshop sheds, trying to get in by the ventilation shaft.</source> <seg-source><mrk mtype="seg">Richard stepped out of the kitchen hut.</mrk> <mrk mtype="seg">He noticed a movement from the corner of his eye.</mrk> <mrk mtype="seg">A monkey had climbed on top of one of the workshop sheds, trying to get in by the ventilation shaft.</mrk> </seg-source>
Note that it may be advisable for XLIFF processing tools to add any missing opening or closing tags when exporting standalone segments outside the original XLIFF document.
Non-clonable <g> elements introduce a problem for localisation in general and segmentation in particular when the non-clonable <g> elements content spans more than single words or isolated expressions. In this form they represent localisation-unfriendly content and are very likely to cause difficulties during translation. Being able to break a segment inside such an element may be the smallest of the problems that tools would be faced with. A non-clonable <g> element clearly represents a piece of content that must be translated as one piece, and cannot be segmented.
Example: This example shows how content with clonable <g> may be localised:
<source>This is a <g>sentence. It has</g> markup.</source>
    The translation into "Yoda-English" would be:
<target>A <g>sentence</g> this is. Markup <g>it has</g>.</target>
In this example the <g> element is clonable, and can be localised correctly. However, in the case where cloning is not possible, the resulting content cannot be correctly localised, and is in fact irrespective of whether segments are introduced here or not.
If matching segments need to be identified between
    <seg-source> and <target>, and/or between <seg-source> content and corresponding
    <alt-trans> units, the
    mid attribute should be used for this
    purpose.
Example: This example shows how corresponding
    segments are referenced between 
    <seg-source> and <target> elements in
    a <trans-unit>.
<trans-unit id= "1"> <source>First sentence.Second sentence.</source> <seg-source> <mrk mtype="seg" mid="1">First sentence.</mrk> <mrk mtype="seg" mid="2">Second sentence.</mrk> </seg-source> <target> <mrk mtype="seg" mid="1">Translated first sentence.</mrk> <mrk mtype="seg" mid="2">Translated second sentence.</mrk> </target> </trans-unit>
Example: In the following <trans-unit> the <alt-trans> represents a 75% fuzzy
    match for the second segment in the 
    <seg-source>. This is indicated by introducing the 
    mid="2" attribute on the <alt-trans>.
<trans-unit id= "2"> <source>First sentence.Second sentence.</source> <seg-source> <mrk mtype="seg" mid="1">First sentence.</mrk> <mrk mtype="seg" mid="2">Second sentence.</mrk> </seg-source> <alt-trans mid="2" match-quality="75%"> <source>The second sentence.</source> <target>The translated second sentence.</target> </alt-trans> </trans-unit>
Example: An 
    <alt-trans> element may also have segmented content:
<trans-unit id="3"> <source>The second sentence.</source> <alt-trans match-quality="50%"> <source>First sentence. Second sentence.</source> <seg-source> <mrk mtype="seg" mid="1">First sentence.</mrk> <mrk mtype="seg" mid="2">Second sentence.</mrk> </seg-source> <target> <mrk mtype="seg" mid="1">Translated first sentence.</mrk> <mrk mtype="seg" mid="2">Translated second sentence.</mrk> </target> </alt-trans> </trans-unit>
The XML declaration is strongly recommended. It indicates the XML version and sets the defaults for the encoding of the file. For example, the following declaration specifies the document is in ISO 8859-1, the Latin-1 encoding.
<?xml version="1.0" encoding="iso-8859-1"?>
As in all XML files, the default encoding for an XLIFF file is assumed to be either UTF-8, which is a superset of the 7-bit ASCII character set, or UTF-16, which is UCS-2 with surrogate pairs for code points above U+FFFF. Thus, for these character sets, the encoding declaration is not necessary. Further, all XML parsers support these encodings. If the encoding is in UTF-16 the first character of the file must be the Unicode Byte-Order-Mark, U+FEFF, which indicates the endianness of the file. Other encodings may be desirable and may be generally supported by XML parsers. These must be declared using the encoding declaration. The values to use for the encoding declaration are defined in the [IANA Charsets] listing.
If necessary, you can also specify a namespace for
    XLIFF. The namespace identifier for this standard is
    "urn:oasis:names:tc:xliff:document:1.2".
A minimal XLIFF document with one entry looks something like this:
<?xml version="1.0"?> <xliff version="1.2"> <file source-language="EN" datatype="plaintext" original="file.ext"> <body> <trans-unit id="1"> <source>Hello World!</source> </trans-unit> </body> </file> </xliff>
If you need to validate the document, use the schema
    validation mechanism: In addition to the namespace declarations, add the
    schemaLocation attribute of the XML Schema-instance namespace
    to define what schema files to use. The same example as above would then
    look like this:
<?xml version="1.0"?>
<xliff version='1.2'
             xmlns='urn:oasis:names:tc:xliff:document:1.2'
             xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
             xsi:schemaLocation='
             urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2.xsd'>
<file source-language="EN" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>Hello World!</source>
</trans-unit>
</body>
</file>
</xliff>
    If a document of a previous compatible version of XLIFF is to be validated with the schema of a newer version, the document should use the same mechanism.
For validating documents that include non-XLIFF namespaces see the section Validating Documents with Extensions.
XLIFF elements can be divided into five main categories: the top-level and header elements, the named group elements, the structural elements, the inline elements, and the delimiter elements. Attributes are shared among them.
| Top Level and Header elements | 
          <xliff>, 
          <file>, 
          <header>, 
          <skl>, 
          <external-file>, 
          <internal-file>, <glossary>, <reference> ,  <phase-group>,  <phase>, <tool>, <note>. | 
        
| Named Group Elements | 
          <context-group>, <context>, <count-group> , <count>, <prop-group> , <prop>. | 
        
| Structural elements | 
          <body>, 
          <group>, 
          <trans-unit>, 
          <source>, 
          <target>, 
          <bin-unit>, 
          <bin-source>, <bin-target> ,  <alt-trans> . | 
        
| Inline elements | 
          <g>, 
          <x/>, 
          <bx/>, 
          <ex/>, 
          <bpt>, 
          <ept>, 
          <sub>, 
          <it>, 
          <ph>. | 
        
| Delimiter element | 
          <mrk>. | 
        
The top-level and header elements are the following:
XLIFF document - The <xliff>
    element encloses all the other elements of the document. The required version attribute specifies the version
    of XLIFF. The optional xml:lang 
    attribute is used to specify the language of the content of the
    document.
Required attributes:
Optional attributes:
xml:lang, non-XLIFF
    attributes
Contents:
One or more <file>
    elements, followed by 
 Zero, one or more non-XLIFF elements.
File - The <file> element
    corresponds to a single extracted original document. The required original attribute specifies the name of
    the file from which this file content is derived. The required datatype attribute specifies the format
    of the original file; e.g. "html". The required source-language attribute
    specifies the language of the 
    <source> content. The optional target-language attribute is used
    to specify the language of the 
    <target> content. The optional 
    tool-id attribute accepts the id of the <tool> used to generate this
    XLIFF document. The optional date
    attribute is used to specify the creation date of this XLIFF file. The
    optional xml:space attribute is used
    to specify how white-spaces are to be treated. The optional  category attribute is used to specify a
    general category of the content of the file; e.g. "medical". The optional
     product-name attribute is used
    to specify the name of the product which uses this file. The optional  product-version and  build-num attributes are used to
    specify the revision of the product from which this file comes. The tool  and ts
    attributes have been deprecated in XLIFF 1.1.
Required attributes:
original,  source-language, 
    datatype.
Optional attributes:
tool, tool-id, 
    date, xml:space,  ts, 
    category, 
    target-language, 
    product-name, 
    product-version, 
    build-num, non-XLIFF attributes
Contents:
Zero or one <header> element, followed by
    One <body>  element.
File header - The <header>
    element contains metadata relating to the 
    <file> element.
Required attributes:
None.
Optional attributes:
None.
Contents:
zero or one <skl>
    element, followed by 
 zero or one <phase-group>  element,
    followed by
 zero, one or more 
    <glossary>, 
    <reference>, 
    <count-group>, 
    <prop-group>, 
    <note>, 
    <tool> elements, in any order, followed by
    Zero, one or more non-XLIFF elements.
While for backward compatibility reasons no order is enforced for the elements before the non-XLIFF elements, the recommended order is the one in which they are listed here.
Skeleton file - The <skl>
    element contains the skeleton file or the location of the skeleton file.
    The skeleton file is a template that can be used in recreating the
    original file, from the <source>
    content, or the translated file, from the <target>  content.
Required attributes:
None.
Optional attributes:
None
Contents:
Either exactly one 
    <internal-file> or one 
    <external-file> element.
Internal file - The
    <internal-file> element contains the actual file being
    referenced. It is a child of the <skl> , <glossary>, and <reference> elements. The format
    of the file is specified by the optional 
    form attribute, which accepts mime-type values. The crc attribute accepts a value that can be
    used to precisely identify and assure the authenticity of the file.
Required attributes:
None.
Optional attributes:
Contents:
An embedded file.
External file - The
    <external-file> element specifies the location of the
    actual file being referenced. The required 
    href attribute provides a URI to the file. The crc attribute accepts a value that can be
    used to precisely identify and assure the authenticity of the file. The uid attribute allows a unique ID to be
    assigned to the file.
Required attributes:
href.
Optional attributes:
Contents:
The <external-file> is an empty element,
    including attributes only.
Glossary - The <glossary>
    element points to or contains a glossary, which can be used in the
    localization of the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
The glossary description and either exactly one <internal-file> or one <external-file> element.
Reference - The <reference>
    element points to or contains reference material, which can aid in the
    localization of the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
A description of the reference material and either exactly
    one <internal-file> or one
    <external-file>
    element.
Note - The <note> element is
    used to add localization-related comments to the XLIFF document. The
    content of  <note> may be instructions from developers
    about how to handle the  <source>, comments from the translator
    about the translation, or any comment from anyone involved in processing
    the XLIFF file. The optional 
    xml:lang attribute specifies the language of the note
    content. The optional from attribute
    indicates who entered the note. The optional 
    priority attribute allows a priority from 1 (high) to 10
    (low) to be assigned to the note. The optional 
    annotates attribute indicates if the note is a general note or,
    in the case of a <trans-unit>, pertains specifically to
    the <source>  or the <target> element.
Required attributes:
None.
Optional attributes:
xml:lang,  from, 
    priority, annotates
    .
Contents:
Text, no standard elements.
Phase group - The
    <phase-group> element contains information about the
    task that has been performed on the file. This phase information is
    specific to the tools and workflow used in processing the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
One or more <phase>
    elements.
Phase information - The
    <phase> element contains metadata about the tasks
    performed in a particular process. The required phase-name attribute uniquely
    identifies the phase for reference within the 
    <file> element. The required 
    process-name attribute identifies the kind of process the
    phase corresponds to; e.g. "proofreading". The optional company-name attribute identifies
    the company performing the task. The optional tool-id attribute references the <tool> used in performing the
    task. The optional date attribute
    provides a timestamp indicating when the task was performed. The optional
    job-id attribute allows an ID to be
    assigned to the job. The optional 
    contact-name, 
    contact-email, and 
    contact-phone attributes all refer to the person performing the
    task.
Required attributes:
Optional attributes:
company-name, tool, 
    tool-id, date, job-id, 
    contact-name, 
    contact-email, 
    contact-phone.
Contents:
Zero, one or more <note> elements.
Tool - The <tool> element
    describes the tool that has been used to execute a given task in the
    document. The required tool-id
    attribute uniquely identifies the tool for reference within the  <file> element. The required  tool-name attribute specifies the actual
    tool name. The optional tool-version
    attribute provides the version of the tool. The optional  tool-company attribute provides the name
    of the company that produced the tool.
Required attributes:
Optional attributes:
tool-version,
    tool-company, non-XLIFF
    attributes
Contents:
Zero, one or more non-XLIFF elements.
The named group elements are the following:
Count group - The
    <count-group> element holds count elements relating to
    the level in the tree in which it occurs. Each group for <count> elements must be named, allowing
    different uses for each group. The required name attribute uniquely identifies the
    <count-group> within the 
    <file> element.
Required attributes:
name.
Optional attributes:
None.
Contents:
One or more <count>
    elements.
Count - The <count> element
    contains information about counts. For each <count>
    element the required count-type
    attribute indicates what kind of count the element represents, and the
    optional unit attribute indicates the
    unit of the count (by default: word). A list of values for count-type and  
    unit is provided. The optional 
    phase-name attribute references the 
    <phase> in which the count was produced.
Required attributes:
Optional attributes:
Contents:
Number (the count value).
Context group - The
    <context-group> element holds context elements relating
    to the level in the tree in which it occurs. Thus context can be set at a
    <group> level, a <trans-unit> level, or a  <alt-trans> level. Each
    <context-group> element may be named, allowing
    different uses for each group. When the <context-group> is named,
    these uses can be controlled through the use of XML processing
    instructions. Because the <context-group> element may
    occur at a very high level, a default context can be established for all
     <trans-unit> elements within
    a file. This default can be overridden at many subsequent levels. The
    optional name attribute may uniquely
    identify the <context-group> within the  <file> element. The optional  crc attribute allows a verification of the data.
    The optional purpose attribute
    indicates to what use this context information is used; e.g. "match"
    indicates the context information is for memory lookups.
Required attributes:
None.
Optional attributes:
Contents:
One or more <context>
     elements.
Context - The <context>
    element describes the context of a <source>  within a <trans-unit>  or a  <alt-trans>. The purpose of this
    context information is to allow certain pieces of text to have different
    translations depending on where they came from. The translation of a piece
    of text may differ if it is a web form or a dialog or an Oracle form or a
    Lotus form for example. This information is thus required by a translator
    when working on the file. Likewise, the information may be used by any
    tool proposing to automatically leverage the text successfully.
The required 
    context-type attribute indicates what the context information
    is; e.g. "recordtitle" indicates the name of a record in a database. The
    optional match-mandatory
    attribute indicates that translations of the 
    <source> elements within the scope of this context must
    have the same context. The optional crc
    attribute allows a verification of the data.
Required attributes:
Optional attributes:
Contents:
Text, no standard elements.
Property group - The
    <prop-group> element contains <prop> elements. Each 
    <prop-group> element may be named, allowing different uses
    for each group. These uses can be controlled through the use of XML
    processing instructions.
Important: The <prop-group> element
    was DEPRECATED in version 1.1. Instead, use attributes defined in a
    namespace different from XLIFF. See the 
    Extensibility section for more information.
Required attributes:
None.
Optional attributes:
name.
Contents:
One or more <prop>
    elements.
Property - The <prop> element
    allows the tools to specify non-standard information in the XLIFF
    document. This information can be used by the tools that have produced the
    file or that translate the file or that do any other amount of processing
    specific to the producer.
Important: The <prop> element was
    DEPRECATED in version 1.1. Instead, use attributes defined in a namespace
    different from XLIFF. See the 
    Extensibility section for more information.
Required attributes:
Optional attributes:
Contents:
Tool-specific data or text, no standard elements.
The structural elements specify the frame of a XLIFF
    document as well as contextual and processing information. The  <source> element contains the
    extracted data and, possibly,  inline
    elements.
File body - The <body> element
    contains the content from the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
Zero, one or more <group> , <trans-unit>,  <bin-unit> elements, in any
    order.
Group - The <group> element
    specifies a set of elements that should be processed together. For
    example: all the items of a menu, etc. Note that a
    <group> element can contain other 
    <group> elements. The <group> element can
    be used to describe the hierarchy of the file.
The optional id attribute
    is used to uniquely identify the <group> within the
    same <file>. The optional datatype attribute specifies the data type of
    the content of the <group>; e.g. "winres" for Windows
    resources. The optional xml:space 
    attribute is used to specify how white-spaces are to be treated within the
    <group>. The optional 
    restype, resname,  extradata, help-id, menu
    , menu-option, menu-name, 
    coord, font, css-style, 
    style, exstyle, and
    extype attributes describe the
    resources contained within the <group>. The optional
    translate attribute provides a default value for all
    <trans-unit> elements contained within the
    <group>. The optional 
    reformat attribute specifies whether and which attributes can
    be modified for the <target>
    elements of the <group>. The optional maxbytes and 
    minbytes attributes specify the required maximum and minimum
    number of bytes for the translation units within the
    <group>. The optional 
    size-unit attribute determines the unit for the optional
    maxheight, minheight, 
    maxwidth, and minwidth
    attributes, which limit the size of the resource described by the
    <group>. The optional 
    charclass attribute restricts all translation units in the
    scope of the <group> to a subset of characters. The
    optional merged-trans  attribute
    indicates if the group element contains merged  <trans-unit> elements.
    The optional ts attribute was DEPRECATED in
    XLIFF 1.1. Lists of values for the datatype, restype, and size-unit attributes are provided by this
    specification.
Required attributes:
None.
Optional attributes:
id,  datatype, xml:space, ts, 
    restype, resname,  extradata, help-id, 
    menu, menu-option
    , menu-name, 
    coord, font, css-style, 
    style, exstyle, extype, 
    translate,  reformat
    , maxbytes, minbytes,  
    size-unit,  maxheight,  minheight, 
    maxwidth , minwidth, charclass, merged-trans, non-XLIFF
    attributes
Contents:
Zero, one or more 
    <context-group> elements, followed by
 Zero, one or
    more <count-group> elements,
    followed by
 Zero, one or more 
    <prop-group> elements, followed by
 Zero, one
    or more <note> elements, followed
    by
 Zero, one or more non-XLIFF elements, followed by
 Zero, one
    or more <group>, <trans-unit>, <bin-unit> elements, in any
    order.
All 
    <context-group>, 
    <count-group>, 
    <prop-group>, 
    <note> and non-XLIFF elements pertain to the
    subsequent elements in the tree but can be overridden within a child
    element.
Translation unit - The
    <trans-unit> elements contains a 
    <source>, 
    <target> and associated elements.
The required id attribute
    is used to uniquely identify the <trans-unit> within
    all <trans-unit> and <bin-unit>
    elements within the same <file>. The optional
    approved attribute indicates whether
    the translation has been approved by a reviewer. The optional translate attribute indicates whether the
    <trans-unit> is to be translated. The optional 
    reformat attribute specifies whether and
    which attributes can be modified for the 
    <target> element of the <trans-unit> .
    The optional xml:space attribute is
    used to specify how white-spaces are to be treated within the
    <trans-unit>. The optional 
    datatype attribute specifies the data type of the content of
    the <trans-unit>; e.g. "winres" for Windows resources.
    The optional ts attribute was DEPRECATED in
    XLIFF 1.1. The optional phase-name
    attribute references the phase that the <trans-unit> is
    in. The optional restype, resname, 
    extradata, help-id,
    menu, 
    menu-option, menu-name ,
    coord, 
    font, css-style, style, 
    exstyle, and extype
    attributes describe the resource contained within the
    <trans-unit>. The optional 
    maxbytes and minbytes
    attributes specify the required maximum and minimum number of bytes for
    the text inside the <source> and
    <target> elements of the
    <trans-unit>. The optional size-unit attribute determines the unit for
    the optional maxheight,  minheight, maxwidth, and minwidth attributes, which limit the size of
    the resource described by the <trans-unit>. The
    optional charclass attribute
    restricts all <source> and
    <target> text in the scope of the
    <trans-unit> to a subset of characters. Lists of values
    for the datatype,  restype, and 
    size-unit attributes are provided by this specification. During
    translation the content of the 
    <source> element may be duplicated into a <seg-source> element, in which
    additional segmentation related markup is introduced. See the Segmentation section for more
    information.
Required attributes:
id.
Optional attributes:
approved, translate,  
    reformat, xml:space , datatype, 
    ts, phase-name ,
     restype, 
    resname, extradata
    ,  help-id, 
    menu, menu-option
    ,  menu-name, 
    coord, font, css-style, 
    style, exstyle, extype, 
    maxbytes, minbytes ,
     size-unit, maxheight, minheight,  
    maxwidth, minwidth , charclass, non-XLIFF attributes
Contents:
One <source>
    element, followed by 
 Zero or one <seg-source>  element, followed
    by 
 Zero or one <target>
    element, followed by
 Zero, one or more 
    <context-group>, 
    <count-group>, 
    <prop-group>, 
    <note>, 
    <alt-trans> elements, in any order, followed
    by
 Zero, one or more non-XLIFF elements.
All child elements of <trans-unit>
    pertain to their sibling <source>
    element.
 While for backward compatibility reasons no order is
    enforced for the elements before the non-XLIFF elements, the recommended
    order is the one in which they are listed here.
Source text - The <source>
    element is used to delimit a unit of text that could be a paragraph, a
    title, a menu item, a caption, etc. The content of the
    <source> is generally the translatable text, depending
    upon the translate attribute of the parent  <trans-unit>. The optional xml:lang attribute is used to specify the
    content language of the <source>; this should always
    match source-language as a
    child of <trans-unit> but can vary as a child of
    <alt-trans>. The optional ts
     attribute was DEPRECATED in XLIFF 1.1.
Required attributes:
None.
Optional attributes:
xml:lang,  ts, non-XLIFF attributes
Contents:
Text, 
 Zero, one or more of the following elements:
     <g>, <x/>, <bx/>, 
    <ex/>, <bpt>
    , <ept>, 
    <ph>, <it> ,
    <mrk>, in any order.
Target - The <target> element
    contains the translation of the content of the sibling <source> element. The optional state and state-qualifier attributes indicate in
    which state the <target> is. The optional phase-name attribute references the <phase> in which the
    <target> was last modified. The optional xml:lang attribute is used to specify the
    content language of the <target>; this should always
    match target-language as a
    child of <trans-unit> but can
    vary as a child of <alt-trans>
    . The optional coord, font, 
    css-style, style, and
    exstyle attributes describe the
    resource contained within the <target>; these are the
    modifiable attributes for the 
    <trans-unit> depending upon the reformat attribute of the parent <trans-unit>. The optional equiv-trans 
    describes if the target language translation is a direct equivalent of the
    source text. The optional ts  attribute was
    DEPRECATED in XLIFF 1.1. The  restype 
    attribute is DEPRECATED in XLIFF 1.2, since <target>
    will always be of the same  restype as
    its parent <trans-unit> or <alt-trans>. A list of preferred
    values for the restype, state, and state-qualifier attributes are provided
    by this specification.
Required attributes:
None.
Optional attributes:
state, state-qualifier, phase-name, xml:lang, 
    ts, restype, resname, 
    coord, font, css-style, 
    style, exstyle, equiv-trans, non-XLIFF attributes
Contents:
Text, 
 Zero, one or more of the following elements:
     <g>, <x/>, <bx/>, 
    <ex/>, <bpt>
    , <ept>, 
    <ph>, <it> ,
    <mrk>, in any order.
Translation match - The
    <alt-trans> element contains possible translations in
    <target> elements along with
    optional context, notes, etc. The optional mid
     attribute indicates that the <alt-trans>
    applies only to a specific <mrk mtype="seg"> segment in the <seg-source> element of the <trans-unit>. (See the Segmentation section for further details.)
    The optional match-quality 
    attribute provides a value indicating the exactness of the match between
    the <source> of the <alt-trans> and that of the <source> element of the parent <trans-unit>; e.g. "90%". The optional
    tool-id attribute accepts the id of
    the <tool> used to generate this
    <alt-trans>. The optional crc attribute allows a verification of the data.
    The optional xml:lang attribute is
    used to specify the content language of the
    <alt-trans>. The optional xml:space attribute is used to specify how
    white-spaces are to be treated within the <alt-trans>.
    The optional  datatype attribute
    specifies the data type of the content of the
    <alt-trans>; e.g. "winres" for Windows
    resources. The optional restype,
    resname, extradata, 
    help-id, menu, menu-option, menu-name, 
    coord, font, css-style, 
    style, exstyle, and
    extype attributes describe the resource
    contained within the <alt-trans>. The optional origin attribute specifies where the alternate
    translation comes from; e.g. a previous version of the product. The
    tool and ts
     attributes were DEPRECATED in XLIFF 1.1. Multiple  <target> elements within a single
    <alt-trans> are DEPRECATED in XLIFF 1.2. A list of
    values for the datatype and restype attributes are provided by this
    specification.
Required attributes:
None.
Optional attributes:
mid, match-quality,  tool, tool-id
    , crc, 
    xml:lang,  datatype
    , xml:space, 
    ts, restype, resname, 
    extradata,  help-id ,
    menu, 
    menu-option, 
    menu-name, coord, font, 
    css-style, style, exstyle, extype, 
    origin,  phase-name
    , alttranstype, non-XLIFF
    attributes
Contents:
Zero or one <source> element, followed by 
    Zero or one <seg-source> 
    element, followed by
 One 
    <target> element, followed by
 Zero, one or
    more <context-group>, <prop-group>, <note> elements, in any order,
    followed by
 Zero, one or more non-XLIFF elements.
All child elements of <alt-trans>
    pertain to their sibling  <target> element.
 While for backward
    compatibility reasons no order is enforced for the elements before the
    non-XLIFF elements, the recommended order is the one in which they are
    listed here.
 Although not enforced, it is recommended to adopt the
    convention that more recent <alt-trans> elements appear
    before older ones in order to define the order that changes are
    introduced.
Binary unit - The <bin-unit>
    element contains a binary object that may or may not be translatable. The
    required id attribute is used to uniquely
    identify the <bin-unit> within all <trans-unit> and <bin-unit> elements
    within the same <file>. The required mime-type attribute specifies the data type
    of the binary object based on RFC 1341. The
    optional approved attribute indicates
    whether the translation has been approved by a reviewer. The optional
    translate attribute indicates
    whether the <bin-unit> is to be
    translated. The optional reformat
    attribute specifies whether and which attributes can be modified for the
     <bin-target> element of the
    <bin-unit>. The optional ts
     attribute was DEPRECATED in XLIFF 1.1. The optional phase-name attribute references the phase
    that the <bin-unit> is in. The optional restype and 
    resname attributes describe the resource contained within the
    <bin-unit>. A list of values for the restype attribute is provided by this
    specification.
Required attributes:
Optional attributes:
approved, translate,  
    reformat, ts,  phase-name, restype, 
    resname, non-XLIFF attributes
Contents:
One<bin-source>
     element, followed by
 Zero or one 
    <bin-target> element, followed by
 Zero, one
    or more <context-group>,
    <count-group>, <prop-group>, <note>, 
    <trans-unit> elements, in any order, followed
    by
 Zero, one or more non-XLIFF elements.
All child elements of <bin-unit> pertain
    to their sibling  <bin-source> element.
 While for
    backward compatibility reasons no order is enforced for the elements
    before the non-XLIFF elements, the recommended order is the one in which
    they are listed here.
Binary source -The
    <bin-source> element is the container for the binary
    source data. The optional ts attribute was
    DEPRECATED in XLIFF 1.1.
Required attributes:
None.
Optional attributes:
ts, non-XLIFF attributes
Contents:
One of 
    <internal-file> or 
    <external-file>.
Binary target -The
    <bin-target> element is the container for the
    translated version of the binary data. The optional mime-type attribute specifies the data type
    of the binary object based on RFC 1341. The
    optional ts attribute was DEPRECATED in
    XLIFF 1.1. The optional state  and
    state-qualifier attributes
    indicate in which state the <bin-target> is. The
    optional phase-name attribute
    references the phase that the <bin-target> is in. The
    optional restype and resname attributes describe the resource
    contained within the <bin-target>. A list of values for
    the restype, 
    state, and 
    state-qualifier attributes are provided by this
    specification.
Required attributes:
None.
Optional attributes:
mime-type,  ts,  state,
    phase-name ,  restype, 
    resname, 
    state-qualifier, non-XLIFF attributes
Contents:
One of 
    <internal-file> or 
    <external-file>.
Source text - The <seg-source>
    element is used to maintain a working copy of the 
    <source> element, where markup such as segmentation can
    be introduced without affecting the actual 
    <source> element content. The content of the
    <seg-source> is generally the translatable text,
    typically divided into segments through the use of 
    <mrk mtype="seg"> elements. See the
    Segmentation section for more
    information. As with the <source>
     element, the optional xml:lang
     attribute is used to specify the content language of the
    <seg-source>; this should always match source-language as a child of <trans-unit> but can vary as a child
    of <alt-trans>. The optional
    ts attribute was DEPRECATED in XLIFF
    1.1.
Required attributes:
None.
Optional attributes:
xml:lang,  ts, non-XLIFF attributes
Contents:
Text, 
 Zero, one or more of the following elements:
     <g>, <x/>, <bx/>, 
    <ex/>, <bpt>
    , <ept>, 
    <ph>, <it> ,
    <mrk>, in any order.
The inline elements are the elements that can appear
    inside the <source> and  <target> elements. They enclose or
    replace any formatting or control code that is not text, but resides
    within the text unit.
Generic group placeholder - The
    <g> element is used to replace any inline code of the
    original document that has a beginning and an end, does not overlap other
    paired inline codes, and can be moved within its parent structural
    element. The required id attribute is used
    to reference the replaced code in the skeleton file. The optional  ctype attribute allows you to specify what
    kind of attribute the placeholder represents; e.g. "bold". The optional
     ts attribute was DEPRECATED in XLIFF 1.1.
    The optional clone attribute indicates
    whether this <g> element may be duplicated. The
    optional xid attribute references a
    <trans-unit> or <bin-unit>, through its id attribute value, which can contain any
    translatable text from the replaced code. A list of values for the
    ctype attribute is available. The
    optional equiv-text attribute specifies text to
    substitute in place of the inline tag. A <g> element
    can contain another <g> element.
Required attributes:
id.
Optional attributes:
ctype, 
    ts, clone, xid, 
    equiv-text, non-XLIFF attributes
Contents:
Text,
 Zero, one or more of the following elements: <g>, 
    <x/>, <bx/> ,
    <ex/>, 
    <bpt>, <ept>
    , <ph>, 
    <it>, <mrk> ,
    in any order.
Generic placeholder - The <x/>
    element is used to replace any code of the original document. The required
     id attribute is used to reference the
    replaced code in the skeleton file. The optional ctype  attribute allows you to specify what
    kind of attribute the placeholder represents; e.g. "bold". The optional
    ts attribute was DEPRECATED in XLIFF 1.1.
    The optional  clone attribute indicates
    whether this <x/> element may be duplicated. The
    optional xid attribute references a
     <trans-unit> or  <bin-unit>, through its id  attribute value, which can contain any
    translatable text from the replaced code. A list of values for the
    ctype  attribute is provided by this
    specification. The optional equiv-text attribute
    specifies text to substitute in place of the inline tag.
Required attributes:
id.
Optional attributes:
ctype, 
    ts, clone, xid., 
    equiv-text, non-XLIFF attributes
Contents:
Empty.
Begin paired placeholder - The
    <bx/> element is used to replace a beginning paired
    code of the original document. It should be used for paired codes that do
    not follow XML well-formedness rules (i.e. no overlapping elements). If
    the paired codes follow that rule, it is strongly recommended that the  <g> element is used because it
    simplifies processing. The <bx/> element should be
    followed by a matching <ex/> element.
    These paired elements are related via their rid attributes. If the rid attribute is not present (in a 1.0 document for
    example), the attribute  id is used to
    match both tags. The required  id attribute
    is used to reference the replaced code in the skeleton file. The optional
    ctype attribute allows you to specify
    what kind of attribute the placeholder represents; e.g. "bold". The
    optional ts attribute was DEPRECATED in
    XLIFF 1.1. The optional clone  attribute
    indicates whether this <bx/> element may be duplicated.
    The optional xid attribute references a
     <trans-unit> or  <bin-unit>, through its id  attribute value, which can contain any
    translatable text from the replaced code. A list of values for the
    ctype  attribute is provided by this
    specification. The optional equiv-text attribute
    specifies text to substitute in place of the inline tag.
Required attributes:
id.
Optional attributes:
rid,  ctype, ts,
      clone, xid., equiv-text, non-XLIFF attributes
Contents:
Empty.
End paired placeholder - The
    <ex/> element is used to replace an ending paired code
    of the original document. It should be used for paired codes that do not
    follow XML well-formedness rules (i.e. no overlapping elements). If the
    paired codes follow that rule, it is strongly recommended that the <g> element is used because it simplifies
    processing. The <ex/> element should be preceded by a
    matching <bx/> element. These paired
    elements are related via their rid
    attributes. If the rid attribute is not
    present (in a 1.0 document for example), the attribute  id is used to match both tags. The required
     id attribute is used to reference the
    replaced code in the skeleton file. The optional ts attribute was DEPRECATED in XLIFF 1.1. The
    optional xid attribute references a
     <trans-unit> or  <bin-unit>, through its id  attribute value, which can contain any
    translatable text from the replaced code. The optional equiv-text attribute specifies text to substitute
    in place of the inline tag.
Required attributes:
id.
Optional attributes:
rid, 
    ts, xid., equiv-text, non-XLIFF attributes
Contents:
Empty.
Placeholder - The <ph> element
    is used to delimit a sequence of native stand-alone codes in the
    translation unit. The required id attribute
    is used to identify the <ph> inline code. The optional
     ctype attribute allows you to specify
    what kind of attribute the placeholder represents; e.g. "bold". The
    optional  ts attribute was DEPRECATED in
    XLIFF 1.1. The optional crc attribute
    allows a verification of the data. The optional assoc attribute specifies whether this
    placeholder code is associated with the text prior or after. The optional
    xid attribute references a  <trans-unit> or <bin-unit>, through its id attribute value, which can contain any
    translatable text from the replaced code. A list of values for the
    ctype attribute is provided by this
    specification. The optional equiv-text attribute
    specifies text to substitute in place of the inline tag.
Required attributes:
id.
Optional attributes:
ctype, 
    ts, crc, assoc, xid
    ., equiv-text, non-XLIFF
    attributes
Contents:
Code data,
 Zero, one or more 
    <sub> elements.
Begin paired tag - The <bpt>
    element is used to delimit the beginning of a paired sequence of native
    codes. Each  <bpt> has a corresponding 
    <ept> element within the translation unit. These
    paired elements are related via their rid
    attributes. If the rid attribute is not
    present (in a 1.0 document for example), the attribute  id is used to match both tags. The required
     id attribute is used to identify the
    <bpt> inline code. The optional ctype attribute allows you to specify what
    kind of attribute the code represents; e.g. "bold". The optional ts attribute was DEPRECATED in XLIFF 1.1. The
    optional crc attribute allows a
    verification of the data. The optional xid
    attribute references a <trans-unit> or <bin-unit>, through its id attribute value, which can contain any
    translatable text from the inline code. A list of values for the ctype attribute is provided by this
    specification. The optional equiv-text attribute
    specifies text to substitute in place of the inline tag.
Required attributes:
id.
Optional attributes:
rid,  ctype, ts,
     crc, xid., equiv-text, non-XLIFF attributes
Contents:
Code data,
 Zero, one or more 
    <sub> elements.
End paired tag - The <ept>
    element is used to delimit the end of a paired sequence of native codes.
    Each <ept> has a corresponding 
    <bpt> element within the translation unit. These
    paired elements are related via their rid
    attributes. If the rid attribute is not
    present (in a 1.0 document for example), the attribute  id is used to match both tags. The required
     id attribute is used to identify the
    <ept> inline code. The optional ts attribute was DEPRECATED in XLIFF 1.1. The
    optional crc attribute allows a
    verification of the data. The optional xid
    attribute references a <trans-unit> or <bin-unit>, through its id attribute value, which can contain any
    translatable text from the inline code. The optional  equiv-text attribute specifies text to substitute
    in place of the inline tag.
Required attributes:
id.
Optional attributes:
rid, 
    ts, crc, xid., 
    equiv-text, non-XLIFF attributes
Contents:
Code data,
 Zero, one or more 
    <sub> elements.
Isolated tag - The <it>
    element is used to delimit a beginning/ending sequence of native codes
    that does not have its corresponding ending/beginning within the
    translation unit. The required id attribute
    is used to identify the <it> inline code. The required
     pos attribute specifies whether this is
    the begin or end code. The optional ctype attribute allows you to specify what
    kind of attribute the code represents; e.g. "bold". The optional ts attribute was DEPRECATED in XLIFF 1.1. The
    optional crc attribute allows a
    verification of the data. The optional xid
    attribute references a 
    <trans-unit> or 
    <bin-unit>, through its id
     attribute value, which can contain any translatable text from the
    inline code. A list of values for the ctype attribute is provided by this
    specification. The optional equiv-text attribute
    specifies text to substitute in place of the inline tag.
Required attributes:
Optional attributes:
rid,  ctype, ts,
     crc, xid., equiv-text, non-XLIFF attributes
Contents:
Code data,
 Zero, one or more 
    <sub> elements.
Sub-flow - The <sub> element
    is used to delimit sub-flow text inside a sequence of native code, for
    example: the definition of a footnote or the text of a title
    attribute in a HTML <a> element. The optional  datatype attribute specifies the data type of
    the content of the <sub>; e.g. "html". The optional  ctype attribute allows you to specify what
    kind of attribute the code represents. The optional xid attribute references a  <trans-unit> or  <bin-unit>, through its id  attribute value, which can contain any
    translatable text from the inline code. Lists of values for the ctype and datatype attributes are provided by this
    specification.
Required attributes:
None.
Optional attributes:
Contents:
Text,
 Zero, one or more of the following elements: <g>, 
    <x/>, <bx/> ,
    <ex/>, 
    <bpt>, <ept>
    , <ph>, 
    <it>, <mrk> ,
    in any order.
XLIFF defines an additional element to support various types of text processing. This element is usually not generated by the extraction module and is ignored most of the time during merging, but it can be very powerful with tools such as Machine Translation, glossary handling, quality assurance, etc.
Marker - The <mrk> element
    delimits a section of text that has special meaning, such as a
    terminological unit, a proper name, an item that should not be modified,
    etc. It can be used for various processing tasks. For example: to indicate
    to a Machine Translation tool proper names that should not be translated;
    for terminology verification; to mark suspect expressions after a grammar
    checking. The <mrk> element is usually not generated by
    the extraction tool and it is not part of the tags used to merge the XLIFF
    file back into its original format. The required mtype attribute specifies what is being
    delimited; e.g. "abbrev" for an abbreviation. The optional ts attribute was DEPRECATED in XLIFF 1.1. The
    optional comment  attribute allow a
    free-form comment to be entered. A list of values for the mtype attribute is provided by this
    specification. The <mrk> element can be used to delimit
    segments as described in the 
    Segmentation section.
Required attributes:s
Optional attributes:
mid, 
    ts, comment,
    non-XLIFF attributes
Contents:
Text,
 Zero, one or more of the following elements: <g>, 
    <x/>, <bx/> ,
    <ex/>, 
    <bpt>, <ept>
    , <ph>, 
    <it>, <mrk> ,
    in any order.
This section lists the various attributes used in the
    XLIFF elements. An attribute is never specified more than once for each
    element. Along with some of the attributes is the list of their possible
    values.
 
| XLIFF attributes | alttranstype, annotates, approved, assoc, build-num, ctype, category, charclass,  comment, company-name, contact-email , contact-name , contact-phone , context-type , 
          coord, count-type, crc, css-style, datatype, date, exstyle, equiv-text,  equiv-trans, extradata, extype, font, 
          form, from , help-id, href, 
          id, job-id ,  match-mandatory, match-quality , maxheight,  maxbytes, maxwidth, menu, menu-name, menu-option, mid, merged-trans, mime-type,  minheight, minbytes, minwidth, mtype, 
          name, 
          original, 
          phase-name,  pos,
           priority,  process-name,  product-name,  product-version,  prop-type,  purpose, 
          reformat, 
          resname, 
          restype, rid ,
          size-unit, source-language ,  state, state-qualifier, style, tool, tool-company,  tool-id, tool-name, tool-version, target-language , translate, ts, 
          uid, unit , version, xid. | 
        
| XML namespace attributes | 
          xml:lang, 
          xml:space. | 
        
Resource type - Indicates the type of translation within the containing alt-trans element.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
proposal | 
        Represents a translation proposal from a translation memory or other resource. | 
previous-version | 
        Represents a previous version of the target element. | 
rejected | 
        Represents a rejected version of the target element. | 
reference | 
        Represents a translation to be used for reference purposes only, for example from a related product or a different language. | 
accepted | 
        Represents a proposed translation that was used for the translation of the trans-unit, possibly modified. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
proposal.
Used in:
Annotates - Indicates if a 
    <note> element pertains to the 
    <source> or the 
    <target>, or neither in particular.
Value description:
source, target, or
    general.
Default value:
general.
Used in:
Approved - Indicates whether a translation is final or has passed its final review.
Value description:
Boolean: yes or no.
Default value:
no.
Used in:
Association - Indicates the association of a <ph> with the text prior or after the
    inline element.
Value description:
preceding (the element is associated with the
    text preceding the element), following (the element is
    associated with the text following the element), and both
    (the element is associated with the text on both sides).
Default value:
Undefined.
Used in:
<ph>.
Build number - The build number of the version of
    the product or application the localizable material is for. For example:
    build-num="12" for the 12th build of the new version of a
    product.
Value description:
Alpha-numeric.
Default value:
Undefined.
Used in:
Category - This provides information on the
    subject of what is being translated. For example:
    category="medical" for files from a medical related
    product.
Value description:
Text.
Default value:
Undefined.
Used in:
Character class - This indicates that a translation is restricted to a subset of characters (i.e. ASCII only, Katakana only, uppercase only, etc.). A blank value indicates there is no limitation.
Value description:
Text.
Default value:
Undefined.
Used in:
Clone - This indicates that a copy of the given
    inline element can be made and placed multiple times in the  <target>. This is useful for codes such
    as bold which may require duplication after localization of a segment.
Value description:
Boolean: yes or no.
Default value:
yes.
Used in:
Comment - A comment in a tag.
Value description:
Alpha-numeric.
Default value:
Undefined.
Used in:
Company name - The name of the company that has performed a task.
Value description:
Text.
Default value:
Undefined.
Used in:
Contact email - The contact email of the  contact-name person.
Value description:
Text.
Default value:
Undefined.
Used in:
Contact name - The name of the person that has performed a task in a phase.
Value description:
Text.
Default value:
Undefined.
Used in:
Contact phone - The phone number of the  contact-name person.
Value description:
Text.
Default value:
Undefined.
Used in:
Context type - The context-type
    attribute specifies the context and the type of resource or style of the
    data of a given element. For example, to define if it is a label, or a
    menu item in the case of resource-type data, or the style in the case of
    document-related data.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
database | 
        Indicates a database content. | 
element | 
        Indicates the content of an element within an XML document. | 
elementtitle | 
        Indicates the name of an element within an XML document. | 
linenumber | 
        Indicates the line number from the sourcefile (see context-type="sourcefile") where the <source> is found. | 
numparams | 
        Indicates a the number of parameters contained within the <source>. | 
paramnotes | 
        Indicates notes pertaining to the parameters in the <source>. | 
record | 
        Indicates the content of a record within a database. | 
recordtitle | 
        Indicates the name of a record within a database. | 
sourcefile | 
        Indicates the original source file in the case that multiple files are merged to form the original file from which the XLIFF file is created. This differs from the original <file> attribute in that this sourcefile is one of many that make up that file. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Undefined.
Used in:
Coordinates - The coord attribute
    specifies the x, y, cx and cy coordinates of the text for a given element.
    The cx and cy values must represent the width and the height (as in
    Windows resources). The extraction and merging tools must make the right
    conversion if the original format uses a top-left/bottom-right coordinate
    system.
Value description:
Four decimal (possibly negative) values, in the order: x,
    y, cx and cy, separated by semi-colons. Null values may be entered as
    "#"; (e.g. coord="#;#;183;272").
Default value:
Undefined.
Used in:
<group>, <trans-unit>,  <target>, <alt-trans>.
Count type - The count-type
    attribute specifies the purpose of the  <count>  element. For example:
    count-type="total" for the total count of words in the
    current scope.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
num-usages | 
        Indicates the count units are items that are used X times in a certain context; example: this is a reusable text unit which is used 42 times in other texts. | 
repetition | 
        Indicates the count units are translation units existing already in the same document. | 
total | 
        Indicates a total count. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
In addition, the count-type attribute can take
    any value defined for datatype,
    restype, or 
    state.
Default value:
None.
Used in:
Cyclic redundancy checking - A private value used to verify data as it is returned to the producer. The generation and verification of this number is tool-specific.
Value description:
Number (possibly not decimal).
Default value:
None.
Used in:
<internal-file>
    , <external-file>, <context-group>,  <context>, <alt-trans>, <bpt>, 
    <ept>, <it> ,
    <ph>.
Cascading style-sheet style - The
    css-style attribute allows any valid  CSS
    statement to be specified.
Value description:
Text, the value is subject to CSS syntax rules.
Default value:
Undefined.
Used in:
<group>, <trans-unit>,  <target>, <alt-trans>.
Content type - The ctype attribute
    specifies the type of code that is represented by the inline element; e.g.
    ctype="bold" means that the code represents a bolding code.
Value description for the ctype
    attribute of the <x/> and <ph> elements:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
image | 
        Indicates a inline image. | 
pb | 
        Indicates a page break. | 
lb | 
        Indicates a line break. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Value description for the ctype
    attribute of other elements:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
bold | 
        Indicates a run of bolded text. | 
italic | 
        Indicates a run of text in italics. | 
underlined | 
        Indicates a run of underlined text. | 
link | 
        Indicates a run of hyper-text. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Undefined.
Used in:
<g>, 
    <x/>, <bx/> ,
    <bpt>, 
    <sub>, <it> ,
     <ph>.
Data type - The datatype attribute
    specifies the kind of text contained in the element. Depending on that
    type, you may apply different processes to the data. For example:
    datatype="winres" specifies that the content is Windows
    resources which would allow using the Win32 API in rendering the
    content.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
asp | 
        Indicates Active Server Page data. | 
c | 
        Indicates C source file data. | 
cdf | 
        Indicates Channel Definition Format (CDF) data. | 
cfm | 
        Indicates ColdFusion data. | 
cpp | 
        Indicates C++ source file data. | 
csharp | 
        Indicates C-Sharp data. | 
cstring | 
        Indicates strings from C, ASM, and driver files data. | 
csv | 
        Indicates comma-separated values data. | 
database | 
        Indicates database data. | 
documentfooter | 
        Indicates portions of document that follows data and contains metadata. | 
documentheader | 
        Indicates portions of document that precedes data and contains metadata. | 
filedialog | 
        Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import). | 
form | 
        Indicates standard user input screen data. | 
html | 
        Indicates HyperText Markup Language (HTML) data - document instance. | 
htmlbody | 
        Indicates content within an HTML document's <body> element. | 
ini | 
        Indicates Windows INI file data. | 
interleaf | 
        Indicates Interleaf data. | 
javaclass | 
        Indicates Java source file data (extension '.java'). | 
javapropertyresourcebundle | 
        Indicates Java property resource bundle data. | 
javalistresourcebundle | 
        Indicates Java list resource bundle data. | 
javascript | 
        Indicates JavaScript source file data. | 
jscript | 
        Indicates JScript source file data. | 
layout | 
        Indicates information relating to formatting. | 
lisp | 
        Indicates LISP source file data. | 
margin | 
        Indicates information relating to margin formats. | 
menufile | 
        Indicates a file containing menu. | 
messagefile | 
        Indicates numerically identified string table. | 
mif | 
        Indicates Maker Interchange Format (MIF) data. | 
mimetype | 
        Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute. | 
mo | 
        Indicates GNU Machine Object data. | 
msglib | 
        Indicates Message Librarian strings created by Novell's Message Librarian Tool. | 
pagefooter | 
        Indicates information to be displayed at the bottom of each page of a document. | 
pageheader | 
        Indicates information to be displayed at the top of each page of a document. | 
parameters | 
        Indicates a list of property values (e.g., settings within INI files or preferences dialog). | 
pascal | 
        Indicates Pascal source file data. | 
php | 
        Indicates Hypertext Preprocessor data. | 
plaintext | 
        Indicates plain text file (no formatting other than, possibly, wrapping). | 
po | 
        Indicates GNU Portable Object file. | 
report | 
        Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc. | 
resources | 
        Indicates Windows .NET binary resources. | 
resx | 
        Indicates Windows .NET Resources. | 
rtf | 
        Indicates Rich Text Format (RTF) data. | 
sgml | 
        Indicates Standard Generalized Markup Language (SGML) data - document instance. | 
sgmldtd | 
        Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD). | 
svg | 
        Indicates Scalable Vector Graphic (SVG) data. | 
vbscript | 
        Indicates VisualBasic Script source file. | 
warning | 
        Indicates warning message. | 
winres | 
        Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file). | 
xhtml | 
        Indicates Extensible HyperText Markup Language (XHTML) data - document instance. | 
xml | 
        Indicates Extensible Markup Language (XML) data - document instance. | 
xmldtd | 
        Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD). | 
xsl | 
        Indicates Extensible Stylesheet Language (XSL) data. | 
xul | 
        Indicates XUL elements. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Empty string.
Used in:
<file>,  <group>, <trans-unit>, <alt-trans>, <sub>.
Date - The date attribute indicates
    when a given element was created or modified.
Value description:
Date in [ISO 8601] Format. The
    recommended pattern to use is: CCYY-MM-DDThh:mm:ssZ 
    Where: CCYY is the year (4 digits), MM is the
    month (2 digits), DD is the day (2 digits), hh
    is the hours (2 digits), mm is the minutes (2 digits),
    ss is the second (2 digits), and Z indicates the
    time is UTC time. For example:
date="2002-01-25T21:06:00Z" is January 25, 2002 at 9:06pm GMT is January 25, 2002 at 2:06pm US Mountain Time is January 26, 2002 at 6:06am Japan time
Default value:
Undefined.
Used in:
equiv-text - Indicates the equivalent text to
    substitute in place of an inline tag. It is useful for inserting
    whitespace or other content in place of markup to facilitate consistent
    word counting. The equiv-text attribute is also useful for ensuring
    consistent round trip conversion between native resource formats and XLIFF
    content, for example the resource string "F&ile" converts
    to the following XLIFF: "F<x id='1' ctype='x-akey'
    equiv-text=''/>ile" to preserve the underlying translatable
    content.
Value description:
Text
Default value:
Undefined.
Used in:
<g>, 
    <x/>, <bx/> ,
    <ex/>, 
    <bpt>, <ept>
    , <ph>, 
    <it>.
equiv-trans - Indicates if the target language translation is a direct equivalent of the source text.
Value description:
yes, or no.
Default value:
yes.
Used in:
Extended style - The exstyle
    attribute stores the extended style of a control. For example, in Windows
    resources it corresponds to the EXSTYLE statement.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>, <trans-unit>, 
    <target>, <alt-trans>.
Extra data - The extradata attribute
    stores the extra data properties of an item.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>, <trans-unit>, <alt-trans>.
Extended type -The extype attribute
    stores the extra type properties of an item.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>, <trans-unit>, <alt-trans>.
Font - The font attribute specifies
    the font name, size, and weight of the text for a given element. The font
    attribute would generally be used for resource-type data: change of font
    in document-type data can be marked with the <g> element.
Value description:
Name of the font, its size, its weight, its style and its encoding separated by semi-colons. Only the name of the font is required.
Default value:
Undefined.
Used in:
<group>, <trans-unit>, 
    <target>, <alt-trans>.
Format - Describes the type of format used in an
    <internal-file> element.
    For example: form="text" indicates a plain text format
    internal file.
Value description:
The value can be either text (for plain text
    data), base64 (for data coded in base64 format), or one of
    values available from the [RFC 1341] document:
    the MIME specification.
Default value:
text.
Used in:
From - Indicates the author of a  <note> element. For example:
    from="reviewer" indicates a note from a reviewer.
Value description:
Text.
Default value:
Undefined.
Used in:
Help ID -The help-id attribute
    stores the help identifier of an item. For example, in Windows resources
    it corresponds to the Help ID parameter of a control.
Value description:
Number.
Default value:
Undefined.
Used in:
<group>, <trans-unit>, <alt-trans>.
Hypertext reference - The location of the file or
    the URL for an <external-file> element. For
    example: href="file:///C:/MyFolder/MyProject/MyFile.htm"
    indicates a file on a local drive.
Value description:
Text.
Default value:
Undefined.
Used in:
Identifier - The id attribute is
    used in many elements as a reference to the original corresponding code
    data or format for the given element. The value of the id
    element is determined by the tool creating the XLIFF document. It may or
    may not be a resource identifier. The identifier of a resource should, at
    least, be stored in the resname
    attribute.
For example:
<trans-unit id="34" resname="IDD_ABOUT_DLG" restype="dialog" coord="0;0;235;100" font="MS Sans Serif;8" style="0x0932239"> <source>About Dialog</source> </trans-unit>
<trans-unit id="IDD_ABOUT_DLG" resname="IDD_ABOUT_DLG" restype="dialog" coord="0;0;235;100" font="MS Sans Serif;8" style="0x0932239"> <source>About Dialog</source> </trans-unit>
Value description:
Text. Note that, while allowed, spaces are usually not used in identifiers.
Default value:
Undefined.
Used in:
<group>, <trans-unit>,  <bin-unit>, 
    <g>,  <x/>, <bx/>, 
    <ex/>, <bpt>,  <ept>, 
    <it>, <ph>
    .
Job ID - The identifier given to the localization job. This is determined by the entity creating the phase element at the time of processing the file.
Value description:
Text.
Default value:
Undefined.
Used in:
Match mandatory -Indicates that any  <alt-trans> element of the parent
     <trans-unit> must have the
    same <context> as the  <trans-unit>.
Value description:
Boolean: yes or no.
Default value:
no.
Used in:
Match quality - The match quality of the 
     <alt-trans> element is tool
    specific and can be a score expressed in percentage or an arbitrary value
    (e.g. match-quality="high").
Value description:
Text.
Default value:
Undefined.
Used in:
Maximum height - The maximum height for the
     <target> of a  <trans-unit>. This could be
    interpreted as lines, pixels, or any other relevant unit. The unit is
    determined by the  size-unit
    attribute, which defaults to pixel.
Value description:
Number.
Default value:
Undefined.
Used in:
Maximum bytes - The maximum number of bytes for
    the  <target> of a  <trans-unit>. The verification of
    whether the relevant text respects this requirement must be done using the
    encoding and line-break type of the final target environment.
Value description:
Number.
Default value:
Undefined.
Used in:
Maximum width - The maximum width for the 
    <target> of a 
     <trans-unit>. This could be interpreted as lines,
    pixels, or any other relevant unit. The unit is determined by the  size-unit attribute, which defaults to
    pixel.
Value description:
Number.
Default value:
Undefined.
Used in:
Menu - The menu attribute stores the
    menu property of an item.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>, <trans-unit>,  <alt-trans>.
Menu name - The menu-name attribute
    stores the menu name of a control.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>, <trans-unit>,  <alt-trans>.
Menu option - The menu-option
    attribute stores the option data of a control.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>, <trans-unit>,  <alt-trans>.
Marker ID - Identifier for an 
    <mrk> element. When used with in combination with
    mtype="seg" the value of this attribute
    is used to reference segments between the 
    <seg-source> and 
    <target> of a 
    <trans-unit>. When used in 
    <alt-trans> this attribute indicates that the entire
    <alt-trans> element references
    a particular <mrk mtype ="seg">
    segment in the  <seg-source>
    (and  <target>) element. See the
    Segmentation section for further
    details.
Value description:
Text.
Default value:
Undefined.
Used in:
merged-trans - Indicates if the group element
    contains merged trans-unit elements.
Value description:
yes, or no.
Default value:
no.
Used in:
Mime type -Indicates the type of a binary object.
    These roughly correspond to the content-type of RFC
    1341 , the MIME specification; e.g.
    mime-type="image/jpeg" indicates the binary object is an
    image file of JPEG format. This is important in determining how to edit
    the binary object.
Value description:
Text. A list of preferred values is available from the [RFC 1341] document: the MIME specification.
Default value:
Undefined.
Used in:
Minimum height - The minimum height for the
    <target> of a  <trans-unit>. This could be
    interpreted as lines, pixels, or any other relevant unit. The unit is
    determined by the size-unit
    attribute, which defaults to pixel.
Value description:
Number.
Default value:
Undefined.
Used in:
Minimum bytes - The minimum number of bytes for
    the  <target> of a  <trans-unit>. The verification of
    whether the relevant text respects this requirement must be done using the
    encoding and line-break type of the final target environment.
Value description:
Number.
Default value:
Undefined.
Used in:
Minimum width - The minimum width for the 
    <target> of a 
     <trans-unit>. This could be interpreted as lines,
    pixels, or any other relevant unit. The unit is determined by the  size-unit attribute, which defaults to
    pixel.
Value description:
Number.
Default value:
Undefined.
Used in:
Marker type -The mtype attribute
    specifies what a <mrk> element is
    defining within the content of a <source>  or <target> element.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
abbrev | 
        Indicates the marked text is an abbreviation. | 
abbreviated-form | 
        ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept. | 
abbreviation | 
        ISO-12620 2.1.8.1: An abbreviated form of a simple term resulting from the omission of some of its letters (e.g. 'adj.' for 'adjective'). | 
acronym | 
        ISO-12620 2.1.8.4: An abbreviated form of a term made up of letters from the full form of a multiword term strung together into a sequence pronounced only syllabically (e.g. 'radar' for 'radio detecting and ranging'). | 
appellation | 
        ISO-12620: A proper-name term, such as the name of an agency or other proper entity. | 
collocation | 
        ISO-12620 2.1.18.1: A recurrent word combination characterized by cohesion in that the components of the collocation must co-occur within an utterance or series of utterances, even though they do not necessarily have to maintain immediate proximity to one another. | 
common-name | 
        ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language. | 
datetime | 
        Indicates the marked text is a date and/or time. | 
equation | 
        ISO-12620 2.1.15: An expression used to represent a concept based on a statement that two mathematical expressions are, for instance, equal as identified by the equal sign (=), or assigned to one another by a similar sign. | 
expanded-form | 
        ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form. | 
formula | 
        ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula. | 
head-term | 
        ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record. | 
initialism | 
        ISO-12620 2.1.8.3: An abbreviated form of a term consisting of some of the initial letters of the words making up a multiword term or the term elements making up a compound term when these letters are pronounced individually (e.g. 'BSE' for 'bovine spongiform encephalopathy'). | 
international-scientific-term | 
        ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body. | 
internationalism | 
        ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages. | 
logical-expression | 
        ISO-12620 2.1.16: An expression used to represent a concept based on mathematical or logical relations, such as statements of inequality, set relationships, Boolean operations, and the like. | 
materials-management-unit | 
        ISO-12620 2.1.17: A unit to track object. | 
name | 
        Indicates the marked text is a name. | 
near-synonym | 
        ISO-12620 2.1.3: A term that represents the same or a very similar concept as another term in the same language, but for which interchangeability is limited to some contexts and inapplicable in others. | 
part-number | 
        ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system. | 
phrase | 
        Indicates the marked text is a phrase. | 
phraseological-unit | 
        ISO-12620 2.1.18: Any group of two or more words that form a unit, the meaning of which frequently cannot be deduced based on the combined sense of the words making up the phrase. | 
protected | 
        Indicates the marked text should not be translated. | 
romanized-form | 
        ISO-12620 2.1.12: A form of a term resulting from an operation whereby non-Latin writing systems are converted to the Latin alphabet. | 
seg | 
        Indicates that the marked text represents a segment. | 
set-phrase | 
        ISO-12620 2.1.18.2: A fixed, lexicalized phrase. | 
short-form | 
        ISO-12620 2.1.8.2: A variant of a multiword term that includes fewer words than the full form of the term (e.g. 'Group of Twenty-four' for 'Intergovernmental Group of Twenty-four on International Monetary Affairs'). | 
sku | 
        ISO-12620 2.1.17.1: Stock keeping unit, an inventory item identified by a unique alphanumeric designation assigned to an object in an inventory control system. | 
standard-text | 
        ISO-12620 2.1.19: A fixed chunk of recurring text. | 
symbol | 
        ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof. | 
synonym | 
        ISO-12620 2.1.2: Any term that represents the same or a very similar concept as the main entry term in a term entry. | 
synonymous-phrase | 
        ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language. | 
term | 
        Indicates the marked text is a term. | 
transcribed-form | 
        ISO-12620 2.1.11: A form of a term resulting from an operation whereby the characters of one writing system are represented by characters from another writing system, taking into account the pronunciation of the characters converted. | 
transliterated-form | 
        ISO-12620 2.1.10: A form of a term resulting from an operation whereby the characters of an alphabetic writing system are represented by characters from another alphabetic writing system. | 
truncated-term | 
        ISO-12620 2.1.8.5: An abbreviated form of a term resulting from the omission of one or more term elements or syllables (e.g. 'flu' for 'influenza'). | 
variant | 
        ISO-12620 2.1.9: One of the alternate forms of a term. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Undefined.
Used in:
Name - The name attribute specifies
    the user-defined name of a named group element. This is used for
    identification purposes only and is not referenced with the file, unless
    by a processing instruction.
Value description:
Text.
Default value:
Undefined.
Used in:
<prop-group>,
    <context-group>, <count-group>.
Translation Match Origin - The
    origin attribute specifies where a translation match came
    from; for example, from a previous version of the same product, a
    different product, a shared translation memory, etc.
Value description:
Text.
Default value:
Undefined.
Used in:
Original file - The original attribute specifies the name of the original file from which the contents of a <file> element has been extracted.
Value description:
Text.
Default value:
Undefined.
Used in:
Phase Name - The phase-name
    attribute provides a unique name for a <phase>  element. It is used in other
    elements in the file to refer to the given <phase> element.
Value description:
Text.
Default value:
Undefined.
Used in:
<count>, <phase>, <trans-unit>,  <target>, <bin-unit>, <bin-target>, <alt-trans> .
Position - Indicates whether an isolated tag
     <it> is a beginning or an ending
    tag.
Value description:
open or close.
Default value:
Undefined.
Used in:
<it>.
Priority - The priority of a <note> element.
Value description:
A number between 1 and 10, 1 being the highest priority.
Default value:
1
Used in:
Process name - The name specifying the type of
    process a given <phase>
    corresponds to (e.g. Translation, Proofreading, Sizing, etc.).
Value description:
Text.
Default value:
Undefined.
Used in:
Product name - The name of the product which uses this file.
Value description:
Text.
Default value:
Undefined.
Used in:
Product version - The version of the product which uses this file.
Value description:
Alpha-numeric.
Default value:
Undefined.
Used in:
Property type - The prop-type
    attribute specifies the type of a <prop> element.
Important: Because the 
    <prop> element was DEPRECATED in version 1.1 and this
    attribute is only a member of that element, this attribute is also
    deprecated. Instead, use attributes defined in a namespace different from
    XLIFF. See the Extensibility section for
    more information.
Value description:
Text. No value defined by the standard.
Default value:
Undefined.
Used in:
Purpose - The purpose attribute
    specifies the purpose of a 
    <context-group> element. For example:
    purpose="information" indicates the content is informational
    only and not used for specific processing.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
information | 
        Indicates that the context is informational in nature, specifying for example, how a term should be translated. Thus, should be displayed to anyone editing the XLIFF document. | 
location | 
        Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed. | 
match | 
        Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Combinations of these values can be used. For example,
    purpose="location match x-validate" provides both location
    (location) and TM matching (match) contextual
    information, as well as some user-defined data (x-validate
    ).
Default value:
Undefined.
Used in:
Reformat - Indicates whether some properties (size, font, etc.) of the target can be formatted differently from the source.
Value description (stand-alone):
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
yes | 
        This value indicates that all properties can be reformatted. This value must be used alone. | 
no | 
        This value indicates that no properties should be reformatted. This value must be used alone. | 
Value description (enumerated):
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
coord | 
        This value indicates that all information in the coord attribute can be modified. | 
coord-x | 
        This value indicates that the x information in the coord attribute can be modified. | 
coord-y | 
        This value indicates that the y information in the coord attribute can be modified. | 
coord-cx | 
        This value indicates that the cx information in the coord attribute can be modified. | 
coord-cy | 
        This value indicates that the cy information in the coord attribute can be modified. | 
font | 
        This value indicates that all the information in the font attribute can be modified. | 
font-name | 
        This value indicates that the name information in the font attribute can be modified. | 
font-size | 
        This value indicates that the size information in the font attribute can be modified. | 
font-weight | 
        This value indicates that the weight information in the font attribute can be modified. | 
css-style | 
        This value indicates that the information in the css-style attribute can be modified. | 
style | 
        This value indicates that the information in the style attribute can be modified. | 
ex-style | 
        This value indicates that the information in the exstyle attribute can be modified. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Except for the values yes and no,
    the other values can be used in combination, separated by a space. For
    example:
reformat="yes"
All properties can be reformatted.
reformat="no"
No properties should be reformatted.
reformat="font-name coord-x coord-y"
Only the name part of the font attribute, the x part of the coord attribute and the y part of the coord attribute can be modified.
Default value:
yes.
Used in:
<group>, <trans-unit>,<bin-unit>.
Resource name - Resource name or identifier of a item. For example: the key in the key/value pair in a Java properties file, the ID of a string in a Windows string table, the index value of an entry in a database table, etc.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>. <trans-unit>,  <alt-trans>, <target>, <bin-unit>,  <bin-target>.
Resource type - Indicates the resource type of the container element.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
auto3state | 
        Indicates a Windows RC AUTO3STATE control. | 
autocheckbox | 
        Indicates a Windows RC AUTOCHECKBOX control. | 
autoradiobutton | 
        Indicates a Windows RC AUTORADIOBUTTON control. | 
bedit | 
        Indicates a Windows RC BEDIT control. | 
bitmap | 
        Indicates a bitmap, for example a BITMAP resource in Windows. | 
button | 
        Indicates a button object, for example a BUTTON control Windows. | 
caption | 
        Indicates a caption, such as the caption of a dialog box. | 
cell | 
        Indicates the cell in a table, for example the content of the <td> element in HTML. | 
checkbox | 
        Indicates check box object, for example a CHECKBOX control in Windows. | 
checkboxmenuitem | 
        Indicates a menu item with an associated checkbox. | 
checkedlistbox | 
        Indicates a list box, but with a check-box for each item. | 
colorchooser | 
        Indicates a color selection dialog. | 
combobox | 
        Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows. | 
comboboxexitem | 
        Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234). | 
comboboxitem | 
        Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403). | 
component | 
        Indicates a UI base class element that cannot be represented by any other element. | 
contextmenu | 
        Indicates a context menu. | 
ctext | 
        Indicates a Windows RC CTEXT control. | 
cursor | 
        Indicates a cursor, for example a CURSOR resource in Windows. | 
datetimepicker | 
        Indicates a date/time picker. | 
defpushbutton | 
        Indicates a Windows RC DEFPUSHBUTTON control. | 
dialog | 
        Indicates a dialog box. | 
dlginit | 
        Indicates a Windows RC DLGINIT resource block. | 
edit | 
        Indicates an edit box object, for example an EDIT control in Windows. | 
file | 
        Indicates a filename. | 
filechooser | 
        Indicates a file dialog. | 
fn | 
        Indicates a footnote. | 
font | 
        Indicates a font name. | 
footer | 
        Indicates a footer. | 
frame | 
        Indicates a frame object. | 
grid | 
        Indicates a XUL grid element. | 
groupbox | 
        Indicates a groupbox object, for example a GROUPBOX control in Windows. | 
header | 
        Indicates a header item. | 
heading | 
        Indicates a heading, such has the content of <h1>, <h2>, etc. in HTML. | 
hedit | 
        Indicates a Windows RC HEDIT control. | 
hscrollbar | 
        Indicates a horizontal scrollbar. | 
icon | 
        Indicates an icon, for example an ICON resource in Windows. | 
iedit | 
        Indicates a Windows RC IEDIT control. | 
keywords | 
        Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF. | 
label | 
        Indicates a label object. | 
linklabel | 
        Indicates a label that is also a HTML link (not necessarily a URL). | 
list | 
        Indicates a list (a group of list-items, for example an <ol> or <ul> element in HTML). | 
listbox | 
        Indicates a listbox object, for example an LISTBOX control in Windows. | 
listitem | 
        Indicates an list item (an entry in a list). | 
ltext | 
        Indicates a Windows RC LTEXT control. | 
menu | 
        Indicates a menu (a group of menu-items). | 
menubar | 
        Indicates a toolbar containing one or more tope level menus. | 
menuitem | 
        Indicates a menu item (an entry in a menu). | 
menuseparator | 
        Indicates a XUL menuseparator element. | 
message | 
        Indicates a message, for example an entry in a MESSAGETABLE resource in Windows. | 
monthcalendar | 
        Indicates a calendar control. | 
numericupdown | 
        Indicates an edit box beside a spin control. | 
panel | 
        Indicates a catch all for rectangular areas. | 
popupmenu | 
        Indicates a standalone menu not necessarily associated with a menubar. | 
pushbox | 
        Indicates a pushbox object, for example a PUSHBOX control in Windows. | 
pushbutton | 
        Indicates a Windows RC PUSHBUTTON control. | 
radio | 
        Indicates a radio button object. | 
radiobuttonmenuitem | 
        Indicates a menuitem with associated radio button. | 
rcdata | 
        Indicates raw data resources for an application. | 
row | 
        Indicates a row in a table. | 
rtext | 
        Indicates a Windows RC RTEXT control. | 
scrollpane | 
        Indicates a user navigable container used to show a portion of a document. | 
separator | 
        Indicates a generic divider object (e.g. menu group separator). | 
shortcut | 
        Windows accelerators, shortcuts in resource or property files. | 
spinner | 
        Indicates a UI control to indicate process activity but not progress. | 
splitter | 
        Indicates a splitter bar. | 
state3 | 
        Indicates a Windows RC STATE3 control. | 
statusbar | 
        Indicates a window for providing feedback to the users, like 'read-only', etc. | 
string | 
        Indicates a string, for example an entry in a STRINGTABLE resource in Windows. | 
tabcontrol | 
        Indicates a layers of controls with a tab to select layers. | 
table | 
        Indicates a display and edits regular two-dimensional tables of cells. | 
textbox | 
        Indicates a XUL textbox element. | 
togglebutton | 
        Indicates a UI button that can be toggled to on or off state. | 
toolbar | 
        Indicates an array of controls, usually buttons. | 
tooltip | 
        Indicates a pop up tool tip text. | 
trackbar | 
        Indicates a bar with a pointer indicating a position within a certain range. | 
tree | 
        Indicates a control that displays a set of hierarchical data. | 
uri | 
        Indicates a URI (URN or URL). | 
userbutton | 
        Indicates a Windows RC USERBUTTON control. | 
usercontrol | 
        Indicates a user-defined control like CONTROL control in Windows. | 
var | 
        Indicates the text of a variable. | 
versioninfo | 
        Indicates version information about a resource like VERSIONINFO in Windows. | 
vscrollbar | 
        Indicates a vertical scrollbar. | 
window | 
        Indicates a graphical window. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Undefined.
Used in:
<group>, <trans-unit>,  <target>, <alt-trans>, <bin-unit>,  <bin-target>.
Reference identifier - The rid
    attribute is used to link paired inline elements. The rid
    attribute of a begin-paired-code element should have the same value as the
    close-paired-code element. For example: <bx id="1" rid="1"/>
    ... <ex id="3" rid="1"/> indicates these elements are paired.
    If the rid attribute is not present (in a 1.0 document for
    example), the attribute id is used to match
    both tags. For example: <bpt id='5'>xx</bpt> ... <ept
    id='5'>xx</ept>.
Value description:
Alpha-numeric without spaces.
Default value:
Undefined.
Used in:
<bpt>,  <ept>, <it> , <bx/>, 
    <ex/>.
Unit of size attributes - The
    size-unit attribute specifies the units of measure used in
    the  maxheight, minheight, 
    maxwidth, and  minwidth
    attributes. The size-unit attribute is not related to the
     coord attribute.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
byte | 
        Indicates a size in 8-bit bytes. | 
char | 
        Indicates a size in Unicode characters. | 
col | 
        Indicates a size in columns. Used for HTML text area. | 
cm | 
        Indicates a size in centimeters. | 
dlgunit | 
        Indicates a size in dialog units, as defined in Windows resources. | 
em | 
        Indicates a size in 'font-size' units (as defined in CSS). | 
ex | 
        Indicates a size in 'x-height' units (as defined in CSS). | 
glyph | 
        Indicates a size in glyphs. A glyph is considered to be one or more combined Unicode characters that represent a single displayable text character. Sometimes referred to as a 'grapheme cluster' | 
in | 
        Indicates a size in inches. | 
mm | 
        Indicates a size in millimeters. | 
percent | 
        Indicates a size in percentage. | 
pixel | 
        Indicates a size in pixels. | 
point | 
        Indicates a size in point. | 
row | 
        Indicates a size in rows. Used for HTML text area. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
pixel.
Used in:
Source language - The language for the <source> elements in the given  <file> element.
Value description:
A language code as described in the [RFC 4646], the successor to [RFC 3066]. The values
    for this attribute follow the same rules as the values for xml:lang. Unlike the other XLIFF attributes,
    the values for  xml:lang are not
    case-sensitive. For more information see the section on 
    xml:lang in the XML specification, and the erratum E11 (which
    replaces RFC 1766 by RFC 3066).
The source language can be also specified by xml:lang in each <source> element. The values of 
    source-language and xml:lang 
    in <source> can be different only
    in an  <alt-trans> 
    element.
Default value:
Undefined.
Used in:
State - The status of a particular translation in
    a  <target> or <bin-target> element.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
final | 
        Indicates the terminating state. | 
needs-adaptation | 
        Indicates only non-textual information needs adaptation. | 
needs-l10n | 
        Indicates both text and non-textual information needs adaptation. | 
needs-review-adaptation | 
        Indicates only non-textual information needs review. | 
needs-review-l10n | 
        Indicates both text and non-textual information needs review. | 
needs-review-translation | 
        Indicates that only the text of the item needs to be reviewed. | 
needs-translation | 
        Indicates that the item needs to be translated. | 
new | 
        Indicates that the item is new. For example, translation units that were not in a previous version of the document. | 
signed-off | 
        Indicates that changes are reviewed and approved. | 
translated | 
        Indicates that the item has been translated. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Undefined.
Used in:
State-qualifier - Describes the state of a
    particular translation in a <target> or <bin-target> element.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
exact-match | 
        Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously. | 
fuzzy-match | 
        Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discripancy, etc.). | 
id-match | 
        Indicates a match based on matching IDs (in addition to matching text). | 
leveraged-glossary | 
        Indicates a translation derived from a glossary. | 
leveraged-inherited | 
        Indicates a translation derived from existing translation. | 
leveraged-mt | 
        Indicates a translation derived from machine translation. | 
leveraged-repository | 
        Indicates a translation derived from a translation repository. | 
leveraged-tm | 
        Indicates a translation derived from a translation memory. | 
mt-suggestion | 
        Indicates the translation is suggested by machine translation. | 
rejected-grammar | 
        Indicates that the item has been rejected because of incorrect grammar. | 
rejected-inaccurate | 
        Indicates that the item has been rejected because it is incorrect. | 
rejected-length | 
        Indicates that the item has been rejected because it is too long or too short. | 
rejected-spelling | 
        Indicates that the item has been rejected because of incorrect spelling. | 
tm-suggestion | 
        Indicates the translation is suggested by translation memory. | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Undefined.
Used in:
Style - The resource style of a control. For example, in Windows resources it corresponds to the STYLE statement.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>, <trans-unit>, <target>, <alt-trans>.
Target language - The language for the <target> elements in the given  <file> element.
Value description:
A language code as described in the [RFC 4646], the successor to [RFC 3066]. The values
    for this attribute follow the same rules as the values for xml:lang. Unlike the other XLIFF attributes,
    the values for  xml:lang are not
    case-sensitive. For more information see the section on 
    xml:lang in the XML specification, and the erratum E11 (which
    replaces RFC 1766 by RFC 3066).
The target language can be also specified by xml:lang in each <target> element. The values of 
    target-language and xml:lang 
    in <target> can be different only
    when in an  <alt-trans>
    element.
Default value:
Undefined.
Used in:
Creation tool - The tool attribute
    is used to specify the signature and version of the tool that created or
    modified the document.
Important: The tool attribute was
    DEPRECATED in version 1.1. Instead, use the <tool>  element and a tool-id attribute.
Value description:
Text
Default value:
manual.
Used in:
Tool company - The tool-company
    attribute specifies the company from which a tool originates.
Value description:
Text.
Default value:
Undefined.
Used in:
Tool identifier - The tool-id
    attribute allows unique identification of a 
    <tool> element. It is also used in other elements
    in the file to refer to the given 
    <tool> element.
Value description:
Text.
Default value:
Undefined.
Used in:
<file>,  <phase>, <alt-trans>, <tool>.
Tool name - The tool-name attribute
    specifies the name of a given tool.
Value description:
Text.
Default value:
Undefined.
Used in:
Tool version - The tool-version
    attribute specifies the version of a given tool.
Value description:
Text.
Default value:
Undefined.
Used in:
Translate - The translate attribute
    indicates whether or not the text referred to should be translated.
Value description:
Boolean: yes or no.
Default value:
yes.
Used in:
<group>, <trans-unit>, <bin-unit>.
Tool-specific data - The ts
    attribute allows you to include short data understood by a specific
    toolset. You can also use the <prop> element to define large
    properties at the element level.
Important: The ts attribute was DEPRECATED
    in version 1.1. Instead, use attributes defined in a namespace different
    from XLIFF. See the Extensibility section
    for more information.
Value description:
Text. No value defined by the standard.
Default value:
Undefined.
Used in:
<file>,  <group>, <trans-unit>, 
    <source>, 
    <target>, 
    <bin-unit>, 
    <bin-source>, 
    <bin-target>, 
    <alt-trans>, 
    <mrk>,  <g>, <x/>, 
    <bx/>, <ex/> ,
    <bpt>, 
    <ept>,  <ph> ,
    <it>.
Unique ID - The uid attribute is
    used to provide a unique ID to identify the skeleton file.
Value description:
Text.
Default value:
Undefined.
Used in:
Unit - The unit attribute specifies
    the units counted in a  <count>
    element.
Value description:
The pre-defined values are defined in the table below.
| Value | Description | 
|---|---|
word | 
        Refers to words. | 
page | 
        Refers to pages. | 
trans-unit | 
        Refers to <trans-unit> elements. | 
bin-unit | 
        Refers to <bin-unit> elements. | 
glyph | 
        Refers to glyphs. | 
item | 
        Refers to <trans-unit> and/or <bin-unit> elements. | 
instance | 
        Refers to the occurrences of instances defined by the count-type value. | 
character | 
        Refers to characters. | 
line | 
        Refers to lines. | 
sentence | 
        Refers to sentences. | 
paragraph | 
        Refers to paragraphs. | 
segment | 
        Refers to segments. | 
placeable | 
        Refers to placeables (inline elements). | 
In addition, user-defined values can be used with this
    attribute. A user-defined value must start with an "x-"
    prefix.
Default value:
Undefined.
Used in:
XLIFF version - The version
    attribute is used to specify the format version of the XLIFF document.
    This corresponds to the version number of the XLIFF specification that is
    being adhered to.
Value description:
Text.
Default value:
1.2
Used in:
Extern Reference identifier - The
    xid attribute is used to link an inline element to a
    different <trans-unit> or
    <bin-unit> element. For
    example, to link the text within a code to a corresponding translation
    unit.
Value description:
The value of the referenced id .
Default value:
Undefined.
Used in:
<bpt>,  <ept>, <it> , <ph>, 
    <g>, <x/>, <bx/>, 
    <ex/>, <sub>
    .
Language  - The xml:lang attribute
    specifies the language variant of the text of a given element. For
    example: xml:lang="fr-FR" indicates the French language as
    spoken in France.
Value description:
A language code as described in the [RFC 4646], the successor to [RFC 3066]. This
    declared value is considered to apply to all elements within the content
    of the element where it is specified, unless overridden with another
    instance of the xml:lang attribute. Unlike the other XLIFF
    attributes, the values for xml:lang are not case-sensitive.
    For more information see the section on 
    xml:lang in the XML specification, and the erratum E11 (which
    replaces RFC 1766 by RFC 3066).
Default value:
Undefined.
Used in:
<xliff>,  <note>, 
    <prop>, 
    <source>, 
    <target>, 
    <alt-trans>.
White spaces - The xml:space
    attribute specifies how white spaces (ASCII spaces, tabs and line-breaks)
    should be treated.
Value description:
default or preserve. The value
    default signals that an application's default white-space
    processing modes are acceptable for this element; the value
    preserve indicates the intent that applications preserve all
    the white space. This declared intent is considered to apply to all
    elements within the content of the element where it is specified, unless
    overridden with another instance of the xml:space
    attribute.
For more information see the section on
     xml:space in the XML specification.
Default value:
default.
Used in:
<file>,  <group>, <trans-unit>,  <alt-trans>.
The following figure shows the possible structure as a tree. Each element is followed by notation indicating its possible occurrence according to the corresponding legend.
(legend: 1 = one + = one or more ? = zero or one * = zero, one or more) <xliff>1 | | | +--- [Extension Point] | | +--- <file>+ | +--- <header>? | | | +--- <skl>? | | | | | +--- (<internal-file> | <external-file>)1 | | | +--- <phase-group>? | | | | | +--- <phase>+ | | | | | +--- <note>* | | | +--- <glossary>* | | | | | +--- (<internal-file> | <external-file>)1 | | | +--- <reference>* | | | | | +--- (<internal-file> | <external-file>)1 | | | +--- <count-group>* | | | | | +--- <count>* | | | +--- <tool>* | | | | | +--- [Extension Point] | | | +--- <prop-group>* | | | | | +--- <prop>* | | | +--- [Extension Point] | | | +--- <note>* | +--- <body>1 | +--- <group>* | | | +--- <context-group>* | | | | | +--- <context>+ | | | +--- <count-group>* | | | | | +--- <count>* | | | +--- <prop-group>* | | | | | +--- <prop>* | | | +--- [Extension Point] | | | +--- <note>* | | | +--- At least one of: (<group>* <trans-unit>* <bin-unit>*) | +--- <trans-unit>* | | | +--- <source>1 | | | | | +--- [Inline Elements] | | | +--- <target>? | | | | | +--- [Inline Elements] | | | +--- <context-group>* | | | | | +--- <context>+ | | | +--- <count-group>* | | | | | +--- <count>* | | | +--- <prop-group>* | | | | | +--- <prop>* | | | +--- <seg-source>? | | | | | +--- [Inline Elements] | | | +--- [Extension Point] | | | +--- <note>* | | | +--- <alt-trans>* | | | +--- <context-group>* | | | | | +--- <context>+ | | | +--- <source>? | | | | | +--- [Inline Elements] | | | +--- <target>+ | | | | | +--- [Inline Elements] | | | +--- <prop-group>* | | | | | +--- <prop>* | | | +--- <seg-source>? | | | | | +--- [Inline Elements] | | | +--- [Extension Point] | | | +---- <note>* | +--- <bin-unit>* | +--- <bin-source>1 & <bin-target>? | | | +--- (<internal-file> | <external-file>)1 | +--- <context-group>* | | | +--- <context>+ | +--- <count-group>* | | | +--- <count>* | +--- <prop-group>* | | | +--- <prop>* | +--- [Extension Point] | +--- <note>* | +--- <trans-unit>* Struct_Extension_Elements Inline Elements: ---+--- <ph>* | | | +--- <sub>* | | | +--- [Inline Elements] | +--- <it>* | | | +--- <sub>* | | | +--- [Inline Elements] | +--- <bpt>* | | | +--- <sub>* | | | +--- [Inline Elements] | +--- <ept>* | | | +--- <sub>* | | | +--- [Inline Elements] | +--- <g>* | | | +--- [Inline Elements] | +--- <x/>* | | | +--- [Inline Elements] | +--- <bx/>* | | | +--- [Inline Elements] | +--- <ex/>* | | | +--- [Inline Elements] | +--- <mrk>* | +--- [Inline Elements]
The changes in this version relative to the previous version are as follows:
equiv-trans attribute regarding <trans-unit>
      elementsmerged-trans  attribute
      for  <group> elements
      to section 3.2 (Elements).<seg-source> element as optional in the <trans-unit> and <alt-trans> content
      models, at the same level as 
      <source> .mtype attribute of the 
      <mrk> element.mid as an optional
      attribute for the 
      <alt-trans> element.<phase>
       section, changing "optional phase-name" to "required phase-name",
      as reported in this comment email -> 
      http://lists.oasis-open.org/archives/xliff-comment/200509/msg00001.html<context-group> from required to optional, and
      modified description.<xliff>alttranstype
       attribute to 
      <alt-trans>.<target> elements in a single <alt-trans>.restype
      attribute in <target> 
      element.phase-name
       attribute in 
      <alt-trans>.<alt-trans> elements to appear before older
      ones.restype attribute in 
      <target> element.
      state-qualifier attribute in  <bin-target>
      element.<group>, <trans-unit>, <bin-unit> elements, in any
      order." to align with the schema definition: "Zero, one or more <group>, <trans-unit>, <bin-unit> elements, in any
      order."<xliff> and
      <seg-source>  to
      Adding Elements section.<group>, <trans-unit> and <bin-unit> to explicitly specify
      id attribute is unique.<bpt>  and 
      <ept>  instead of 
      <g> and 
      <ph> tags instead of 
      <x/>" , and added 
      equiv-text attribute description and appended to all
      inline tags.
      <xliff> and 
      <seg-source> to section 2.5.4., added  alttranstype and reformat, added equiv-trans to <target>, added merged-trans to <group>, and added anchor for <seg-source> in  <alt-trans>.<seg-source>.<xliff>
      indicating it supports non-XLIFF elements.
      <phase>,  <context-group>
      and <tool> .
      <seg-source> to be same as 
      <source> as per schema.<target> elements is one (multiple <target>s in <alt-trans> deprecated in 1.2)The following naming guidelines were used in writing this specification.
The following guidelines were used for element and attribute naming.
Attribute values are case sensitive. It is recommended that lower-case values are used. The specification recommends a number of values for some attributes, these are all lower-case.
Where multiple attribute values are to be used in an
    XLIFF document, two approaches are used: For enumerated attributes (such
    as the purpose attribute of <context-group>) the separator must
    be a space. For other textual attributes based on string, the
    specification recommends the use of the semi-colon as a separator for
    values. For example, multiple contacts may be listed for a  <file> with the attribute written thusly:
    contact-name="Frank Sinatra;Sammy Davis Jnr;Dean Martin"
    .
XLIFF reserves processing instructions that begin with
    "xliff-".
XLIFF documents use the .xlf extension. No
    other extension is recommended by the specification.
The XLIFF Technical Committee at OASIS is composed of the following members:
CSS Specifications. W3C (World Wide Web Consortium).
IANA Names for Character Sets. IANA (Internet Assigned Numbers Authority), Aug 2001
Codes for the Representation of Names of Languages. ISO (International Standards Organization), Nov 2001.
Codes for the representation of names of countries and their subdivisions. ISO (International Organization for Standardization), Jun 2000.
Representation of dates and times. ISO (International Organization for Standardization), Dec 2000.
Multipurpose Internet Mail Extensions. IETF (Internet Engineering Task Force), Jun 1992.
RFC 4646 Tags for the Identification of Languages. IETF (Internet Engineering Task Force), Sep 2006.
Extensible Markup Language (XML) 1.0. W3C (World Wide Web Consortium).
Namespaces in XML. W3C (World Wide Web Consortium), August 16, 2006.
International Organization for Standardization Web site.
Localisation Industry Standards Association Web site.
Organization for the Advancement of Structured Information Standards Web site.
OpenTag Format Specifications. ILE (International Language Engineering), Nov 1998.
Translation Memory eXchange (TMX). LISA (Localisation Industry Standards association).
Segmentation Rules eXchange (SRX). LISA (Localisation Industry Standards association).
Unicode Consortium Web site.
World Wide Web Consortium Web site.