[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: Sharing your custom XLIFF extensions
|
HI Rodolfo, Thank you for your email. We do not use any extensions for XLIFF apart from allowing GMX/V namespace for metrics. In fact we use a very small subset of XLIFF - ours must be the most simple and straight forward implementation of XLIFF that there is. In our view this is all that is absolutely required. Best Regards, AZ On 15/03/2011 17:08, Rodolfo M. Raya wrote: [email protected]" type="cite">Hi Andrzej, The XLIFF TC is collecting the custom extensions to XLIFF 1.2 used in different tools and is publishing them at http://wiki.oasis-open.org/xliff/FrontPage Can you, please, share the custom extensions used in XTM? If you send the corresponding XML schemas to the TC's mailing list, I can add the links to the wiki. Thanks in advance, Rodolfo -- Rodolfo M. Raya <rmraya@maxprograms.com> Maxprograms http://www.maxprograms.com |
<?xml version="1.0" encoding="UTF-8"?>
<!--
XTM XLIFF XSD 29-09-2009
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:xliff:document:1.2" xml:lang="en">
<!-- Import for xml:lang and xml:space -->
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<!-- Attributes Lists -->
<xsd:simpleType name="XTend">
<xsd:restriction base="xsd:string">
<xsd:pattern value="x-[^\s]+"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="datatypeValueList">
<xsd:annotation>
<xsd:documentation>Values for the attribute 'datatype'.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="xml">
<xsd:annotation>
<xsd:documentation>Indicates an XML document.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="stateValueList">
<xsd:annotation>
<xsd:documentation>Values for the attribute 'state'.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="final">
<xsd:annotation>
<xsd:documentation>Indicates the terminating state.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="needs-adaptation">
<xsd:annotation>
<xsd:documentation>Indicates only non-textual information needs adaptation.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="needs-l10n">
<xsd:annotation>
<xsd:documentation>Indicates both text and non-textual information needs adaptation.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="needs-review-adaptation">
<xsd:annotation>
<xsd:documentation>Indicates only non-textual information needs review.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="needs-review-l10n">
<xsd:annotation>
<xsd:documentation>Indicates both text and non-textual information needs review.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="needs-review-translation">
<xsd:annotation>
<xsd:documentation>Indicates that only the text of the item needs to be reviewed.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="needs-translation">
<xsd:annotation>
<xsd:documentation>Indicates that the item needs to be translated.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="new">
<xsd:annotation>
<xsd:documentation>Indicates that the item is new. For example, translation units that were not in a previous version of the document.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="signed-off">
<xsd:annotation>
<xsd:documentation>Indicates that changes are reviewed and approved.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="translated">
<xsd:annotation>
<xsd:documentation>Indicates that the item has been translated.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="state-qualifierValueList">
<xsd:annotation>
<xsd:documentation>Values for the attribute 'state-qualifier'.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="exact-match">
<xsd:annotation>
<xsd:documentation>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.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="fuzzy-match">
<xsd:annotation>
<xsd:documentation>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.).</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="id-match">
<xsd:annotation>
<xsd:documentation>Indicates a match based on matching IDs (in addition to matching text).</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="leveraged-glossary">
<xsd:annotation>
<xsd:documentation>Indicates a translation derived from a glossary.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="leveraged-inherited">
<xsd:annotation>
<xsd:documentation>Indicates a translation derived from existing translation.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="leveraged-mt">
<xsd:annotation>
<xsd:documentation>Indicates a translation derived from machine translation.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="leveraged-repository">
<xsd:annotation>
<xsd:documentation>Indicates a translation derived from a translation repository.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="leveraged-tm">
<xsd:annotation>
<xsd:documentation>Indicates a translation derived from a translation memory.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="mt-suggestion">
<xsd:annotation>
<xsd:documentation>Indicates the translation is suggested by machine translation.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="rejected-spelling">
<xsd:annotation>
<xsd:documentation>Indicates that the item has been rejected because of incorrect spelling.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="tm-suggestion">
<xsd:annotation>
<xsd:documentation>Indicates the translation is suggested by translation memory.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="reformatValueYesNo">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="yes">
<xsd:annotation>
<xsd:documentation>This value indicates that all properties can be reformatted. This value must be used alone.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="no">
<xsd:annotation>
<xsd:documentation>This value indicates that no properties should be reformatted. This value must be used alone.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="purposeValueList">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="information">
<xsd:annotation>
<xsd:documentation>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.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="location">
<xsd:annotation>
<xsd:documentation>Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="match">
<xsd:annotation>
<xsd:documentation>Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="alttranstypeValueList">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="proposal">
<xsd:annotation>
<xsd:documentation>Represents a translation proposal from a translation memory or other resource.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="previous-version">
<xsd:annotation>
<xsd:documentation>Represents a previous version of the target element.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="rejected">
<xsd:annotation>
<xsd:documentation>Represents a rejected version of the target element.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="reference">
<xsd:annotation>
<xsd:documentation>Represents a translation to be used for reference purposes only, for example from a related product or a different language.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="accepted">
<xsd:annotation>
<xsd:documentation>Represents a proposed translation that was used for the translation of the trans-unit, possibly modified.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<!-- Other Types -->
<xsd:complexType name="ElemType_ExternalReference">
<xsd:choice>
<xsd:element ref="xlf:internal-file"/>
</xsd:choice>
</xsd:complexType>
<xsd:simpleType name="AttrType_datatype">
<xsd:union memberTypes="xlf:datatypeValueList xlf:XTend"/>
</xsd:simpleType>
<xsd:simpleType name="AttrType_purpose">
<xsd:list>
<xsd:simpleType>
<xsd:union memberTypes="xlf:purposeValueList xlf:XTend"/>
</xsd:simpleType>
</xsd:list>
</xsd:simpleType>
<xsd:simpleType name="AttrType_alttranstype">
<xsd:union memberTypes="xlf:alttranstypeValueList xlf:XTend"/>
</xsd:simpleType>
<xsd:simpleType name="AttrType_state">
<xsd:union memberTypes="xlf:stateValueList xlf:XTend"/>
</xsd:simpleType>
<xsd:simpleType name="AttrType_state-qualifier">
<xsd:union memberTypes="xlf:state-qualifierValueList xlf:XTend"/>
</xsd:simpleType>
<xsd:simpleType name="AttrType_YesNo">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="yes"/>
<xsd:enumeration value="no"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AttrType_Coordinates">
<xsd:annotation>
<xsd:documentation>Values for the attribute 'coord'.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="(-?\d+|#);(-?\d+|#);(-?\d+|#);(-?\d+|#)"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AttrType_Version">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="1.2"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Groups -->
<xsd:group name="ElemGroup_TextContent">
<xsd:choice>
<xsd:element ref="xlf:g"/>
<xsd:element ref="xlf:x"/>
</xsd:choice>
</xsd:group>
<xsd:attributeGroup name="AttrGroup_TextContent">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:anyAttribute namespace="##any" processContents="skip"/>
</xsd:attributeGroup>
<!-- XLIFF Structure -->
<xsd:element name="xliff">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="skip"/>
<xsd:element ref="xlf:file"/>
</xsd:sequence>
<xsd:attribute name="version" type="xlf:AttrType_Version" use="required"/>
<xsd:attribute ref="xml:lang" use="optional"/>
<xsd:anyAttribute namespace="##any" processContents="skip"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="file">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" ref="xlf:header"/>
<xsd:element ref="xlf:body"/>
</xsd:sequence>
<xsd:attribute name="original" type="xsd:string" use="required"/>
<xsd:attribute name="source-language" type="xsd:language" use="required"/>
<xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="required"/>
<xsd:attribute name="date" type="xsd:dateTime" use="optional"/>
<xsd:attribute ref="xml:space" use="optional"/>
<xsd:attribute name="target-language" type="xsd:language" use="optional"/>
<xsd:attribute name="product-name" type="xsd:string" use="optional"/>
<xsd:attribute name="product-version" type="xsd:string" use="optional"/>
<xsd:attribute name="build-num" type="xsd:string" use="optional"/>
<xsd:anyAttribute namespace="##any" processContents="skip"/>
</xsd:complexType>
<xsd:unique name="U_group_id">
<xsd:selector xpath=".//xlf:group"/>
<xsd:field xpath="@id"/>
</xsd:unique>
<xsd:key name="K_unit_id">
<xsd:selector xpath=".//xlf:trans-unit"/>
<xsd:field xpath="@id"/>
</xsd:key>
<xsd:keyref name="KR_unit_id" refer="xlf:K_unit_id">
<xsd:selector xpath=".//g|.//x"/>
<xsd:field xpath="@xid"/>
</xsd:keyref>
<xsd:key name="K_tool-id">
<xsd:selector xpath="xlf:header/xlf:tool"/>
<xsd:field xpath="@tool-id"/>
</xsd:key>
<xsd:keyref name="KR_file_tool-id" refer="xlf:K_tool-id">
<xsd:selector xpath="."/>
<xsd:field xpath="@tool-id"/>
</xsd:keyref>
<xsd:unique name="U_uid">
<xsd:selector xpath=".//xlf:external-file"/>
<xsd:field xpath="@uid"/>
</xsd:unique>
</xsd:element>
<xsd:element name="header">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="skl" type="xlf:ElemType_ExternalReference"/>
<xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="skip"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="internal-file">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="form" type="xsd:string"/>
<xsd:attribute name="crc" type="xsd:NMTOKEN"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="note">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="xml:lang" use="optional"/>
<xsd:attribute name="from" type="xsd:string" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="body">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element name="group">
<xsd:complexType>
<xsd:sequence>
<xsd:choice maxOccurs="unbounded">
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="trans-unit">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="xlf:source"/>
<xsd:element minOccurs="0" ref="xlf:target"/>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xlf:note"/>
<xsd:element ref="xlf:alt-trans"/>
</xsd:choice>
<xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="skip"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/>
<xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
<xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/>
<xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/>
<xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/>
<xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/>
<xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/>
<xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/>
<xsd:attribute name="charclass" type="xsd:string" use="optional"/>
<xsd:attribute default="yes" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/>
<xsd:anyAttribute namespace="##any" processContents="skip"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="source">
<xsd:complexType mixed="true">
<xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
<xsd:attribute ref="xml:lang" use="optional"/>
<xsd:attribute name="ts" type="xsd:string" use="optional"/>
<xsd:anyAttribute namespace="##any" processContents="skip"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="target">
<xsd:complexType mixed="true">
<xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
<xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/>
<xsd:anyAttribute namespace="##any" processContents="skip"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="alt-trans">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" ref="xlf:source"/>
<xsd:element maxOccurs="unbounded" ref="xlf:target"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/>
<xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="skip"/>
</xsd:sequence>
<xsd:attribute name="match-quality" type="xsd:string" use="optional"/>
<xsd:attribute name="origin" type="xsd:string" use="optional"/>
<xsd:attribute name="extype" type="xsd:string" use="optional"/>
<xsd:anyAttribute namespace="##any" processContents="skip"/>
</xsd:complexType>
</xsd:element>
<!-- Element for inline codes -->
<xsd:element name="g">
<xsd:complexType mixed="true">
<xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
<xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="x">
<xsd:complexType>
<xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]