XLIFF 1.1 Specification

Working Draft 14 - RC 5, 25 April 2003

This version:

<not applicable yet>

Latest version:

<not applicable yet>

Previous version:

http://www.oasis-open.org/committees/xliff/documents/xliff-20020415.htm

Editor:

Yves Savourel <ysavourel@translate.com>

Tony Jewtushenko <tony.jewtushenko@oracle.com>

Copyright © 2001-2003 The Organization for the Advancement of Structured Information Standards [OASIS].

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 paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document 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 RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

 


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 of this Document

This document is the latest Working Draft of the committee for the XLIFF 1.1 Specification. It is an OASIS draft document for review by OASIS members and other interested parties. Comments may be sent to xliff-comment@lists.oasis-open.org.

This document may be updated, replaced, or rendered obsolete by other documents at any time. It is inappropriate to use this document as reference material other than "work in progress".

Table of Contents

1. Introduction

2. General Structure

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

3. Detailed Specifications

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

Appendices

A. XLIFF Tree Structure

B. Document Type Definition and Schema

C. Changes Since Previous Version (Non-Normative)

D. Naming Guidelines (Non-Normative)

E. XLIFF Technical Committee (Non-Normative)

F. References


1. Introduction

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.

2. General Structure

XLIFF is XML, as such it begins with an XML declaration. After the XML declaration comes the XLIFF document itself, enclosed within the <xliff> element. A 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 meta-data about the <file>, and a <body> element, which contains the extracted translatable data from the <file>. The translatable data within <trans-unit> elements are 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 xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
 <file original="hello.txt" source-language="en" target-language="fr" datatype="plaintext">
  <body>
   <trans-unit id="hi">
        <source>hello world</source>      
        <target>bonjour 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.

2.1. Header

The XLIFF <header> contains meta-data 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 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.

2.2. Body

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 that allows 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 are the leaf nodes of the tree structure. 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 a <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.

2.3. Named Groups

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>.

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 in version 1.1.

2.4. Inline Elements

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:

  1. Elements that have content, and for which this content is the actual native code of the original data (escaped for XML if necessary). These elements are: <bpt>, <ept>, <it>, and <ph>.
  2. Elements that are empty and act has placeholders for a native code that is either in the Skeleton file or generated automatically.  These elements are: <g>, <bx/>, <ex/>, and <x/>.
  3. The <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 single segment. For example, an instruction to begin embolden for a range of words which is then followed in the same segment 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 segment. For example, an instruction to embolden text may apply to the first three sentences in a paragraph, 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 segment, while its closing tag is present in the third segment. 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/>.

Guidelines for using <bpt>, <ept>, <it>, <ph>, <bx/>, <ex/>, <g> and <x/> elements are as follows:

·        Use <bpt> or <bx/> for opening each code that has a corresponding closing code in the content. Use <bpt> to mask the code, <bx/> to replace the code. The <bpt> and <bx/> elements should be followed by a matching <ept> or <ex/> element, respectively. These paired elements are related via their rid attributes.

·        Use <ept> or <ex/> for closing each code that has a corresponding opening code in the content. Use <ept> to mask the code, <ex/> to replace the code. The <ex/> element should be followed by a matching <ex/> element. These paired elements are related via their rid attributes. The <ept> and <ex/> elements should be preceded by a matching <bpt> or <bx/> element, respectively. These paired elements are related via their rid attributes.

·        Use <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 source element. Use <it> to encapsulate those codes. <it> has a mandatory attribute pos. that should be set to "begin" or "end" depending on whether the isolated code is an opening or a closing code.

·        Use <ph> or <x/> for standalone codes. Use <ph> to mask the code, <x/> to replace the code. Standalone codes are codes that are not opening or closing of a pair, for example empty elements in XML.

·        Use <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. Use the required id attribute to relate begin and end <g> tags.

·        Use the 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.

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.

2.5. Extensibility

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. There are several ways to do this in XLIFF. All of them use the namespace mechanism [XML Names]. You can add non-XLIFF elements, as well as attributes and attribute values.

Although XLIFF offer this extensibility mechanism, in order 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.

2.5.1. Adding Elements

XLIFF provides several extension points in the following elements: <header>, <group>, <tool>, <trans-unit>, <alt-trans>, and  <bin-unit>.

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 element (in bold) within an XLIFF document:

<xliff version='1.1'
 xmlns='urn:oasis:names:tc:xliff:document:1.1'
 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">
     <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>.

2.5.2. Adding Attributes

Attributes of a namespace different than XLIFF can be included in several XLIFF elements.

The following elements allow non-XLIFF attributes: <file>, <group>, <trans-unit>, <source>, <target>, <tool>, <bin-unit>, <bin-source>, <bin-target>, <alt-trans>, <mrk>, <g>, <x/>, <bx/>, <ex/>, <bpt>, <ept>, <ph>, and <it>.

For instance, the following XLIFF code illustrates how to use attributes from the XHTML vocabulary (in bold) in the the <group> and <trans-unit> XLIFF elements. The example show how to carry formatting information about the an extracted table:

<xliff version='1.1'
 xmlns='urn:oasis:names:tc:xliff:document:1.1'
 xmlns:htm='http://www.w3.org/TR/REC-html40'>
 <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='1' htm:valign='top' htm:width='30%'>
     <source>Text of row 1 column 2</source>
    </trans-unit>
   </group>
   <group restype='row'>
    <trans-unit id='1' htm:valign='top' htm:width='30%'>
     <source>Text of row 2 column 1</source>
    </trans-unit>
    <trans-unit id='1' 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.

2.5.3. Adding Attribute Values

Many attributes in XLIFF offer a list of enumerated values. Some applications may found 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: context-type, count-type, ctype, datatype, mtype, restype, size-unit, state, state-qualifier, unit, priority, and purpose.

User-defined values must start with a "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>
...

2.5.4. Validating Documents with Extensions

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).

<xliff version='1.1'
 xmlns='urn:oasis:names:tc:xliff:document:1.1'
 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
 xsi:schemaLocation='
  urn:oasis:names:tc:xliff:document:1.1 xliff-1-1.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.

2.6. Embedding XLIFF

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.

3. Detailed Specifications

3.1. XML Declaration

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.1".

A minimal XLIFF document with one entry looks something like this:

<?xml version="1.0"?>
<xliff version="1.1">
 <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.1'
 xmlns='urn:oasis:names:tc:xliff:document:1.1'
 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
 xsi:schemaLocation='
  urn:oasis:names:tc:xliff:document:1.1 xliff-1-1.xsd
  urn:oasis:names:tc:xliff-values:document:1.1 xliff-values-1-1.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.

3.2. Elements

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>.

3.2.1. Top-level and Header Elements

The top-level and header elements are the following:

<xliff>

XLIFF document - The <xliff> element encloses all the other elements of the document.

Required attributes:

version.

Optional attributes:

xml:lang.

Contents:

One or more <file> elements.

<file>

File - The <file> element corresponds to a single extracted original document.

Required attributes:

original, source-language, datatype.

Optional attributes:

tool, tool-id, date, xml:space, ts, category, target-language, product-name, product-version, build-num.

Contents:

Zero or one <header> element, followed by
One <body> element.

<header>

File header - The <header> element contains data 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.

<skl>

Skeleton file - The <skl> element contains the skeleton file or the location of the skeleton file.

Required attributes:

None.

Optional attributes:

None

Contents:

Either exactly one <internal-file> or one <external-file> element.

<internal-file>

Internal file - The <internal-file> element contains the data for the skeleton file or other ancillary data.

Required attributes:

None.

Optional attributes:

form, crc.

Contents:

An embedded file.

<external-file>

External file - The <external-file> element specifies the location of a the skeleton file or other ancillary data.

Required attributes:

href.

Optional attributes:

uid, crc.

Contents:

The <external-file> is an empty element, including attributes only.

<glossary>

Glossary - The <glossary> element points to the glossary source.

Required attributes:

None.

Optional attributes:

None.

Contents:

The glossary description and either exactly one <internal-file> or one <external-file> element.

<reference>

Reference - The <reference> element Contains information about the reference material.

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>

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.

Required attributes:

None.

Optional attributes:

xml:lang, from, priority.

Contents:

