<jreid@novell.com>
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.
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.
This Committee Specification was approved for publication by the OASIS XLIFF Technical Committee. It is a stable document which represents the consensus of the committee. Comments may be sent to xliff-comment@lists.oasis-open.org.
Appendices
XLIFF is the XML Localization Interchange File Format designed by a group of software providers, localization service providers, and localization tools providers. It is intended to give any software provider a single interchange file format that can be understood by any localization provider. It is loosely based on the OpenTag version 1.2 specification and borrows from the TMX 1.2 specification. However, it is different enough from either one to be its own format.
XLIFF is an XML application, as such it begins with an XML declaration. After the XML
declaration comes the XLIFF document itself, enclosed within the
<xliff>
element. An XLIFF document is composed
of one or more sections, each enclosed within a
<file>
element. The <file>
element
consists of a <header>
element, which
contains metadata about the <file>
, and a
<body>
element, which contains the extracted
translatable data from the <file>
. The
translatable data within <trans-unit>
elements is organized into <source>
and
<target>
paired elements. These
<trans-unit>
elements can be grouped recursively in
<group>
elements.
In addition, XLIFF provides the ability to maintain information about the
processing of the file via the <phase>
element. Possible translations for a specific <source>
element can be generated from any number of MT (Machine Translation) and CAT
(Computer Assisted Translation) systems and stored near the
<source>
in <alt-trans>
elements. Context for a <source>
that could
be used by a translator or a TM (Translation Memory) system is provided by the
<context>
element. Binary data can be made
available via the <bin-unit>
, which may
also be translated and contain an associated
<trans-unit>
.
It is strongly recommended that content within the <file>
element be uniformly bilingual. In other words, each <source>
and <target>
element that is a child
of <trans-unit>
is of the same
language as the source-language and target-language attributes of the <file>
element, respectively. The xml:lang
attribute should not be used in those elements. The exception is that <source>
and <target>
elements that are
children of <alt-trans>
may contain an xml:lang
attribute of a different language than that of the source-language
and target-language
attributes of
the <file>
element.
<xliff version='1.1' xmlns='urn:oasis:names:tc:xliff:document: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 le monde</target> <alt-trans> <target xml:lang='es'>Hola mundo</target> </alt-trans> </trans-unit> </body> </file> </xliff>
The complete tree structure is available in Appendix A.
The XLIFF <header>
contains
metadata
about the file and the localization process. It contains the
<skl>
, <phase-group>
,
<glossary>
,
<reference>
, <count-group>
,
<tool>
, <prop-group>
, and
<note>
elements. The <skl>
element
contains either a skeleton file of the file submitted for localization or a
hypertext link to that file.
The <phase-group>
element contains
information about each processing phase used in localizing the file; references
to these phases are stored along with the translations. The
<glossary>
and <reference>
elements may contain hypertext links to a glossary and reference file,
respectively, or the actual glossary and reference data that can be used in the
localization process.
The <count-group>
element is a
grouping element of count information of the entire file. The
<prop-group>
element (deprecated) contains
tool-specific information used in combining the data with the skeleton file or
storing the data in a repository. The <note>
element contains instructions for the localization process. The
<count-group>
,
<prop-group>
, and <note>
elements can also appear in the body of the file.
The XLIFF <body>
contains the structure and
the localizable content from the file. It contains the
<group>
, <trans-unit>
and
<bin-unit>
elements. The structure is
described using the <group>
,
<trans-unit>
,
<bin-unit>
elements. The <group>
element is a general purpose structural element used in describing the
hierarchy of the file; it can contain other <group>
elements as children as well as <trans-unit>
and <bin-unit>
elements.
The <trans-unit>
and
<bin-unit>
elements contain the
translatable portions of the document. The <trans-unit>
element contains the text to be translated, the translations, and other related
information. The <bin-unit>
contains
binary data that may or may not need to be translated; it also can contain
translated versions of the binary object as well as other related information.
In the <trans-unit>
element the text
to be translated is contained in a <source>
element. This element may contain inline elements that either remove the codes
from the source (<g>
, <x/>
,
<bx/>
, <ex/>
) or
that mask off codes left inline (<bpt>
,
<ept>
, <sub>
,
<it>
, <ph>
). The
translated text is contained in a <target>
element that has the same inline codes available to it as does the
<source>
element. Translation matches
generated by a TM or MT or entered by a translator may be provided in an
<alt-trans>
element, which also contains
the <source>
and
<target>
elements.
At every structural level contextual information for the localization
process can be provided by the <context-group>
named group element, count information by the
<count-group>
named group element, and tool-specific information by
the <prop-group>
named group
element (deprecated).
XLIFF allows grouping of certain elements into named groups. A named group
is simply a grouping element with a name attribute. These named groups can be
interspersed throughout the file with information designed for specific
purposes. Using XML processing instructions different actions can be performed
with specific named groups. The named group elements are
<context-group>
,
<count-group>
and
<prop-group>
(deprecated).
The <count-group>
element contains
counts of words, translations, dialogs, or anything else that may need to be
counted in the file. A different named group could be stored by the client,
translator, reviewer, and localization engineer. Processing instructions could
inform a system which of these <count-group>
to update during the localization process.
The <prop-group>
element contains
tool specific data that can be used in creating the translated file, storing
the translations, and any other specific task. Processing instructions can
indicate to the tools which named <prop-group>
to use when updating the repository or combining the localized data with the
skeleton file to create a translated file. Note that the <prop-group>
has been deprecated in version 1.1.
The content of the <source>
and the
<target>
elements can include one or
more inline elements (also called "content markup"). Those elements
are used to represent codes that reside within the source or target text, for
example the formatting codes to mark a section of a sentence in bold.
There are three different types of inline elements:
<bpt>
, <ept>
,
<it>
, and <ph>
.<g>
,
<bx/>
, <ex/>
,
and <x/>
.<sub>
element, which can be
inside <bpt>
, <ept>
,
<it>
, and <ph>
to delimit a translatable run of text within a native inline code, for
example the value of an ALT
attribute in a <IMG>
element in HTML.The first two types of inline elements can be classified into three main categories depending on their function, and regardless the method they use to hold the native codes:
A) Codes that either begin or end an instruction, and whose beginning and
ending functions both appear within a translation unit. For example, an
instruction to begin embolden for a range of words which is then followed in
the same translation unit by an instruction to end bold formatting. The elements that
can handle such cases are: <bpt>
, <ept>
,
<g>
, <bx/>
,
and <ex/>
.
B) Codes that either begin or end an instruction, but whose beginning and
ending functions are not both contained within a single translation unit. For example,
an instruction to embolden text may apply to the first of three sentences in a
paragraph contained within a single translation unit, but the instruction to turn off bolding may only appear at the end
of the third sentence. Its beginning instruction is present in the first
translation unit, while its closing tag is present in the third translation
unit. The elements
that can handle such cases are: <it>
and <x/>
.
C) Codes that represent self-contained functions that do not require
explicit ending instructions. Images or cross-reference tokens are examples of
these standalone codes. The elements that can handle such cases are: <ph>
and <x/>
.
The guidelines for using the inline elements are as follows:
<bpt>
or <bx/>
for
opening each code that has a corresponding closing code in the content. Use
<bpt>
to mask the code and <bx/>
to replace the code. The
<bpt>
and <bx/>
elements should be followed by a matching
<ept>
or
<ex/>
element, respectively, within the same translation
unit. These paired elements are matched by
setting their rid
attributes to the same value.
For example: <bpt id='2' rid='1'>xx</bpt> ... <ept
id='3' rid='1'>xx</ept>
and <bx id='4' rid='2'/> ...
<ex id='5' rid='2'/>
. If the rid
attribute is not present (in a 1.0 document for example), the attribute id
is used to match both tags. For example: <bpt id='5'>xx</bpt>
... <ept id='5'>xx</ept>
. <ept>
or <ex/>
for
closing each code that has a corresponding opening code in the content. Use
<ept>
to mask the code and <ex/>
to replace the code. The
<ept>
and <ex/>
elements should be
preceded by a matching <bpt>
and <bx/>
element, respectively. These paired elements are matched by
setting their rid
attributes to the same value.
For example: <bpt id='2' rid='1'>xx</bpt> ... <ept
id='3' rid='1'>xx</ept>
and <bx id='4' rid='2'/> ...
<ex id='5' rid='2'/>
. If the rid
attribute is not present (in a 1.0 document for example), the attribute id
is used to match both tags. For example: <bpt id='5'>xx</bpt>
... <ept id='5'>xx</ept>
. <g>
to replace any
inline code of the original document that has a beginning and an end and can
be moved within its parent structural element. <ph>
or <x/>
for
standalone codes. Use <ph>
to mask the
code and <x/>
to replace the
code. Standalone codes are codes that are not opening or closing of a pair,
for example empty elements in XML. <it>
for opening or
closing each code that has no corresponding closing or opening code in the
source element. In some cases, because of the segmentation, you may have
opening and closing codes that have no corresponding closing or opening codes
within the same translation unit. Use <it>
to encapsulate those codes.
The <it>
element has a mandatory pos
attribute that should be set to "begin
" or "end
" depending on whether the isolated code
is an opening or a closing code. xid
attribute of the <bx/>
,
<ex/>
and <x/>
elements to relate a
<trans-unit>
or <bin-unit>
that
contains the content of that replaced code.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.
At times, it may be useful to extend the set of information available in an XLIFF
document by inserting constructs defined in various other XML vocabularies. You
can add non-XLIFF elements, as well as attributes and attribute values. Adding
elements and attributes use the namespace mechanism
[XML Names]. Adding attribute values generally
involves preceding the value by an "x-
" (e.g. <context
context-type='x-for-engineers'>
).
Although XLIFF offers this extensibility mechanism, in order to avoid a nimiety of information and increase interoperability between tools, it is strongly recommended to use XLIFF capabilities whenever possible, rather than to create non-standard user-defined elements or attributes.
XLIFF provides several extension points in the following elements: <header>
,
<group>
, <tool>
,
<trans-unit>
, <alt-trans>
,
and <bin-unit>
.
Several non-XLIFF element can be used at each extension point. The content of each element can be any valid XML content (empty content, PCDATA, mixed content, and so forth).
For example, the following XLIFF code shows how to add user-defined elements (in bold) within an XLIFF document:
<xliff version='1.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>
.
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 <group>
and <trans-unit>
XLIFF elements. The example shows how to carry formatting information about 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='2' htm:valign='top' htm:width='30%'> <source>Text of row 1 column 2</source> </trans-unit> </group> <group restype='row'> <trans-unit id='3' htm:valign='top' htm:width='30%'> <source>Text of row 2 column 1</source> </trans-unit> <trans-unit id='4' htm:valign='top' htm:width='30%'> <source>Text of row 2 column 2</source> </trans-unit> </group> </group> </file> </xliff>
In each of the XLIFF elements allowing non-XLIFF attributes: there is no specific location where to insert the non-XLIFF attributes, and there is no limit to the number of non-XLIFF attributes that can be used.
Many attributes in XLIFF offer a list of enumerated values. Some applications may find it necessary to add user-defined values to these lists. XLIFF allows for such extension.
The attributes where the list of values can be extended are the following: context-type
,
count-type
, ctype
,
datatype
, mtype
,
restype
, size-unit
, state
,
state-qualifier
, unit
, priority
,
and purpose
.
User-defined values must start with an "x-
" prefix.
There is no specified mechanism to validate individual user-defined values. The
XLIFF schema will allow any value starting with "x-
" in
addition to the pre-defined values.
For example, the following excerpt shows how the user-defined value x-for-engineer
can be utilized in a document:
... <group> <context-group name='EngineersData'> <context context-type='x-for-engineers'>Data...</context> ...
In order to validate an XLIFF document that contains non-XLIFF parts,
you can use the schema validation mechanism: In addition to the namespace declarations, add the schemaLocation
attribute of the XML Schema-instance namespace to define what schemas to use to
validate the document (XLIFF and the non-XLIFF namespaces).
<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-core-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.
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.
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-core-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.
XLIFF elements can be divided into five main categories: the top-level and header elements, the named group elements, the structural elements, the inline elements, and the delimiter elements. Attributes are shared among them.
Top Level and Header elements | <xliff> ,
<file> , <header> ,
<skl> ,
<external-file> , <internal-file> ,
<glossary> ,
<reference> , <phase-group> ,
<phase> , <tool> ,
<note> . |
Named Group Elements | <context-group> ,
<context> ,
<count-group> , <count> ,
<prop-group> , <prop> . |
Structural elements | <body> ,
<group> , <trans-unit> , <source> ,
<target> ,
<bin-unit> , <bin-source> ,
<bin-target> ,
<alt-trans> . |
Inline elements | <g> ,
<x/> , <bx/> ,
<ex/> , <bpt> ,
<ept> , <sub> ,
<it> , <ph> . |
Delimiter element | <mrk> . |
The top-level and header elements are the following:
XLIFF document - The <xliff>
element
encloses all the other elements of the document. The required version
attribute specifies the version of XLIFF. The optional xml:lang
attribute is used to specify the language of the content of the document.
Required attributes:
Optional attributes:
Contents:
One or more <file>
elements.
File - The <file>
element corresponds to a
single extracted original document. The required original
attribute specifies the name of the file from which this file content is
derived. The required datatype
attribute
specifies the format of the original file; e.g. "html". The required source-language
attribute specifies the language of the <source>
content. The optional target-language
attribute is used to specify the language of the <target>
content. The optional tool-id
attribute
accepts the id of the <tool>
used
to generate this XLIFF document. The optional date
attribute is used to specify the creation date of this XLIFF file. The optional
xml:space
attribute is used to specify
how white-spaces are to be treated. The optional category
attribute is used to specify a general category of the content of the file;
e.g. "medical". The optional product-name
attribute is used to specify the name of the product which uses this file. The
optional product-version
and build-num
attributes are used to specify the revision of the product from which this file
comes. The tool
and ts
attributes have been deprecated in XLIFF 1.1.
Required attributes:
original
,
source-language
,
datatype
.
Optional attributes:
tool
, tool-id
,
date
, xml:space
,
ts
, category
,
target-language
,
product-name
,
product-version
,
build-num
.
Contents:
Zero or one <header>
element, followed by
One
<body>
element.
File header - The <header>
element contains
metadata relating to the <file>
element.
Required attributes:
None.
Optional attributes:
None.
Contents:
zero or one <skl>
element, followed by
zero or one <phase-group>
element, followed by
zero, one or more <glossary>
, <reference>
,
<count-group>
, <prop-group>
,
<note>
, <tool>
elements, in any order, followed by
Zero, one or more non-XLIFF elements.
While for backward compatibility reasons no order is enforced for the elements before the non-XLIFF elements, the recommended order is the one in which they are listed here.
Skeleton file - The <skl>
element contains
the skeleton file or the location of the skeleton file. The skeleton file is a
template that can be used in recreating the original file, from the <source>
content, or the translated file, from the <target>
content.
Required attributes:
None.
Optional attributes:
None
Contents:
Either exactly one
<internal-file>
or one
<external-file>
element.
Internal file - The <internal-file>
element contains the
actual file being referenced. It is a child of the <skl>
,
<glossary>
, and <reference>
elements. The format of the file is specified by the optional form
attribute, which accepts mime-type values. The crc
attribute accepts a value that can be used to precisely identify and assure the
authenticity of the file.
Required attributes:
None.
Optional attributes:
Contents:
An embedded file.
External file - The <external-file>
element specifies the location of the actual file being referenced. The
required href
attribute provides a URI to the
file. The crc
attribute accepts a value that
can be used to precisely identify and assure the authenticity of the file. The uid
attribute allows a unique ID to be assigned to the file.
Required attributes:
href
.
Optional attributes:
Contents:
The <external-file>
is an empty element, including
attributes only.
Glossary - The <glossary>
element points
to or contains a glossary, which can be used in the localization of the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
The glossary description and either exactly one
<internal-file>
or one
<external-file>
element.
Reference - The <reference>
element
points to or contains reference material, which can aid in the localization of
the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
A description of the reference material and either exactly one
<internal-file>
or one
<external-file>
element.
Note - The <note>
element is used to add
localization-related comments to the XLIFF document. The content of
<note>
may be instructions from developers about how to handle the
<source>
, comments from the translator about the
translation, or any comment from anyone involved in processing the XLIFF file.
The optional xml:lang
attribute specifies
the language of the note content. The optional from
attribute indicates who entered the note. The optional priority
attribute allows a priority from 1 (high) to 10 (low) to be assigned to the
note.
Required attributes:
None.
Optional attributes:
Contents:
Text, no standard elements.
Phase group - The <phase-group>
element
contains information about the task that has been performed on the file. This phase information is specific
to the tools and workflow used in processing the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
One or more <phase>
elements.
Phase information - The <phase>
contains
metadata about the tasks performed in a particular process. The optional phase-name
attribute uniquely identifies the phase for reference within the file. The
required process-name
attribute
identifies the kind of process the phase corresponds to; e.g.
"proofreading". The optional company-name
attribute identifies the company performing the task. The optional tool-id
attribute references the <tool>
used in performing the task. The optional date
attribute provides a timestamp indicating when the task was performed. The
optional job-id
attribute allows an ID to be assigned to the job. The optional contact-name
,
contact-email
,
and contact-phone
attributes all refer to the person performing the task.
Required attributes:
Optional attributes:
company-name
,
tool
, tool-id
, date
,
job-id
, contact-name
,
contact-email
,
contact-phone
.
Contents:
Zero, one or more <note>
elements.
Tool - The <tool>
element
describes the tool that has been used to execute a given task in the
document. The required tool-id
attribute uniquely identifies the tool for reference within the
file. The required tool-name
attribute specifies the actual tool name. The optional tool-version
attribute provides the version of the tool. The optional tool-company
attribute provides the name of the company that produced the tool.
Required attributes:
Optional attributes:
Contents:
Zero, one or more non-XLIFF elements.
The named group elements are the following:
Count group - The <count-group>
element
holds count elements relating to the level in the tree in which it occurs. Each
group for <count>
elements must be named,
allowing different uses for each group. The required name
attribute uniquely identifies the <count-group>
within the file.
Required attributes:
name
.
Optional attributes:
None.
Contents:
One or more <count>
elements.
Count - The <count>
element contains
information about counts. For each <count>
element the required
count-type
attribute indicates what kind of count the
element
represents, and the optional unit
attribute indicates the unit of the
count (by default: word
). A list of values for
count-type
and
unit
is provided. The
optional phase-name attribute references the <phase>
in which the count was produced.
Required attributes:
Optional attributes:
Contents:
Number (the count value).
Context group - The <context-group>
element
holds context elements relating to the level in the tree in which it occurs.
Thus context can be set at a <group>
level, a
<trans-unit>
level, or a
<alt-trans>
level.
Each <context-group>
element 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.
The required name
attribute
uniquely identifies the <context-group>
within the file. The
optional crc
attribute allows a verification of
the data. The optional purpose
attribute
indicates to what use this context information is used; e.g. "match"
indicates the context information is for memory lookups.
Required attributes:
name
.
Optional attributes:
Contents:
One or more <context>
elements.
Context - The <context>
element
describes the context of a <source>
within a
<trans-unit>
or a
<alt-trans>
. The purpose of this context information is to
allow certain pieces of text to have different translations depending on where
they came from. The translation of a piece of text may differ if it is a web
form or a dialog or an Oracle form or a Lotus form for example. This
information is thus required by a translator when working on the file.
Likewise, the information may be used by any tool proposing to automatically
leverage the text successfully.
The required context-type
attribute indicates what the context information is; e.g. "recordtitle"
indicates the name of a record in a database. The optional match-mandatory
attribute indicates that translations of the <source>
elements within the scope of this context must have the same context. The
optional crc
attribute allows a verification of
the data.
Required attributes:
Optional attributes:
Contents:
Text, no standard elements.
Property group - The <prop-group>
element
contains <prop>
elements. Each
<prop-group>
element may be named, allowing different uses for each
group. These uses can be controlled through the use of XML processing
instructions.
Important: The <prop-group>
element 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.
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:
Optional attributes:
Contents:
Tool-specific data or text, no standard elements.
The structural elements specify the frame of a XLIFF document as well as
contextual and processing information. The <source>
element contains the extracted data and, possibly,
inline elements.
File body - The <body>
element contains the
content from the file.
Required attributes:
None.
Optional attributes:
None.
Contents:
Zero, one or more <group>
,
<trans-unit>
,
<bin-unit>
elements, in any order.
Group - The <group>
element specifies a set
of elements that should be processed together. For example: all the items of a
menu, etc. Note that a <group>
element can contain other
<group>
elements. The <group>
element can be
used to describe the hierarchy of the file.
The optional id
attribute is
used to identify the <group>
within the file. The optional datatype
attribute specifies the data type of the content of the <group>
;
e.g. "winres" for Windows resources. The optional xml:space
attribute is used to specify how white-spaces are to be treated within the <group>
.
The optional restype
, resname
,
extradata
, help-id
,
menu
, menu-option
,
menu-name
, coord
,
font
, css-style
,
style
, exstyle
,
and extype
attributes describe the resources
contained within the <group>
. The optional translate
attribute provides a default value for all <trans-unit>
elements contained within the <group>
. The optional reformat
attribute specifies whether and which attributes can be modified for the <target>
elements of the <group>
. The optional maxbytes
and minbytes
attributes specify the
required maximum and minimum number of bytes for the translation units within
the <group>
. The optional size-unit
attribute determines the unit for the optional maxheight
,
minheight
, maxwidth
,
and minwidth
attributes, which limit the
size of the resource described by the <group>
. The optional charclass
attribute restricts all translation units in the scope of the <group>
to a subset of characters. The optional ts
attribute has been deprecated in XLIFF 1.1. Lists of values for the datatype
,
restype
, and size-unit
attributes are provided by this specification.
Required attributes:
None.
Optional attributes:
id
,
datatype
, xml:space
,
ts
, restype
,
resname
,
extradata
, help-id
,
menu
, menu-option
,
menu-name
, coord
,
font
, css-style
,
style
, exstyle
,
extype
, translate
,
reformat
, maxbytes
,
minbytes
,
size-unit
, maxheight
,
minheight
,
maxwidth
, minwidth
,
charclass
.
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.
Translation unit - The <trans-unit>
elements contains a <source>
,
<target>
and associated elements.
The required id
attribute is
used to identify the <trans-unit>
within the file. The
optional approved
attribute indicates
whether the translation has been approved by a reviewer. The optional translate
attribute indicates whether the <trans-unit>
is to be
translated. The optional reformat
attribute specifies whether and which attributes can be modified for the <target>
element of the <trans-unit>
. The optional xml:space
attribute is used to specify how white-spaces are to be treated within the <trans-unit>
.
The optional datatype
attribute specifies
the data type of the content of the <trans-unit>
; e.g.
"winres" for Windows resources. The optional ts
attribute has been deprecated in XLIFF 1.1. The optional phase-name
attribute references the phase that the <trans-unit>
is in.
The optional restype
, resname
,
extradata
, help-id
,
menu
, menu-option
,
menu-name
, coord
,
font
, css-style
,
style
, exstyle
,
and extype
attributes describe the resource
contained within the <trans-unit>
. The optional maxbytes
and minbytes
attributes specify the
required maximum and minimum number of bytes for the text inside the <source>
and <target>
elements of the <trans-unit>
.
The optional size-unit
attribute
determines the unit for the optional maxheight
,
minheight
, maxwidth
,
and minwidth
attributes, which limit the
size of the resource described by the <trans-unit>
. The
optional charclass
attribute restricts
all <source>
and <target>
text in the scope of the <trans-unit>
to a subset of
characters. Lists of
values for the datatype
,
restype
, and
size-unit
attributes are provided by this specification.
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 text - The <source>
element is used
to delimit a unit of text that could be a paragraph, a title, a menu item, a
caption, etc. The content of the <source>
is generally the
translatable text, depending upon the translate attribute of the parent <trans-unit>
.
The optional xml:lang
attribute is used to
specify the content language of the <source>
; this should
always match source-language
as a
child of <trans-unit>
but can vary as a child of <alt-trans>
.
The optional ts
attribute has been deprecated in
XLIFF 1.1.
Required attributes:
None.
Optional attributes:
Contents:
Text,
Zero, one or more of the following elements: <g>
,
<x/>
, <bx/>
,
<ex/>
, <bpt>
,
<ept>
, <ph>
,
<it>
, <mrk>
, in
any order.
Target - The <target>
element
contains the translation of the content of the sibling <source>
element. The optional state
and state-qualifier
attributes indicate in which state the <target>
is. The
optional phase-name
attribute references
the <phase>
in which the <target>
was last modified. The optional xml:lang
attribute is used to specify the content language of the <target>
;
this should always match target-language
as a child of <trans-unit>
but can
vary as a child of <alt-trans>
. The
optional coord
, font
,
css-style
, style
,
and exstyle
attributes describe the
resource contained within the <target>
; these are the
modifiable attributes for the <trans-unit>
depending upon the reformat
attribute of
the parent <trans-unit>
. The
optional ts
attribute has been deprecated in
XLIFF 1.1. A list of preferred values for the restype
,
state
, and state-qualifier
attributes are provided by this specification.
Required attributes:
None.
Optional attributes:
state
,
phase-name
, xml:lang
, ts
,
restype
, resname
, coord
,
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.
Translation match - The <alt-trans>
element
contains possible translations in <target>
elements along with optional
context, notes, etc. The optional match-quality
attribute provides a value indicating the exactness of the match between the <source>
of the <alt-trans>
and that of the <source>
element of the parent <trans-unit>
;
e.g. "90%". The optional tool-id
attribute accepts the id of the <tool>
used to generate this <alt-trans>
. The optional crc
attribute allows a verification of the data. The optional xml:lang
attribute is used to specify the content language of the <alt-trans>
.
The optional xml:space
attribute is used
to specify how white-spaces are to be treated within the <alt-trans>
.
The optional datatype
attribute specifies
the data type of the content of the <alt-trans>
; e.g. "winres"
for Windows resources. The optional restype
,
resname
, extradata
,
help-id
, menu
,
menu-option
, menu-name
,
coord
, font
,
css-style
, style
,
exstyle
, and extype
attributes describe the resource contained within the <alt-trans>
.
The optional origin
attribute specifies
where the alternate translation comes from; e.g. a previous version of the
product. The tool
and ts
attributes have been deprecated in XLIFF 1.1. Lists of values for the datatype
and restype
attributes are provided by this
specification.
Required attributes:
None.
Optional attributes:
match-quality
,
tool
, tool-id
, crc
,
xml:lang
,
datatype
, xml:space
, ts
,
restype
, resname
,
extradata
,
help-id
, menu
,
menu-option
,
menu-name
, coord
,
font
, css-style
,
style
, exstyle
,
extype
,
origin
.
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.
Binary unit - The <bin-unit>
element contains a binary object that may or may not be translatable. The
required id
attribute is used to identify the <bin-unit>
within the file. The required mime-type
attribute specifies the data type of the binary object based on RFC
1341. The optional approved
attribute
indicates whether the translation has been approved by a reviewer. The optional
translate
attribute indicates whether the
<bin-unit>
is to be translated. The
optional reformat
attribute specifies
whether and which attributes can be modified for the <bin-target>
element of the <bin-unit>
. The optional ts
attribute has been deprecated in XLIFF 1.1. The optional phase-name
attribute references the phase that the <bin-unit>
is in.
The optional restype
and resname
attributes describe the resource contained within the <bin-unit>
.
Lists of values for the restype
attribute
is provided by this specification.
Required attributes:
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.
Binary source -The <bin-source>
element is
the container for the binary source data. The optional ts
attribute has been deprecated in XLIFF 1.1.
Required attributes:
None.
Optional attributes:
ts
.
Contents:
One of <internal-file>
or <external-file>
.
Binary target -The <bin-target>
element is
the container for the translated version of the binary data. The optional mime-type
attribute specifies the data type of the binary object based on RFC
1341. The optional ts
attribute has been
deprecated in XLIFF 1.1. The optional state
and state-qualifier
attributes
indicate in which state the <bin-target>
is. The optional phase-name
attribute references the phase that the <bin-target>
is in.
The optional restype
and resname
attributes describe the resource contained within the <bin-target>
.
A list of values for the restype
, state
,
and state-qualifier
attributes are
provided by this specification.
Required attributes:
None.
Optional attributes:
mime-type
,
ts
, state
,
phase-name
,
restype
, resname
.
Contents:
One of <internal-file>
or <external-file>
.
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.
Generic group placeholder - The <g>
element
is used to replace any inline code of the original document that has a
beginning and an end, does not overlap other paired inline codes, and can be moved within its parent structural element.
The required id
attribute is used to reference
the replaced code in the skeleton file. The optional ctype
attribute allows you to specify
what kind of attribute the placeholder represents; e.g. "bold". The
optional ts
attribute has been deprecated in
XLIFF 1.1. The optional clone
attribute
indicates whether this <g>
element may be duplicated. The
optional xid
attribute references a <trans-unit>
or <bin-unit>
, through its id
attribute value, which can contain any translatable text from the replaced
code. A list of values
for the ctype
attribute is available. A <g>
element can contain another <g>
element.
Required attributes:
id
.
Optional attributes:
Contents:
Text,
Zero, one or more of the following elements: <g>
,
<x/>
, <bx/>
,
<ex/>
, <bpt>
,
<ept>
, <ph>
,
<it>
, <mrk>
, in
any order.
Generic placeholder - The <x/>
element is
used to replace any code of the original document. The required id
attribute is used to reference the replaced code in the skeleton file. The
optional ctype
attribute allows you to specify
what kind of attribute the placeholder represents; e.g. "bold". The
optional ts
attribute has been deprecated in
XLIFF 1.1. The optional clone
attribute
indicates whether this <x/>
element may be duplicated. The
optional xid
attribute references a <trans-unit>
or <bin-unit>
, through its id
attribute value, which can contain any translatable text from the replaced
code. A list of values
for the ctype
attribute is provided by this
specification.
Required attributes:
id
.
Optional attributes:
Contents:
Empty.
Begin paired placeholder - The <bx/>
element is
used to replace a beginning paired code of the original document. It should be
used for paired codes that do not follow XML well-formedness rules (i.e. no
overlapping elements). If the paired codes follow that rule, it is strongly
recommended that the <g>
element is used because
it simplifies processing. The <bx/>
element should be followed by
a matching <ex/>
element. These paired elements
are related via their rid
attributes. If the rid
attribute is not present (in a 1.0 document for example), the attribute id
is used to match both tags. The
required id
attribute is used to reference the
replaced code in the skeleton file. The optional ctype
attribute allows you to specify
what kind of attribute the placeholder represents; e.g. "bold". The
optional ts
attribute has been deprecated in
XLIFF 1.1. The optional clone
attribute
indicates whether this <bx/>
element may be duplicated. The
optional xid
attribute references a <trans-unit>
or <bin-unit>
, through its id
attribute value, which can contain any translatable text from the replaced
code. A list of values
for the ctype
attribute is provided by this
specification.
Required attributes:
id
.
Optional attributes:
Contents:
Empty.
End paired placeholder - The <ex/>
element is used
to replace an ending paired code of the original document. It should be used
for paired codes that do not follow XML well-formedness rules (i.e. no
overlapping elements). If the paired codes follow that rule, it is strongly
recommended that the <g>
element is used because
it simplifies processing. The <ex/>
element should be preceded by
a matching <bx/>
element. These paired elements
are related via their rid
attributes. If the rid
attribute is not present (in a 1.0 document for example), the attribute id
is used to match both tags. The
required id
attribute is used to reference the
replaced code in the skeleton file. The optional ts
attribute has been deprecated in XLIFF 1.1. The optional xid
attribute references a <trans-unit>
or
<bin-unit>
, through its id
attribute value, which can contain any translatable text from the replaced
code.
Required attributes:
id
.
Optional attributes:
Contents:
Empty.
Placeholder - The <ph>
element is used to
delimit a sequence of native stand-alone codes in the translation unit.
The required id
attribute is used to identify
the <ph>
inline code. The optional ctype
attribute allows you to specify
what kind of attribute the placeholder represents; e.g. "bold". The
optional ts
attribute has been deprecated in
XLIFF 1.1. The optional crc
attribute allows a
verification of the data. The optional assoc
attribute specifies whether this placeholder code is associated with the text
prior or after. The optional xid
attribute
references a <trans-unit>
or <bin-unit>
,
through its id
attribute value, which can
contain any translatable text from the replaced code. A list of values
for the ctype
attribute is provided by this
specification.
Required attributes:
id
.
Optional attributes:
Contents:
Code data,
Zero, one or more <sub>
elements.
Begin paired tag - The <bpt>
element is
used to delimit the beginning of a paired sequence of native codes. Each
<bpt>
has a corresponding <ept>
element
within the translation unit. These paired elements are related via their rid
attributes. If the rid
attribute is not
present (in a 1.0 document for example), the attribute id
is used to match both tags. The required id
attribute is used to
identify the <bpt>
inline code. The optional ctype
attribute allows you to specify
what kind of attribute the code represents; e.g. "bold". The
optional ts
attribute has been deprecated in
XLIFF 1.1. The optional crc
attribute allows a
verification of the data. The optional xid
attribute references a <trans-unit>
or
<bin-unit>
, through its id
attribute value, which can contain any translatable text from the inline code. A list of values
for the ctype
attribute is provided by this
specification.
Required attributes:
id
.
Optional attributes:
Contents:
Code data,
Zero, one or more <sub>
elements.
End paired tag - The <ept>
element is used
to delimit the end of a paired sequence of native codes. Each <ept>
has a corresponding <bpt>
element within the
translation unit. These paired elements are related via their rid
attributes. If the rid
attribute is not
present (in a 1.0 document for example), the attribute id
is used to match both tags. The required id
attribute is used to
identify the <ept>
inline code. The optional ts
attribute has been deprecated in XLIFF 1.1. The optional crc
attribute allows a verification of the data. The optional xid
attribute references a <trans-unit>
or
<bin-unit>
, through its id
attribute value, which can contain any translatable text from the inline code.
Required attributes:
id
.
Optional attributes:
Contents:
Code data,
Zero, one or more <sub>
elements.
Isolated tag - The <it>
element is used to
delimit a beginning/ending sequence of native codes that does not have its
corresponding ending/beginning within the translation unit. The required id
attribute is used to
identify the <it>
inline code. The required pos
attribute specifies whether this is the begin or end code. The optional ctype
attribute allows you to specify
what kind of attribute the code represents; e.g. "bold". The
optional ts
attribute has been deprecated in
XLIFF 1.1. The optional crc
attribute allows a
verification of the data. The optional xid
attribute references a <trans-unit>
or
<bin-unit>
, through its id
attribute value, which can contain any translatable text from the inline code. A list of values
for the ctype
attribute is provided by this
specification.
Required attributes:
Optional attributes:
Contents:
Code data,
Zero, one or more <sub>
elements.
Sub-flow - The <sub>
element is used to
delimit sub-flow text inside a sequence of native code, for example: the
definition of a footnote or the text of a title
attribute in a HTML <a>
element. The optional datatype
attribute specifies the data type of the content of the <sub>
;
e.g. "html". The optional ctype
attribute allows you to specify what kind of
attribute the code represents. The optional xid
attribute references a <trans-unit>
or
<bin-unit>
, through its id
attribute value, which can contain any translatable text from the inline code. Lists of values for the
ctype
and datatype
attributes are provided by this
specification.
Required attributes:
None.
Optional attributes:
Contents:
Text,
Zero, one or more of the following elements: <g>
,
<x/>
, <bx/>
,
<ex/>
, <bpt>
,
<ept>
, <ph>
,
<it>
, <mrk>
, in
any order.
XLIFF defines an additional element to support various types of text processing. This element is usually not generated by the extraction module and 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.
Marker - The <mrk>
element delimits a
section of text that has special meaning, such as a terminological unit, a
proper name, an item that should not be modified, etc. It can be used for
various processing tasks. For example, to indicate to a Machine Translation
tool proper names that should not be translated; for terminology verification,
to mark suspect expressions after a grammar checking. The <mrk>
element is usually not generated by the extraction tool and it is not part of
the tags used to merge the XLIFF file back into its original format. The
required mtype
attribute specifies what is
being delimited; e.g. "abbrev" for an abbreviation. The
optional ts
attribute has been deprecated in
XLIFF 1.1. The optional comment
attribute
allow a free-form comment to be entered. A list of values for the mtype
attribute is
provided by this specification.
Required attributes:
Optional attributes:
Contents:
Text,
Zero, one or more of the following elements: <g>
,
<x/>
, <bx/>
,
<ex/>
, <bpt>
,
<ept>
, <ph>
,
<it>
, <mrk>
, in
any order.
This section lists the various attributes used in the
XLIFF elements. An attribute is never specified more than once for each
element. Along with some of the attributes are the list of their possible
values.
Approved - Indicates whether a translation is final or has passed its final review.
Value description:
Boolean: yes
or no
.
Default value:
no
.
Used in:
Association - Indicates the association of a
<ph>
with the text prior or after the
inline element.
Value description:
preceding
(the element is associated with the text
preceding the element), following
(the element is associated with
the text following the element), and both
(the element is
associated with the text on both sides).
Default value:
Undefined.
Used in:
<ph>
.
Build number - The build number of the version of the
product or application the localizable material is for. For example: build-num="12"
for the 12th build of the new version of a product.
Value description:
Alpha-numeric.
Default value:
Undefined.
Used in:
Category - This provides information on the subject of
what is being translated. For example: category="medical"
for files from a
medical related product.
Value description:
Text.
Default value:
Undefined.
Used in:
Character class - This indicates that a translation is restricted to a subset of characters (i.e. ASCII only, Katakana only, uppercase only, etc.). A blank value indicates there is no limitation.
Value description:
Text.
Default value:
Undefined.
Used in:
Clone - This indicates that a copy of the given inline
element can be made and placed multiple times in the <target>
.
This is useful for codes such as bold which may require duplication after
localization of a segment.
Value description:
Boolean: yes
or no
.
Default value:
yes
.
Used in:
Comment - A comment in a tag.
Value description:
Alpha-numeric.
Default value:
Undefined.
Used in:
Company name - The name of the company that has performed a task.
Value description:
Text.
Default value:
Undefined.
Used in:
Contact email - The contact email of the contact-name
person.
Value description:
Text.
Default value:
Undefined.
Used in:
Contact name - The name of the person that has performed a task in a phase.
Value description:
Text.
Default value:
Undefined.
Used in:
Contact phone - The phone number of the contact-name
person.
Value description:
Text.
Default value:
Undefined.
Used in:
Context type - The context-type
attribute
specifies the context and the type of resource or style of the data of a given
element. For example, to define if it is a label, or a menu item in the case of
resource-type data, or the style in the case of document-related data.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
database |
Indicates a database content. |
element |
Indicates the content of an element within an XML document. |
elementtitle |
Indicates the name of an element within an XML document. |
linenumber |
Indicates the line number from the sourcefile (see context-type="sourcefile") where the <source> is found. |
numparams |
Indicates a the number of parameters contained within the <source>. |
paramnotes |
Indicates notes pertaining to the parameters in the <source>. |
record |
Indicates the content of a record within a database. |
recordtitle |
Indicates the name of a record within a database. |
sourcefile |
Indicates the original source file in the case that multiple files are merged to form the original file from which the XLIFF file is created. This differs from the original <file> attribute in that this sourcefile is one of many that make up that file. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Undefined.
Used in:
Coordinates - The coord
attribute specifies
the x, y, cx and cy coordinates of the text for a given element. The cx and cy
values must represent the width and the height (as in Windows resources). The
extraction and merging tools must make the right conversion if the original
format uses a top-left/bottom-right coordinate system.
Value description:
Four decimal (possibly negative) values, in the order: x, y, cx
and cy, separated by semi-colons. Null values may be entered as "#
";
(e.g. coord="#;#;183;272"
).
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<target>
, <alt-trans>
.
Count type - The count-type
attribute
specifies the purpose of the <count>
element. For example: count-type="total"
for the total count of words in the
current scope.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
num-usages |
Indicates the count units are items that are used X times in a certain context; example: this is a reusable text unit which is used 42 times in other texts. |
repetition |
Indicates the count units are translation units existing already in the same document. |
total |
Indicates a total count. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
In addition, the count-type
attribute can take any
value defined for datatype
, restype
,
or state
.
Default value:
None.
Used in:
Cyclic redundancy checking - A private value used to verify data as it is returned to the producer. The generation and verification of this number is tool-specific.
Value description:
Number (possibly not decimal).
Default value:
None.
Used in:
<internal-file>
,
<external-file>
,
<context-group>
,
<context>
, <alt-trans>
,
<bpt>
, <ept>
,
<it>
, <ph>
.
Cascading style-sheet style - The css-style
attribute allows any valid CSS statement to be specified.
Value description:
Text, the value is subject to CSS syntax rules.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<target>
, <alt-trans>
.
Content type - The ctype
attribute
specifies the type of code that is represented by the inline element; e.g.
ctype="bold" means that the code represents a bolding code.
Value description for the ctype
attribute of the <x/>
and <ph>
elements:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
image |
Indicates a inline image. |
pb |
Indicates a page break. |
lb |
Indicates a line break. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Value description for the ctype
attribute of
other elements:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
bold |
Indicates a run of bolded text. |
italic |
Indicates a run of text in italics. |
underlined |
Indicates a run of underlined text. |
link |
Indicates a run of hyper-text. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Undefined.
Used in:
<g>
, <x/>
,
<bx/>
, <bpt>
,
<sub>
, <it>
,
<ph>
.
Data type - The datatype
attribute
specifies the kind of text contained in the element. Depending on that type,
you may apply different processes to the data. For example: datatype="winres"
specifies that the content is Windows resources which would allow using the
Win32 API in rendering the content.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
asp |
Indicates Active Server Page data. |
c |
Indicates C source file data. |
cdf |
Indicates Channel Definition Format (CDF) data. |
cfm |
Indicates ColdFusion data. |
cpp |
Indicates C++ source file data. |
csharp |
Indicates C-Sharp data. |
cstring |
Indicates strings from C, ASM, and driver files data. |
csv |
Indicates comma-separated values data. |
database |
Indicates database data. |
documentfooter |
Indicates portions of document that follows data and contains metadata. |
documentheader |
Indicates portions of document that precedes data and contains metadata. |
filedialog |
Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import). |
form |
Indicates standard user input screen data. |
html |
Indicates HyperText Markup Language (HTML) data - document instance. |
htmlbody |
Indicates content within an HTML document’s <body> element. |
ini |
Indicates Windows INI file data. |
interleaf |
Indicates Interleaf data. |
javaclass |
Indicates Java source file data (extension '.java'). |
javapropertyresourcebundle |
Indicates Java property resource bundle data. |
javalistresourcebundle |
Indicates Java list resource bundle data. |
javascript |
Indicates JavaScript source file data. |
jscript |
Indicates JScript source file data. |
layout |
Indicates information relating to formatting. |
lisp |
Indicates LISP source file data. |
margin |
Indicates information relating to margin formats. |
menufile |
Indicates a file containing menu. |
messagefile |
Indicates numerically identified string table. |
mif |
Indicates Maker Interchange Format (MIF) data. |
mimetype |
Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute. |
mo |
Indicates GNU Machine Object data. |
msglib |
Indicates Message Librarian strings created by Novell's Message Librarian Tool. |
pagefooter |
Indicates information to be displayed at the bottom of each page of a document. |
pageheader |
Indicates information to be displayed at the top of each page of a document. |
parameters |
Indicates a list of property values (e.g., settings within INI files or preferences dialog). |
pascal |
Indicates Pascal source file data. |
php |
Indicates Hypertext Preprocessor data. |
plaintext |
Indicates plain text file (no formatting other than, possibly, wrapping). |
po |
Indicates GNU Portable Object file. |
report |
Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc. |
resources |
Indicates Windows .NET binary resources. |
resx |
Indicates Windows .NET Resources. |
rtf |
Indicates Rich Text Format (RTF) data. |
sgml |
Indicates Standard Generalized Markup Language (SGML) data - document instance. |
sgmldtd |
Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD). |
svg |
Indicates Scalable Vector Graphic (SVG) data. |
vbscript |
Indicates VisualBasic Script source file. |
warning |
Indicates warning message. |
winres |
Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file). |
xhtml |
Indicates Extensible HyperText Markup Language (XHTML) data - document instance. |
xml |
Indicates Extensible Markup Language (XML) data - document instance. |
xmldtd |
Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD). |
xsl |
Indicates Extensible Stylesheet Language (XSL) data. |
xul |
Indicates XUL elements. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Empty string.
Used in:
<file>
,
<group>
, <trans-unit>
,
<alt-trans>
, <sub>
.
Date - The date
attribute indicates when a
given element was created or modified.
Value description:
Date in [ISO 8601] Format. The
recommended pattern to use is: CCYY-MM-DDThh:mm:ssZ
Where: CCYY
is the year (4 digits), MM
is the month
(2 digits), DD
is the day (2 digits), hh
is the hours
(2 digits), mm
is the minutes (2 digits), ss
is the
second (2 digits), and Z
indicates the time is UTC time. For
example:
date="2002-01-25T21:06:00Z" is January 25, 2002 at 9:06pm GMT is January 25, 2002 at 2:06pm US Mountain Time is January 26, 2002 at 6:06am Japan time
Default value:
Undefined.
Used in:
Extended style - The exstyle
attribute stores the
extended style of a control. For example, in Windows resources it corresponds
to the EXSTYLE statement.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<target>
,
<alt-trans>
.
Extra data - The extradata
attribute stores the extra data
properties of an item.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<alt-trans>
.
Extended type -The extype
attribute stores the
extra type properties of an item.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<alt-trans>
.
Font - The font
attribute specifies the
font name, size, and weight of the text for a given element. The font
attribute would generally be used for resource-type data: change of font in
document-type data can be marked with the <g>
element.
Value description:
Name of the font, its size, its weight, its style and its encoding separated by semi-colons. Only the name of the font is required.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<target>
,
<alt-trans>
.
Format - Describes the type
of format used in an <internal-file>
element.
For example: form="text"
indicates a plain text format
internal file.
Value description:
The value can be either text
(for plain text
data), base64
(for data coded in base64 format), or one of values
available from the [RFC
1341] document: the MIME specification.
Default value:
text
.
Used in:
From - Indicates the author of a <note>
element. For example: from="reviewer"
indicates a note
from a reviewer.
Value description:
Text.
Default value:
Undefined.
Used in:
Help ID -The help-id
attribute stores the
help identifier of an item. For example, in Windows resources it corresponds to
the Help ID parameter of a control.
Value description:
Number.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<alt-trans>
.
<external-file>
element. For example: href="file:///C:/MyFolder/MyProject/MyFile.htm"
indicates a file on a local drive.Value description:
Text.
Default value:
Undefined.
Used in:
Identifier - The id
attribute is used in
many elements as a reference to the original corresponding code data or
format for the given element. The value of the id
element is
determined by the tool creating the XLIFF document. It may or may not be a
resource identifier. The identifier of a resource should, at least, be stored
in the resname
attribute.
For example:
<trans-unit id="34" resname="IDD_ABOUT_DLG" restype="dialog" coord="0;0;235;100" font="MS Sans Serif;8" style="0x0932239"> <source>About Dialog</source> </trans-unit>
<trans-unit id="IDD_ABOUT_DLG" resname="IDD_ABOUT_DLG" restype="dialog" coord="0;0;235;100" font="MS Sans Serif;8" style="0x0932239"> <source>About Dialog</source> </trans-unit>
Value description:
Alpha-numeric without spaces.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<bin-unit>
, <g>
,
<x/>
, <bx/>
,
<ex/>
, <bpt>
,
<ept>
, <it>
, <ph>
.
Job ID - The identifier given to the localization job. This is determined by the entity creating the phase element at the time of processing the file.
Value description:
Text.
Default value:
Undefined.
Used in:
Match mandatory -Indicates that any
<alt-trans>
element of the parent
<trans-unit>
must have the same
<context>
as the
<trans-unit>
.
Value description:
Boolean: yes
or no
.
Default value:
no
.
Used in:
Match quality - The match quality of the
<alt-trans>
element is tool specific and can be a score
expressed in percentage or an arbitrary value (e.g. match-quality="high"
).
Value description:
Text.
Default value:
Undefined.
Used in:
Maximum height - The maximum height for the
<target>
of a
<trans-unit>
. This could be interpreted as lines, pixels, or any
other relevant unit. The unit is determined by the
size-unit
attribute, which defaults to pixel
.
Value description:
Number.
Default value:
Undefined.
Used in:
Maximum bytes - The maximum number of bytes for the
<target>
of a
<trans-unit>
. The verification of whether the relevant text respects
this requirement must be done using the encoding and line-break type of the
final target environment.
Value description:
Number.
Default value:
Undefined.
Used in:
Maximum width - The maximum width for the
<target>
of a
<trans-unit>
. This could be interpreted as lines, pixels, or any
other relevant unit. The unit is determined by the
size-unit
attribute, which defaults to pixel
.
Value description:
Number.
Default value:
Undefined.
Used in:
Menu - The menu
attribute stores the menu
property of an item.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<alt-trans>
.
Menu name - The menu-name
attribute stores
the menu name of a control.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<alt-trans>
.
Menu option - The menu-option
attribute
stores the option data of a control.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<alt-trans>
.
Marker ID - Identifier for an <mrk>
element.
Value description:
Text.
Default value:
Undefined.
Used in:
Mime type -Indicates the type of a binary object. These
roughly correspond to the content-type of RFC 1341,
the MIME specification; e.g. mime-type="image/jpeg"
indicates the binary object is an image file of JPEG format. This
is important in determining how to edit the binary object.
Value description:
Text. A list of preferred values is available from the [RFC 1341] document: the MIME specification.
Default value:
Undefined.
Used in:
Minimum height - The minimum
height for the <target>
of a
<trans-unit>
. This could be interpreted as
lines, pixels, or any other relevant unit. The unit is determined by the
size-unit
attribute, which defaults to
pixel
.
Value description:
Number.
Default value:
Undefined.
Used in:
Minimum bytes - The minimum number of bytes for the
<target>
of a
<trans-unit>
. The verification of whether the relevant text respects
this requirement must be done using the encoding and line-break type of the
final target environment.
Value description:
Number.
Default value:
Undefined.
Used in:
Minimum width - The minimum width for the
<target>
of a
<trans-unit>
. This could be interpreted as lines, pixels, or any
other relevant unit. The unit is determined by the
size-unit
attribute, which defaults to pixel
.
Value description:
Number.
Default value:
Undefined.
Used in:
Marker type -The mtype
attribute specifies what a <mrk>
element is defining within the content of a
<source>
or <target>
element.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
abbrev |
Indicates the marked text is an abbreviation. |
abbreviated-form |
ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept. |
abbreviation |
ISO-12620 2.1.8.1: An abbreviated form of a simple term resulting from the omission of some of its letters (e.g. 'adj.' for 'adjective'). |
acronym |
ISO-12620 2.1.8.4: An abbreviated form of a term made up of letters from the full form of a multiword term strung together into a sequence pronounced only syllabically (e.g. 'radar' for 'radio detecting and ranging'). |
appellation |
ISO-12620: A proper-name term, such as the name of an agency or other proper entity. |
collocation |
ISO-12620 2.1.18.1: A recurrent word combination characterized by cohesion in that the components of the collocation must co-occur within an utterance or series of utterances, even though they do not necessarily have to maintain immediate proximity to one another. |
common-name |
ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language. |
datetime |
Indicates the marked text is a date and/or time. |
equation |
ISO-12620 2.1.15: An expression used to represent a concept based on a statement that two mathematical expressions are, for instance, equal as identified by the equal sign (=), or assigned to one another by a similar sign. |
expanded-form |
ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form. |
formula |
ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula. |
head-term |
ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record. |
initialism |
ISO-12620 2.1.8.3: An abbreviated form of a term consisting of some of the initial letters of the words making up a multiword term or the term elements making up a compound term when these letters are pronounced individually (e.g. 'BSE' for 'bovine spongiform encephalopathy'). |
international-scientific-term |
ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body. |
internationalism |
ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages. |
logical-expression |
ISO-12620 2.1.16: An expression used to represent a concept based on mathematical or logical relations, such as statements of inequality, set relationships, Boolean operations, and the like. |
materials-management-unit |
ISO-12620 2.1.17: A unit to track object. |
name |
Indicates the marked text is a name. |
near-synonym |
ISO-12620 2.1.3: A term that represents the same or a very similar concept as another term in the same language, but for which interchangeability is limited to some contexts and inapplicable in others. |
part-number |
ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system. |
phrase |
Indicates the marked text is a phrase. |
phraseological-unit |
ISO-12620 2.1.18: Any group of two or more words that form a unit, the meaning of which frequently cannot be deduced based on the combined sense of the words making up the phrase. |
protected |
Indicates the marked text should not be translated. |
romanized-form |
ISO-12620 2.1.12: A form of a term resulting from an operation whereby non-Latin writing systems are converted to the Latin alphabet. |
set-phrase |
ISO-12620 2.1.18.2: A fixed, lexicalized phrase. |
short-form |
ISO-12620 2.1.8.2: A variant of a multiword term that includes fewer words than the full form of the term (e.g. 'Group of Twenty-four' for 'Intergovernmental Group of Twenty-four on International Monetary Affairs'). |
sku |
ISO-12620 2.1.17.1: Stock keeping unit, an inventory item identified by a unique alphanumeric designation assigned to an object in an inventory control system. |
standard-text |
ISO-12620 2.1.19: A fixed chunk of recurring text. |
symbol |
ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof. |
synonym |
ISO-12620 2.1.2: Any term that represents the same or a very similar concept as the main entry term in a term entry. |
synonymous-phrase |
ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language. |
term |
Indicates the marked text is a term. |
transcribed-form |
ISO-12620 2.1.11: A form of a term resulting from an operation whereby the characters of one writing system are represented by characters from another writing system, taking into account the pronunciation of the characters converted. |
transliterated-form |
ISO-12620 2.1.10: A form of a term resulting from an operation whereby the characters of an alphabetic writing system are represented by characters from another alphabetic writing system. |
truncated-term |
ISO-12620 2.1.8.5: An abbreviated form of a term resulting from the omission of one or more term elements or syllables (e.g. 'flu' for 'influenza'). |
variant |
ISO-12620 2.1.9: One of the alternate forms of a term. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Undefined.
Used in:
Name - The name
attribute specifies the
user-defined name of a named group element. This is used for identification
purposes only and is not referenced with the file, unless by a processing
instruction.
Value description:
Text.
Default value:
Undefined.
Used in:
<prop-group>
,
<context-group>
,
<count-group>
.
Translation Match Origin - The origin
attribute specifies where a translation match came from; for example, from a
previous version of the same product, a different product, a shared translation
memory, etc.
Value description:
Text.
Default value:
Undefined.
Used in:
Original file - The original attribute specifies the name of the original file from which the contents of a <file> element has been extracted.
Value description:
Text.
Default value:
Undefined.
Used in:
Phase Name - The phase-name
attribute
provides a unique name for a <phase>
element. It
is used in other elements in the file to refer to the given
<phase>
element.
Value description:
Text.
Default value:
Undefined.
Used in:
<count>,
<phase>
,
<trans-unit>
,
<target>
, <bin-unit>
,
<bin-target>
.
Position - Indicates whether an isolated tag
<it>
is a beginning or an ending tag.
Value description:
open
or close
.
Default value:
Undefined.
Used in:
<it>
.
Priority - The priority of a <note> element.
Value description:
A number between 1 and 10, 1 being the highest priority.
Default value:
1
Used in:
Process name - The name specifying the type of process a given
<phase>
corresponds to (e.g. Translation, Proofreading, Sizing, etc.).
Value description:
Text.
Default value:
Undefined.
Used in:
Product name - The name of the product which uses this file.
Value description:
Text.
Default value:
Undefined.
Used in:
Product version - The version of the product which uses this file.
Value description:
Alpha-numeric.
Default value:
Undefined.
Used in:
Property type - The prop-type
attribute
specifies the type of a <prop>
element.
Important: Because the <prop>
element is DEPRECATED in version 1.1 and this attribute is only a member of
that element, this attribute is also deprecated. Instead, use attributes
defined in a namespace different from XLIFF. See the Extensibility
section for more information.
Value description:
Text. No value defined by the standard.
Default value:
Undefined.
Used in:
Purpose - The purpose
attribute
specifies the purpose of a <context-group>
element.
For example: purpose="information"
indicates the content
is informational only and not used for specific processing.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
information |
Indicates that the context is informational in nature, specifying for example, how a term should be translated. Thus, should be displayed to anyone editing the XLIFF document. |
location |
Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed. |
match |
Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Combinations of these values can be used. For example, purpose="location
match x-validate"
provides both location (location
) and TM matching (match
)
contextual information, as well as some
user-defined data (x-validate
).
Default value:
Undefined.
Used in:
Reformat - Indicates whether some properties (size, font, etc.) of the target can be formatted differently from the source.
Value description (stand-alone):
The pre-defined values are defined in the table below.
Value | Description |
---|---|
yes |
This value 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 an "x-
" prefix.
Except for the values yes
and no
, the
other values can be used in combination, separated by a space. For example:
reformat="yes"
All properties can be reformatted.
reformat="no"
No properties should be reformatted.
reformat="font-name coord-x coord-y"
Only the name part of the font attribute, the x part of the coord attribute and the y part of the coord attribute can be modified.
Default value:
yes
.
Used in:
<group>
, <trans-unit>
,<bin-unit>
.
Resource name - Resource name or identifier of a item. For example: the key in the key/value pair in a Java properties file, the ID of a string in a Windows string table, the index value of an entry in a database table, etc.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
.
<trans-unit>
,
<alt-trans>
, <target>
,
<bin-unit>
,
<bin-target>
.
Resource type - Indicates the resource type of the container element.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
auto3state |
Indicates a Windows RC AUTO3STATE control. |
autocheckbox |
Indicates a Windows RC AUTOCHECKBOX control. |
autoradiobutton |
Indicates a Windows RC AUTORADIOBUTTON control. |
bedit |
Indicates a Windows RC BEDIT control. |
bitmap |
Indicates a bitmap, for example a BITMAP resource in Windows. |
button |
Indicates a button object, for example a BUTTON control Windows. |
caption |
Indicates a caption, such as the caption of a dialog box. |
cell |
Indicates the cell in a table, for example the content of the <td> element in HTML. |
checkbox |
Indicates check box object, for example a CHECKBOX control in Windows. |
checkboxmenuitem |
Indicates a menu item with an associated checkbox. |
checkedlistbox |
Indicates a list box, but with a check-box for each item. |
colorchooser |
Indicates a color selection dialog. |
combobox |
Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows. |
comboboxexitem |
Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234). |
comboboxitem |
Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403). |
component |
Indicates a UI base class element that cannot be represented by any other element. |
contextmenu |
Indicates a context menu. |
ctext |
Indicates a Windows RC CTEXT control. |
cursor |
Indicates a cursor, for example a CURSOR resource in Windows. |
datetimepicker |
Indicates a date/time picker. |
defpushbutton |
Indicates a Windows RC DEFPUSHBUTTON control. |
dialog |
Indicates a dialog box. |
dlginit |
Indicates a Windows RC DLGINIT resource block. |
edit |
Indicates an edit box object, for example an EDIT control in Windows. |
file |
Indicates a filename. |
filechooser |
Indicates a file dialog. |
fn |
Indicates a footnote. |
font |
Indicates a font name. |
footer |
Indicates a footer. |
frame |
Indicates a frame object. |
grid |
Indicates a XUL grid element. |
groupbox |
Indicates a groupbox object, for example a GROUPBOX control in Windows. |
header |
Indicates a header item. |
heading |
Indicates a heading, such has the content of <h1>, <h2>, etc. in HTML. |
hedit |
Indicates a Windows RC HEDIT control. |
hscrollbar |
Indicates a horizontal scrollbar. |
icon |
Indicates an icon, for example an ICON resource in Windows. |
iedit |
Indicates a Windows RC IEDIT control. |
keywords |
Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF. |
label |
Indicates a label object. |
linklabel |
Indicates a label that is also a HTML link (not necessarily a URL). |
list |
Indicates a list (a group of list-items, for example an <ol> or <ul> element in HTML). |
listbox |
Indicates a listbox object, for example an LISTBOX control in Windows. |
listitem |
Indicates an list item (an entry in a list). |
ltext |
Indicates a Windows RC LTEXT control. |
menu |
Indicates a menu (a group of menu-items). |
menubar |
Indicates a toolbar containing one or more tope level menus. |
menuitem |
Indicates a menu item (an entry in a menu). |
menuseparator |
Indicates a XUL menuseparator element. |
message |
Indicates a message, for example an entry in a MESSAGETABLE resource in Windows. |
monthcalendar |
Indicates a calendar control. |
numericupdown |
Indicates an edit box beside a spin control. |
panel |
Indicates a catch all for rectangular areas. |
popupmenu |
Indicates a standalone menu not necessarily associated with a menubar. |
pushbox |
Indicates a pushbox object, for example a PUSHBOX control in Windows. |
pushbutton |
Indicates a Windows RC PUSHBUTTON control. |
radio |
Indicates a radio button object. |
radiobuttonmenuitem |
Indicates a menuitem with associated radio button. |
rcdata |
Indicates raw data resources for an application. |
rtext |
Indicates a Windows RC RTEXT control. |
scrollpane |
Indicates a user navigable container used to show a portion of a document. |
separator |
Indicates a generic divider object (e.g. menu group separator). |
shortcut |
Windows accelerators, shortcuts in resource or property files. |
spinner |
Indicates a UI control to indicate process activity but not progress. |
splitter |
Indicates a splitter bar. |
state3 |
Indicates a Windows RC STATE3 control. |
statusbar |
Indicates a window for providing feedback to the users, like 'read-only', etc. |
string |
Indicates a string, for example an entry in a STRINGTABLE resource in Windows. |
tabcontrol |
Indicates a layers of controls with a tab to select layers. |
table |
Indicates a display and edits regular two-dimensional tables of cells. |
textbox |
Indicates a XUL textbox element. |
togglebutton |
Indicates a UI button that can be toggled to on or off state. |
toolbar |
Indicates an array of controls, usually buttons. |
tooltip |
Indicates a pop up tool tip text. |
trackbar |
Indicates a bar with a pointer indicating a position within a certain range. |
tree |
Indicates a control that displays a set of hierarchical data. |
uri |
Indicates a URI (URN or URL). |
userbutton |
Indicates a Windows RC USERBUTTON control. |
usercontrol |
Indicates a user-defined control like CONTROL control in Windows. |
var |
Indicates the text of a variable. |
versioninfo |
Indicates version information about a resource like VERSIONINFO in Windows. |
vscrollbar |
Indicates a vertical scrollbar. |
window |
Indicates a graphical window. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<target>
, <alt-trans>
,
<bin-unit>
,
<bin-target>
.
Reference identifier - The rid
attribute
is used to link paired inline elements. The rid
attribute of a
begin-paired-code element should have the same value as the close-paired-code
element. For example: <bx id="1" rid="1"/> ...
<ex id="3" rid="1"/>
indicates these elements
are paired. If the rid
attribute is not present (in a 1.0 document for example), the attribute id
is used to match both tags. For example: <bpt id='5'>xx</bpt>
... <ept id='5'>xx</ept>
.
Value description:
Alpha-numeric without spaces.
Default value:
Undefined.
Used in:
<bpt>
,
<ept>
,
<it>
, <bx/>
,
<ex/>
.
Unit of size attributes - The size-unit
attribute specifies the units of measure used in the
maxheight
, minheight
,
maxwidth
, and
minwidth
attributes. The size-unit
attribute is not related to the coord
attribute.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
byte |
Indicates a size in 8-bit bytes. |
char |
Indicates a size in Unicode characters. |
col |
Indicates a size in columns. Used for HTML text area. |
cm |
Indicates a size in centimeters. |
dlgunit |
Indicates a size in dialog units, as defined in Windows resources. |
em |
Indicates a size in 'font-size' units (as defined in CSS). |
ex |
Indicates a size in 'x-height' units (as defined in CSS). |
glyph |
Indicates a size in glyphs. A glyph is considered to be one or more combined Unicode characters that represent a single displayable text character. Sometimes referred to as a 'grapheme cluster' |
in |
Indicates a size in inches. |
mm |
Indicates a size in millimeters. |
percent |
Indicates a size in percentage. |
pixel |
Indicates a size in pixels. |
point |
Indicates a size in point. |
row |
Indicates a size in rows. Used for HTML text area. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
pixel
.
Used in:
Source language - The
language for the <source>
elements in the
given <file>
element.
Value description:
A language code as described in the [RFC
3066]. The values for this attribute follow the same rules as the values
for xml:lang
. Unlike the other XLIFF attributes, the values for xml:lang
are not
case-sensitive. For more information see
the section on
xml:lang
in the XML specification, and the
erratum E11 (which
replaces RFC 1766 by RFC 3066).
The source language can
be also specified by xml:lang
in each
<source>
element. The values of
source-language
and xml:lang
in <source>
can be
different only in an
<alt-trans>
element.
Default value:
Undefined.
Used in:
State - The status of a
particular translation in a <target>
or
<bin-target>
element.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
final |
Indicates the terminating state. |
needs-adaptation |
Indicates only non-textual information needs adaptation. |
needs-l10n |
Indicates both text and non-textual information needs adaptation. |
needs-review-adaptation |
Indicates only non-textual information needs review. |
needs-review-l10n |
Indicates both text and non-textual information needs review. |
needs-review-translation |
Indicates that only the text of the item needs to be reviewed. |
needs-translation |
Indicates that the item needs to be translated. |
new |
Indicates that the item is new. For example, translation units that were not in a previous version of the document. |
signed-off |
Indicates that changes are reviewed and approved. |
translated |
Indicates that the item has been translated. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Undefined.
Used in:
State-qualifier - Describes the state of a
particular translation in a <target>
or
<bin-target>
element.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
exact-match |
Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously. |
fuzzy-match |
Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discripancy, etc.). |
id-match |
Indicates a match based on matching IDs (in addition to matching text). |
leveraged-glossary |
Indicates a translation derived from a glossary. |
leveraged-inherited |
Indicates a translation derived from existing translation. |
leveraged-mt |
Indicates a translation derived from machine translation. |
leveraged-repository |
Indicates a translation derived from a translation repository. |
leveraged-tm |
Indicates a translation derived from a translation memory. |
mt-suggestion |
Indicates the translation is suggested by machine translation. |
rejected-grammar |
Indicates that the item has been rejected because of incorrect grammar. |
rejected-inaccurate |
Indicates that the item has been rejected because it is incorrect. |
rejected-length |
Indicates that the item has been rejected because it is too long or too short. |
rejected-spelling |
Indicates that the item has been rejected because of incorrect spelling. |
tm-suggestion |
Indicates the translation is suggested by translation memory. |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Undefined.
Used in:
Style - The resource style of a control. For example, in Windows resources it corresponds to the STYLE statement.
Value description:
Text.
Default value:
Undefined.
Used in:
<group>
,
<trans-unit>
,
<target>
,
<alt-trans>
.
Target language - The
language for the <target>
elements in the
given <file>
element.
Value description:
A language code as described in the [RFC
3066]. The values for this attribute follow the same rules as the values
for xml:lang
. Unlike the other XLIFF attributes, the values for
xml:lang
are not
case-sensitive. For more information see
the section on
xml:lang
in the XML specification, and the
erratum E11 (which
replaces RFC 1766 by RFC 3066).
The target language can
be also specified by xml:lang
in each
<target>
element. The values of
target-language
and xml:lang
in <target>
can be
different only when in an
<alt-trans>
element.
Default value:
Undefined.
Used in:
Creation tool - The tool
attribute is
used to specify the signature and version of the tool that created or
modified the document.
Important: The tool
attribute is DEPRECATED in version 1.1. Instead, use the <tool>
element and a tool-id attribute.
Value description:
Text
Default value:
manual
.
Used in:
Tool company - The
tool-company
attribute specifies the company from which a tool originates.
Value description:
Text.
Default value:
Undefined.
Used in:
Tool identifier - The
tool-id
attribute
allows unique identification of a <tool>
element. It
is also used in other elements in the file to refer to the given <tool>
element.
Value description:
Text.
Default value:
Undefined.
Used in:
<file>
,
<phase>
, <alt-trans>
,
<tool>
.
Tool name - The tool-name
attribute
specifies the name of a given tool.
Value description:
Text.
Default value:
Undefined.
Used in:
Tool version - The
tool-version
attribute specifies the version of a given tool.
Value description:
Text.
Default value:
Undefined.
Used in:
Translate - The translate
attribute indicates whether or not
the text referred to should be translated.
Value description:
Boolean: yes
or no
.
Default value:
yes
.
Used in:
<group>
, <trans-unit>
,
<bin-unit>
.
Tool-specific data - The ts
attribute
allows you to include short data understood by a specific toolset. You can also use the <prop>
element to define
large properties at the element level.
Important: The ts
attribute 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>
.
Unique ID - The uid
attribute is used to provide a unique
ID to identify the
skeleton file.
Value description:
Text.
Default value:
Undefined.
Used in:
Unit - The unit
attribute specifies the units counted in a
<count>
element.
Value description:
The pre-defined values are defined in the table below.
Value | Description |
---|---|
word |
Refers to words. |
page |
Refers to pages. |
trans-unit |
Refers to <trans-unit> elements. |
bin-unit |
Refers to <bin-unit> elements. |
glyph |
Refers to glyphs. |
item |
Refers to <trans-unit> and/or <bin-unit> elements. |
instance |
Refers to the occurrences of instances defined by the count-type value. |
character |
Refers to characters. |
line |
Refers to lines. |
sentence |
Refers to sentences. |
paragraph |
Refers to paragraphs. |
segment |
Refers to segments. |
placeable |
Refers to placeables (inline elements). |
In addition, user-defined values can be used with this attribute. A user-defined value must start with an "x-
" prefix.
Default value:
Undefined.
Used in:
XLIFF version - The version
attribute is
used to specify the format version of the XLIFF document. This corresponds to
the version number of the XLIFF specification that is being adhered to.
Value description:
Text.
Default value:
1.1
Used in:
Extern Reference identifier - The xid
attribute
is used to link an inline element to a different <trans-unit>
or <bin-unit>
element. For example,
to link the text within a code to a corresponding translation unit.
Value description:
The value of the referenced id
.
Default value:
Undefined.
Used in:
<bpt>
,
<ept>
, <it>
, <ph>
,
<g>
, <x/>
,
<bx/>
,
<ex/>
, <sub>
.
Language - The xml:lang
attribute
specifies the language variant of the text of a given element. For example: xml:lang="fr-FR"
indicates the French language as spoken in France.
Value description:
A language code as described in the [RFC
3066].
This declared value is considered to apply to all elements within the content
of the element where it is specified, unless overridden with another instance
of the xml:lang
attribute. Unlike the other XLIFF attributes, the values for xml:lang
are not
case-sensitive. For more information see
the section on
xml:lang
in the XML specification, and the
erratum E11 (which
replaces RFC 1766 by RFC 3066).
Default value:
Undefined.
Used in:
<xliff>
,
<note>
, <prop>
,
<source>
,
<target>
,
<alt-trans>
.
White spaces - The xml:space
attribute
specifies how white spaces (ASCII spaces, tabs and line-breaks) should be
treated.
Value description:
default
or preserve
.
The value default
signals that an application's default white-space processing
modes are acceptable for this element; the value preserve
indicates the
intent that applications preserve all the white space. This declared intent
is considered to apply to all elements within the content of the element
where it is specified, unless overridden with another instance of the
xml:space
attribute.
For more information
see the section on
xml:space
in the XML specification.
Default value:
default
.
Used in:
<file>
,
<group>
, <trans-unit>
,
<alt-trans>
.
The following figure shows the possible structure as a tree. Each element is followed by notation indicating its possible occurrence according to the corresponding legend.
(legend: 1 = one + = one or more ? = zero or one * = zero, one or more) <xliff>1 | +--- <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]
The changes in this version relative to the previous version are as follows:
The following naming guidelines were used in writing this specification.
The following guidelines were used for element and attribute naming.
Attribute values are case sensitive. It is recommended that lower-case values are used. The specification recommends a number of values for some attributes, these are all lower-case.
Where multiple attribute values are to be used in an XLIFF document, two
approaches are used: For enumerated attributes (such as the purpose
attribute of <context-group>
)
the separator must be a space. For other textual attributes based on string,
the specification recommends the use of the semi-colon as a separator for
values. For example, multiple contacts may be listed for a <file>
with the attribute written thusly: contact-name="Frank Sinatra;Sammy
Davis Jnr;Dean Martin"
.
XLIFF reserves processing instructions that begin with "xliff-
".
XLIFF documents use the .xlf
extension. No other extension is recommended by the specification.
The XLIFF Technical Committee at OASIS is composed of the following members: