123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- XLIFF Version 2.0
- OASIS Standard
- 05 August 2014
- Copyright (c) OASIS Open 2014. All rights reserved.
- Source: http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/schemas/
- -->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- xmlns:xlf="urn:oasis:names:tc:xliff:document:2.0"
- targetNamespace="urn:oasis:names:tc:xliff:document:2.0">
- <!-- Import -->
- <xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="informativeCopiesOf3rdPartySchemas/w3c/xml.xsd"/>
- <!-- Element Group -->
- <xs:group name="inline">
- <xs:choice>
- <xs:element ref="xlf:cp"/>
- <xs:element ref="xlf:ph"/>
- <xs:element ref="xlf:pc"/>
- <xs:element ref="xlf:sc"/>
- <xs:element ref="xlf:ec"/>
- <xs:element ref="xlf:mrk"/>
- <xs:element ref="xlf:sm"/>
- <xs:element ref="xlf:em"/>
- </xs:choice>
- </xs:group>
- <!-- Attribute Types -->
- <xs:simpleType name="yesNo">
- <xs:restriction base="xs:string">
- <xs:enumeration value="yes"/>
- <xs:enumeration value="no"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="yesNoFirstNo">
- <xs:restriction base="xs:string">
- <xs:enumeration value="yes"/>
- <xs:enumeration value="firstNo"/>
- <xs:enumeration value="no"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="dirValue">
- <xs:restriction base="xs:string">
- <xs:enumeration value="ltr"/>
- <xs:enumeration value="rtl"/>
- <xs:enumeration value="auto"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="appliesTo">
- <xs:restriction base="xs:string">
- <xs:enumeration value="source"/>
- <xs:enumeration value="target"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="userDefinedValue">
- <xs:restriction base="xs:string">
- <xs:pattern value="[^\s:]+:[^\s:]+"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="attrType_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="fmt"/>
- <xs:enumeration value="ui"/>
- <xs:enumeration value="quote"/>
- <xs:enumeration value="link"/>
- <xs:enumeration value="image"/>
- <xs:enumeration value="other"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="typeForMrkValues">
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="generic"/>
- <xs:enumeration value="comment"/>
- <xs:enumeration value="term"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="attrType_typeForMrk">
- <xs:union memberTypes="xlf:typeForMrkValues xlf:userDefinedValue"/>
- </xs:simpleType>
- <xs:simpleType name="priorityValue">
- <xs:restriction base="xs:positiveInteger">
- <xs:minInclusive value="1"/>
- <xs:maxInclusive value="10"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="stateType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="initial"/>
- <xs:enumeration value="translated"/>
- <xs:enumeration value="reviewed"/>
- <xs:enumeration value="final"/>
- </xs:restriction>
- </xs:simpleType>
- <!-- Structural Elements -->
- <xs:element name="xliff">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:file"/>
- </xs:sequence>
- <xs:attribute name="version" use="required"/>
- <xs:attribute name="srcLang" use="required"/>
- <xs:attribute name="trgLang" use="optional"/>
- <xs:attribute ref="xml:space" use="optional" default="default"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="file">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" ref="xlf:skeleton"/>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
- processContents="lax"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/>
- <xs:choice minOccurs="1" maxOccurs="unbounded">
- <xs:element ref="xlf:unit"/>
- <xs:element ref="xlf:group"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="canResegment" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="original" use="optional"/>
- <xs:attribute name="translate" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="srcDir" use="optional" type="xlf:dirValue" default="auto"/>
- <xs:attribute name="trgDir" use="optional" type="xlf:dirValue" default="auto"/>
- <xs:attribute ref="xml:space" use="optional"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skeleton">
- <xs:complexType mixed="true">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
- processContents="lax"/>
- </xs:sequence>
- <xs:attribute name="href" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="group">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
- processContents="lax"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="xlf:unit"/>
- <xs:element ref="xlf:group"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="name" use="optional"/>
- <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="srcDir" use="optional" type="xlf:dirValue"/>
- <xs:attribute name="trgDir" use="optional" type="xlf:dirValue"/>
- <xs:attribute name="type" use="optional" type="xlf:userDefinedValue"/>
- <xs:attribute ref="xml:space" use="optional"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="unit">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
- processContents="lax"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="xlf:originalData"/>
- <xs:choice minOccurs="1" maxOccurs="unbounded">
- <xs:element ref="xlf:segment"/>
- <xs:element ref="xlf:ignorable"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="name" use="optional"/>
- <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="srcDir" use="optional" type="xlf:dirValue"/>
- <xs:attribute name="trgDir" use="optional" type="xlf:dirValue"/>
- <xs:attribute ref="xml:space" use="optional"/>
- <xs:attribute name="type" use="optional" type="xlf:userDefinedValue"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="segment">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" ref="xlf:source"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="xlf:target"/>
- </xs:sequence>
- <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="state" use="optional" type="xlf:stateType" default="initial"/>
- <xs:attribute name="subState" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="ignorable">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" ref="xlf:source"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="xlf:target"/>
- </xs:sequence>
- <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="notes">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:note"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="note">
- <xs:complexType mixed="true">
- <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="appliesTo" use="optional" type="xlf:appliesTo"/>
- <xs:attribute name="category" use="optional"/>
- <xs:attribute name="priority" use="optional" type="xlf:priorityValue" default="1"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="originalData">
- <xs:complexType mixed="false">
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:data"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="data">
- <xs:complexType mixed="true">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="xlf:cp"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="dir" use="optional" type="xlf:dirValue" default="auto"/>
- <xs:attribute ref="xml:space" use="optional" fixed="preserve"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="source">
- <xs:complexType mixed="true">
- <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
- <xs:attribute ref="xml:lang" use="optional"/>
- <xs:attribute ref="xml:space" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="target">
- <xs:complexType mixed="true">
- <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
- <xs:attribute ref="xml:lang" use="optional"/>
- <xs:attribute ref="xml:space" use="optional"/>
- <xs:attribute name="order" use="optional" type="xs:positiveInteger"/>
- </xs:complexType>
- </xs:element>
- <!-- Inline Elements -->
- <xs:element name="cp">
- <!-- Code Point -->
- <xs:complexType mixed="false">
- <xs:attribute name="hex" use="required" type="xs:hexBinary"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="ph">
- <!-- Placeholder -->
- <xs:complexType mixed="false">
- <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
- <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="disp" use="optional"/>
- <xs:attribute name="equiv" use="optional"/>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/>
- <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
- <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="pc">
- <!-- Paired Code -->
- <xs:complexType mixed="true">
- <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
- <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
- <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="dispEnd" use="optional"/>
- <xs:attribute name="dispStart" use="optional"/>
- <xs:attribute name="equivEnd" use="optional"/>
- <xs:attribute name="equivStart" use="optional"/>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="dataRefEnd" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="dataRefStart" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="subFlowsEnd" use="optional" type="xs:NMTOKENS"/>
- <xs:attribute name="subFlowsStart" use="optional" type="xs:NMTOKENS"/>
- <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
- <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
- <xs:attribute name="dir" use="optional" type="xlf:dirValue"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="sc">
- <!-- Start Code -->
- <xs:complexType mixed="false">
- <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
- <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="dir" use="optional" type="xlf:dirValue"/>
- <xs:attribute name="disp" use="optional"/>
- <xs:attribute name="equiv" use="optional"/>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="isolated" use="optional" type="xlf:yesNo" default="no"/>
- <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/>
- <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
- <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="ec">
- <!-- End Code -->
- <xs:complexType mixed="false">
- <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo" default="yes"/>
- <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
- <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="dir" use="optional" type="xlf:dirValue"/>
- <xs:attribute name="disp" use="optional"/>
- <xs:attribute name="equiv" use="optional"/>
- <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="isolated" use="optional" type="xlf:yesNo" default="no"/>
- <xs:attribute name="startRef" use="optional" type="xs:NMTOKEN"/>
- <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/>
- <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
- <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="mrk">
- <!-- Annotation Marker -->
- <xs:complexType mixed="true">
- <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="type" use="optional" type="xlf:attrType_typeForMrk"/>
- <xs:attribute name="ref" use="optional" type="xs:anyURI"/>
- <xs:attribute name="value" use="optional"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="sm">
- <!-- Start Annotation Marker -->
- <xs:complexType mixed="false">
- <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
- <xs:attribute name="type" use="optional" type="xlf:attrType_typeForMrk"/>
- <xs:attribute name="ref" use="optional" type="xs:anyURI"/>
- <xs:attribute name="value" use="optional"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="em">
- <!-- End Annotation Marker -->
- <xs:complexType mixed="false">
- <xs:attribute name="startRef" use="required" type="xs:NMTOKEN"/>
- </xs:complexType>
- </xs:element>
- </xs:schema>
|