Text, no standard elements.

<phase-group>

Phase group - The <phase-group> element contains phase information. This phase information is specific to the users.

Required attributes:

None.

Optional attributes:

None.

Contents:

One or more <phase> elements.

<phase>

Phase information - The <phase> contains metadata about a particular version of XLIFF data.

Required attributes:

phase-name, process-name.

Optional attributes:

company-name, tool, tool-id, date, job-idcontact-name, contact-email, contact-phone.

Contents:

Zero, one or more <note> elements.

<tool>

Tool - The <tool> element describes the tool that has been used to execute a given task in the document.

Required attributes:

tool-id, tool-name.

Optional attributes:

tool-version, tool-company.

Contents:

Zero, one or more non-XLIFF elements.

 

3.2.2. Named Group Elements

The named group elements are the following:

<count-group>

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.

Required attributes:

name.

Optional attributes:

None.

Contents:

One or more <count> elements.

<count>

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.

Required attributes:

count-type.

Optional attributes:

phase-name, unit.

Contents:

Number (the count value).

<context-group>

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 must be named, allowing different uses for each group. 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.

Required attributes:

name.

Optional attributes:

crc, purpose.

Contents:

One or more <context> elements.

<context>

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.

Required attributes:

context-type.

Optional attributes:

match-mandatory, crc.

Contents:

Text, no standard elements.

<prop-group>

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 is 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.

<prop>

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 is DEPRECATED in version 1.1. Instead, use attributes defined in a namespace different from XLIFF. See the Extensibility section for more information.

Required attributes:

prop-type.

Optional attributes:

xml:lang.

Contents:

Tool-specific data or text, no standard elements.

3.2.3. Structural 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.

<body>

File body - The <body> element contains the structural elements.

Required attributes:

None.

Optional attributes:

None.

Contents:

Zero, one or more <group>, <trans-unit>, <bin-unit> elements, in any order.

<group>

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.

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.

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
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.

<trans-unit>

Translation unit - The <trans-unit> elements contains a <source>, <target> and associated elements. Lists of values for the datatype, restype, and size-unit attributes are provided.

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.

Contents:

One <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>

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. 

Required attributes:

None.

Optional attributes:

xml:lang, ts.

Contents:

Text, 
Zero, one or more of the following elements: <g>, <x/>, <bx/>, <ex/>, <bpt>, <ept>, <ph>, <it>, <mrk>, in any order.

<target>

Target - The <target> element is used to delimit a unit of text. A paragraph in XLIFF does not necessarily correspond to a "paragraph" in a word-processor. It's simply a unit of text that could be a paragraph, a title, a menu item, a caption, etc. A list of preferred values for the restype attribute is available.

Required attributes:

None.

Optional attributes:

state, state-qualifier, phase-name, xml:langts, restype, resnamecoord, font, css-style, style, exstyle.

Contents:

Text, 
Zero, one or more of the following elements: <g>, <x/>, <bx/>, <ex/>, <bpt>, <ept>, <ph>, <it>, <mrk>, in any order.

<alt-trans>

Translation match - The <alt-trans> element contains a possible translation in a <target> along with optional context, notes, etc.

Required attributes:

None.

Optional attributes:

match-quality, tool, tool-id, crc, xml:lang, datatype, xml:spacets, restype, resname, extradata, help-idmenu, menu-option, menu-name, coord, fontcss-style, style, exstyle, extype, origin.

Contents:

Zero or one <source> element, followed by
One or more <target> elements, 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.

<bin-unit>

Binary unit - The <bin-unit> element contains a binary object that may or may not be translatable.

Required attributes:

id, mime-type.

Optional attributes:

approved, translate, reformat, ts, phase-name, restype, resname.

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.

<bin-source>

Binary source - The <bin-source> element is the container for the binary source data.

Required attributes:

None.

Optional attributes:

ts.

Contents:

One of <internal-file> or <external-file>.

<bin-target>

Binary target - The <bin-target> element is the container for the translated version of the binary data.

Required attributes:

None.

Optional attributes:

mime-type, ts, state, state-qualifier, phase-name, restype, resname.

Contents:

One of <internal-file> or <external-file>.

3.2.4. Inline Elements

The inline elements are the elements that can appear inside the <source> and <target> elements. They enclose or replace any formatting or control codes that is not text, but resides within the text unit.

<g>

Generic group placeholder - The <g> element is used 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. When possible, the ctype allows you to specify what kind of attribute the placeholder represents. A list of preferred values for the ctype attribute is available. A <g> element can contain another <g> element.

Required attributes:

id.

Optional attributes:

ctype, ts, clone, xid.

Contents:

Text,
Zero, one or more of the following elements: <g>, <x/>, <bx/>, <ex/>, <bpt>, <ept>, <ph>, <it>, <mrk>, in any order.

<x/>

Generic placeholder - The <x/> element is used to replace any code of the original document. When possible, the ctype allows you to specify what kind of attribute the placeholder represents. A list of preferred values for the ctype attribute is available.

Required attributes:

id.

Optional attributes:

ctype, ts, clone, xid.

Contents:

Empty.

<bx/>

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. When possible, the ctype allows you to specify what kind of attribute the placeholder represents. A list of preferred values for the ctype attribute is available.

Required attributes:

id.

Optional attributes:

rid, ctype, ts, clone, xid.

Contents:

Empty.

<ex/>

End paired placeholder - The <ex/> 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-formness 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.

Required attributes:

id.

Optional attributes:

rid, ts, xid.

Contents:

Empty.

<ph>

Placeholder - The <ph> element is used to delimit a sequence of native stand-alone codes in the segment. When possible, the ctype allows you to specify what kind of attribute the placeholder represents. A list of preferred values for the ctype attribute is available.

Required attributes:

id.

Optional attributes:

ctype, ts, crcassoc, xid.

Contents:

Code data,
Zero, one or more <sub> elements.

<bpt>

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 segment. When possible, the ctype allows you to specify what kind of attribute the placeholder represents. A list of preferred values for the ctype attribute is available.

Required attributes:

id.

Optional attributes:

rid, ctype, ts, crc, xid.

Contents:

Code data,
Zero, one or more <sub> elements.

<ept>

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 segment.

Required attributes:

id.

Optional attributes:

rid, ts, crc, xid.

Contents:

Code data,
Zero, one or more <sub> elements.

<it>

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 segment. When possible, the ctype allows you to specify what kind of attribute the placeholder represents. A list of preferred values for the ctype attribute is available.

Required attributes:

id, pos.

Optional attributes:

rid, ctype, ts, crc, xid.

Contents:

Code data,
Zero, one or more <sub> elements.

<sub>

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. When possible, the ctype allows you to specify what kind of attribute the placeholder represents. Lists of preferred values for the ctype and datatype attributes are available.

Required attributes:

None.

Optional attributes:

datatype, ctype, xid.

Contents:

Text,
Zero, one or more of the following elements: <g>, <x/>, <bx/>, <ex/>, <bpt>, <ept>, <ph>, <it>, <mrk>, in any order.

3.2.5. Delimiter Element

XLIFF defines an additional element to support various types of text processing. This element is usually not generated by the extraction module and are ignored most of the time during merging, but it can be very powerful with tools such as Machine Translation, glossary handling, quality assurance, etc.

<mrk>

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. A list of preferred values for the mtype attribute is available.

Required attributes:

mtype.

Optional attributes:

mid, ts, comment.

Contents:

Text,
Zero, one or more of the following elements: <g>, <x/>, <bx/>, <ex/>, <bpt>, <ept>, <ph>, <it>, <mrk>, in any order.

3.3. Attributes

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 are the "Recommended Attribute Values". Values for these attributes are case sensitive. These lists are purely informative, the goal is to specify a preferred syntax so tools can have some level of compatibility.

XLIFF attributes

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, extradata, extype, font, form, from, help-id, href, id, job-id, match-mandatory, match-quality, maxheight, maxbytes, maxwidth, menu, menu-name, menu-option, mid, 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.

3.3.1. XLIFF Attributes

approved

Approved - Indicates whether a translation is final.

Value description:

Boolean: yes or no.

Default value:

no.

Used in:

<trans-unit><bin-unit>.

assoc

Association - Indicates the association of a <ph> with the text prior or after.

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-num

Build number - The build number of version of the product or application the localizable material is for.

Value description:

Alpha-numeric.

Default value:

Undefined.

Used in:

<file>.

category

Category - This would give information on the subject of what is being translated.

Value description:

Text.

Default value:

Undefined.

Used in:

<file>.

charclass

Character class - This indicates that a translation is restricted to a subset of characters (e.g. ASCII only, Katakana only, uppercase only, etc.). A blank value indicates there is no limitation.

Value description:

Text.

Default value:

Undefined.

Used in:

<group>, <trans-unit>.

clone

Clone - This indicates that a copy of the given inline element can be made and placed in the <target>.

Value description:

Boolean: yes or no.

Default value:

yes.

Used in:

<g>, <x/>, <bx/>.

comment

Comment - A comment in a tag.

Value description:

Alpha-numeric.

Default value:

Undefined.

Used in:

<mrk>.

company-name

Company name - The client name.

Value description:

Text.

Default value:

Undefined.

Used in:

<phase>.

contact-email

Contact email - The contact email at the client company (email of the contact-name person).

Value description:

Text.

Default value:

Undefined.

Used in:

<phase>.

contact-name

Contact name - The contact at the client company.

Value description:

Text.

Default value:

Undefined.

Used in:

<phase>.

contact-phone

Contact phone - Phone number of the contact-name person.

Value description:

Text.

Default value:

Undefined.

Used in:

<phase>.

context-type

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 a "x-" prefix.

Default value:

Undefined.

Used in:

<context>.

coord

Coördinates - The coord attribute specifies the x, y, cx and cy coördinates of the text for a given element. The cx and cy values must represent the width and the height (like in Windows resources). The extraction and merging tools must make the right conversion if the original format uses a top-left/bottom-right coördinate 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

Count type - The count-type attribute specifies the purpose of the <count> element.

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 a "x-" prefix.

In addition, the count-type attribute can take any value defined for datatype, restype, state, or state-qualifier.

Default value:

None.

Used in:

<count>.

crc

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>.

css-style

Cascading style-sheet style - The css-style attribute allows any valid CSS style 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>.

ctype

Content type - The type attribute specifies the content 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 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 a "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 a "x-" prefix.

Default value:

Undefined.

Used in:

<g>, <x/>, <bx/>, <bpt>, <sub>, <it>, <ph>.

datatype

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.

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.

pageheader

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 a "x-" prefix.

Default value:

Empty string.

Used in:

<file>, <group>, <trans-unit>, <alt-trans>, <sub>.

date

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:

<file><phase>.

exstyle

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>.

extradata

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>.

extype

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

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 and its size, weight separated by a semi-colon.

Default value:

Undefined.

Used in:

<group>, <trans-unit>, <target>, <alt-trans>.

form

Format - Describes the type of format used in an <internal-file> element.

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:

<internal-file>.

from

From - Indicates the author of a <note> element.

Value description:

Text.

Default value:

Undefined.

Used in:

<note>.

help-id

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>.

href

Hypertext reference - The location of the file or the URL for an <external-file> element.

Value description:

Text.

Default value:

Undefined.

Used in:

<external-file>.

id

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:

Alpha-numeric without spaces.

Default value:

Undefined.

Used in:

<group>, <trans-unit>, <bin-unit>, <g>, <x/>, <bx/>, <ex/>, <bpt>, <ept>, <it>, <ph>.

job-id

Job ID - The identifier given to the localization job.

Value description:

Text.

Default value:

Undefined.

Used in:

<phase>.

match-mandatory

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:

<context>.

match-quality

Match quality - The match quality of the <alt-trans> element. This value 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:

<alt-trans>.

maxheight

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:

<group>, <trans-unit>.

maxbytes

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:

<group>, <trans-unit>.

maxwidth

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:

<group>, <trans-unit>.

menu

Menu - The menu attribute stores the menu property of an item.

Text.

Default value:

Undefined.

Used in:

<group>, <trans-unit>, <alt-trans>.

menu-name

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

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>.

mid

Marker ID - Identifier for an <mrk> element.

Value description:

Text.

Default value:

Undefined.

Used in:

<mrk>.

mime-type

Mime type - Indicates the type of a binary object. 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:

<bin-unit>, <bin-target>.

minheight

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:

<group>, <trans-unit>.

minbytes

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:

<group>, <trans-unit>.

minwidth

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:

<group>, <trans-unit>.

mtype

Marker type - The mtype attribute specifies what an <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.

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 a "x-" prefix.

Default value:

Undefined.

Used in:

<mrk>.

name

Name - The name attribute specifies the user-defined name of a named group element.

Value description:

Text.

Default value:

Undefined.

Used in:

<prop-group>, <context-group>, <count-group>.

origin

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:

<alt-trans>.

original

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:

<file>.

phase-name

Phase Name - The phase-name attribute allows to name uniquely a <phase> element. It is also 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>.

pos

Position - Indicates whether an isolated tag <it> is a beginning or and ending tag.

Value description:

open or close.

Default value:

Undefined.

Used in:

<it>.

priority

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:

<note>.

process-name

Process name - The name specifying the type of process a given <phase> corresponds (e.g. Translation, Proofreading, Sizing, etc.).

Value description:

Text.

Default value:

Undefined.

Used in:

<phase>.

product-name

Product name - The name of the product which uses this file.

Value description:

Text.

Default value:

Undefined.

Used in:

<file>.

product-version

Product version - The version of the product which uses this file.

Value description:

Alpha-numeric.

Default value:

Undefined.

Used in:

<file>.

prop-type

Property type - The prop-type attribute specifies the type of a <prop> element.

Value description:

Text. No value defined by the standard.

Default value:

Undefined.

Used in:

<prop>.

purpose

Purpose - The purpose attribute specifies the purpose of a <context-group> element.

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 a "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:

<context-group>.

reformat

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 indicate that all properties can be reformatted. This value must be used alone.

no

This value indicate 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 a "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>.

resname

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>.

restype

Resource type - Indicates the 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 contol 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.

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.

vscrollbar

Indicates a vertical scrollbar.

versioninfo

Indicates version information about a resource like VERSIONINFO in Windows.

window

Indicates a graphical window.

In addition, user-defined values can be used with this attribute. A user-defined value must start with a "x-" prefix.

Default value:

Undefined.

Used in:

<group>, <trans-unit>, <target>, <alt-trans>, <bin-unit>, <bin-target>.

rid

Reference identifier - The rid attribute is used to link different elements that are related. For example, a reference to its definition, or paragraphs belonging to the same group, etc.

Value description:

Alpha-numeric without spaces.

Default value:

Undefined.

Used in:

<bpt>, <ept>, <it>, <bx/>, <ex/>.

size-unit

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.

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 a "x-" prefix.

Default value:

pixel.

Used in:

<group>, <trans-unit>.

source-language

Source language - The language for the <source> elements in the given <file> element.

Value description:

A language code as described in the [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 value of source-language and xml:lang can be different to allow having different source languages if necessary (for example in an <alt-trans> element).

Default value:

Undefined.

Used in:

<file>.

state

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

finished

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 a definite reviewed/completion status.

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 a "x-" prefix.

Default value:

Undefined.

Used in:

<target><bin-target>.

state-qualifier

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 extact 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, whitesapces discripency, 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 a translation memory.

In addition, user-defined values can be used with this attribute. A user-defined value must start with a "x-" prefix.

Default value:

Undefined.

Used in:

<target><bin-target>.

style

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

Target language - The language for the <target> elements in the given <file> element.

Value description:

A language code as described in the [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 value of target-language and xml:lang can be different to allow having different target languages if necessary (for example in an <alt-trans> element).

Default value:

Undefined.

Used in:

<file>.

tool

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 is DEPRECATED in version 1.1. Instead, use the <tool> element and a tool-id attribute.

Value description:

Text

Default value:

manual.

Used in:

<file>, <phase>, <alt-trans>.

tool-company

Tool company - The tool-company attribute allows to specify the company from which a tool originates.

Value description:

Text.

Default value:

Undefined.

Used in:

<tool>.

tool-id

Tool identifier - The tool-id attribute allows to identify uniquely 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

Tool name - The tool-name attribute allows to specify the name of a given tool.

Value description:

Text.

Default value:

Undefined.

Used in:

<tool>.

tool-version

Tool version - The tool-version attribute allows to specify the version of a given tool.

Value description:

Text.

Default value:

Undefined.

Used in:

<tool>.

translate

Translate - 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>.

ts

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 is 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>.

uid

Unique ID - The unique id used to identify the skeleton file.

Value description:

Text.

Default value:

Undefined.

Used in:

<external-file>.

unit

Unit - 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 occurences 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

Referes to segments.

placeable

Referes to placeables (inline elements).

In addition, user-defined values can be used with this attribute. A user-defined value must start with a "x-" prefix.

Default value:

Undefined.

Used in:

<count>.

version

XLIFF version - The version attribute is used to specify the format version of the XLIFF document.

Value description:

Text.

Default value:

1.1

Used in:

<xliff>.

xid

Extern Reference identifier - The xid attribute is used to link an inline element to a <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>.

3.3.2. XML Namespace Attributes

xml:lang

Language - The xml:lang attribute specifies the language variant of the text of a given element.

Value description:

A language code as described in the [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>.

xml:space

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 applications' 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>.

A. XLIFF Tree Structure

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
|
+--- <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>*
          |    |
          |    +--- [Extension Point]
          |    |
          |    +--- <note>*
          |    |
          |    +--- <alt-trans>*
          |         |
          |         +--- <context-group>*
          |         |    |
          |         |    +--- <context>+
          |         |
          |         +--- <source>?
          |         |    |
          |         |    +--- [Inline Elements]
          |         |
          |         +--- <target>+
          |         |    |
          |         |    +--- [Inline Elements]
          |         |
          |         +--- <prop-group>*
          |         |    |
          |         |    +--- <prop>*
          |         |
          |         +--- [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>*
 
 
 
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]

B. Document Type Definition and Schema

C. Changes Since Previous Version (Non-Normative)

The format changes in this version relative to the previous version are as follows:

D. Naming Guidelines (Non-Normative)

The following naming guidelines were used in writing this specification.

D.1. Elements and Attributes

The following guidelines were used for element and attribute naming.

  1. Standard English letters.
  2. Lower case only.
  3. Hyphen is the preferred mean for creating composite names.
  4. Industry standard terminology should be followed where possible.

D.2. Attribute Values

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".

D.3. Processing Instructions

XLIFF reserves processing instructions that begin with "xliff-".

D.4. XLIFF File Extension

XLIFF documents use the .xlf extension. No other extension is recommended by the specification.

E. XLIFF Technical Committee (Non-Normative)

The XLIFF Technical Committee at OASIS is composed of the following members:

E. References

Normative

[IANA Charsets]

IANA Names for Character Sets. IANA (Internet Assigned Numbers Authority), Aug 2001

[ISO 639]

Codes for the Representation of Names of Languages. ISO (International Standards Organization), Nov 2001.

[ISO 3166]

Codes for the representation of names of countries and their subdivisions. ISO (International Organization for Standardization), Jun 2000.

[ISO 8601]

Representation of dates and times. ISO (International Organization for Standardization), Dec 2000.

[RFC 1341]

Multipurpose Internet Mail Extensions. IETF (Internet Engineering Task Force), Jun 1992.

[RFC 3066]

RFC 3066 Tags for the Identification of Languages. IETF (Internet Engineering Task Force), Jan 2001.

[XML 1.0]

Extensible Markup Language (XML) 1.0 Second Edition. W3C (World Wide Web Consortium), Oct 2000.

[XML Names]

Namespaces in XML. W3C (World Wide Web Consortium), Jan 1999.

Non-Normative

[ISO]

International Organization for Standardization Web site.

[LISA]

Localisation Industry Standards Association Web site.

[OASIS]

Organization for the Advancement of Structured Information Standards Web site.

[OpenTag 1.2]

OpenTag Format Specifications. ILE (International Language Engineering), Nov 1998.

[TMX 1.4a]

TMX Format Specifications. LISA (Localisation Industry Standards association), Jul 2002.

[Unicode]

Unicode Consortium Web site.

[W3C]

World Wide Web Consortium Web site.