Matthias Andreas Benkard | 7b2a3a1 | 2021-08-16 10:57:25 +0200 | [diff] [blame^] | 1 | <?xml version="1.0" encoding="UTF-8"?> |
| 2 | <!-- |
| 3 | |
| 4 | XLIFF Version 2.0 |
| 5 | OASIS Standard |
| 6 | 05 August 2014 |
| 7 | Copyright (c) OASIS Open 2014. All rights reserved. |
| 8 | Source: http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/schemas/ |
| 9 | --> |
| 10 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| 11 | elementFormDefault="qualified" |
| 12 | xmlns:xlf="urn:oasis:names:tc:xliff:document:2.0" |
| 13 | targetNamespace="urn:oasis:names:tc:xliff:document:2.0"> |
| 14 | |
| 15 | <!-- Import --> |
| 16 | |
| 17 | <xs:import namespace="http://www.w3.org/XML/1998/namespace" |
| 18 | schemaLocation="informativeCopiesOf3rdPartySchemas/w3c/xml.xsd"/> |
| 19 | |
| 20 | <!-- Element Group --> |
| 21 | |
| 22 | <xs:group name="inline"> |
| 23 | <xs:choice> |
| 24 | <xs:element ref="xlf:cp"/> |
| 25 | <xs:element ref="xlf:ph"/> |
| 26 | <xs:element ref="xlf:pc"/> |
| 27 | <xs:element ref="xlf:sc"/> |
| 28 | <xs:element ref="xlf:ec"/> |
| 29 | <xs:element ref="xlf:mrk"/> |
| 30 | <xs:element ref="xlf:sm"/> |
| 31 | <xs:element ref="xlf:em"/> |
| 32 | </xs:choice> |
| 33 | </xs:group> |
| 34 | |
| 35 | <!-- Attribute Types --> |
| 36 | |
| 37 | <xs:simpleType name="yesNo"> |
| 38 | <xs:restriction base="xs:string"> |
| 39 | <xs:enumeration value="yes"/> |
| 40 | <xs:enumeration value="no"/> |
| 41 | </xs:restriction> |
| 42 | </xs:simpleType> |
| 43 | |
| 44 | <xs:simpleType name="yesNoFirstNo"> |
| 45 | <xs:restriction base="xs:string"> |
| 46 | <xs:enumeration value="yes"/> |
| 47 | <xs:enumeration value="firstNo"/> |
| 48 | <xs:enumeration value="no"/> |
| 49 | </xs:restriction> |
| 50 | </xs:simpleType> |
| 51 | |
| 52 | <xs:simpleType name="dirValue"> |
| 53 | <xs:restriction base="xs:string"> |
| 54 | <xs:enumeration value="ltr"/> |
| 55 | <xs:enumeration value="rtl"/> |
| 56 | <xs:enumeration value="auto"/> |
| 57 | </xs:restriction> |
| 58 | </xs:simpleType> |
| 59 | |
| 60 | <xs:simpleType name="appliesTo"> |
| 61 | <xs:restriction base="xs:string"> |
| 62 | <xs:enumeration value="source"/> |
| 63 | <xs:enumeration value="target"/> |
| 64 | </xs:restriction> |
| 65 | </xs:simpleType> |
| 66 | |
| 67 | <xs:simpleType name="userDefinedValue"> |
| 68 | <xs:restriction base="xs:string"> |
| 69 | <xs:pattern value="[^\s:]+:[^\s:]+"/> |
| 70 | </xs:restriction> |
| 71 | </xs:simpleType> |
| 72 | |
| 73 | <xs:simpleType name="attrType_type"> |
| 74 | <xs:restriction base="xs:string"> |
| 75 | <xs:enumeration value="fmt"/> |
| 76 | <xs:enumeration value="ui"/> |
| 77 | <xs:enumeration value="quote"/> |
| 78 | <xs:enumeration value="link"/> |
| 79 | <xs:enumeration value="image"/> |
| 80 | <xs:enumeration value="other"/> |
| 81 | </xs:restriction> |
| 82 | </xs:simpleType> |
| 83 | |
| 84 | <xs:simpleType name="typeForMrkValues"> |
| 85 | <xs:restriction base="xs:NMTOKEN"> |
| 86 | <xs:enumeration value="generic"/> |
| 87 | <xs:enumeration value="comment"/> |
| 88 | <xs:enumeration value="term"/> |
| 89 | </xs:restriction> |
| 90 | </xs:simpleType> |
| 91 | |
| 92 | <xs:simpleType name="attrType_typeForMrk"> |
| 93 | <xs:union memberTypes="xlf:typeForMrkValues xlf:userDefinedValue"/> |
| 94 | </xs:simpleType> |
| 95 | |
| 96 | <xs:simpleType name="priorityValue"> |
| 97 | <xs:restriction base="xs:positiveInteger"> |
| 98 | <xs:minInclusive value="1"/> |
| 99 | <xs:maxInclusive value="10"/> |
| 100 | </xs:restriction> |
| 101 | </xs:simpleType> |
| 102 | |
| 103 | <xs:simpleType name="stateType"> |
| 104 | <xs:restriction base="xs:string"> |
| 105 | <xs:enumeration value="initial"/> |
| 106 | <xs:enumeration value="translated"/> |
| 107 | <xs:enumeration value="reviewed"/> |
| 108 | <xs:enumeration value="final"/> |
| 109 | </xs:restriction> |
| 110 | </xs:simpleType> |
| 111 | |
| 112 | <!-- Structural Elements --> |
| 113 | |
| 114 | <xs:element name="xliff"> |
| 115 | <xs:complexType mixed="false"> |
| 116 | <xs:sequence> |
| 117 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:file"/> |
| 118 | </xs:sequence> |
| 119 | <xs:attribute name="version" use="required"/> |
| 120 | <xs:attribute name="srcLang" use="required"/> |
| 121 | <xs:attribute name="trgLang" use="optional"/> |
| 122 | <xs:attribute ref="xml:space" use="optional" default="default"/> |
| 123 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 124 | </xs:complexType> |
| 125 | </xs:element> |
| 126 | |
| 127 | <xs:element name="file"> |
| 128 | <xs:complexType mixed="false"> |
| 129 | <xs:sequence> |
| 130 | <xs:element minOccurs="0" maxOccurs="1" ref="xlf:skeleton"/> |
| 131 | <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" |
| 132 | processContents="lax"/> |
| 133 | <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/> |
| 134 | <xs:choice minOccurs="1" maxOccurs="unbounded"> |
| 135 | <xs:element ref="xlf:unit"/> |
| 136 | <xs:element ref="xlf:group"/> |
| 137 | </xs:choice> |
| 138 | </xs:sequence> |
| 139 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 140 | <xs:attribute name="canResegment" use="optional" type="xlf:yesNo" default="yes"/> |
| 141 | <xs:attribute name="original" use="optional"/> |
| 142 | <xs:attribute name="translate" use="optional" type="xlf:yesNo" default="yes"/> |
| 143 | <xs:attribute name="srcDir" use="optional" type="xlf:dirValue" default="auto"/> |
| 144 | <xs:attribute name="trgDir" use="optional" type="xlf:dirValue" default="auto"/> |
| 145 | <xs:attribute ref="xml:space" use="optional"/> |
| 146 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 147 | </xs:complexType> |
| 148 | </xs:element> |
| 149 | |
| 150 | <xs:element name="skeleton"> |
| 151 | <xs:complexType mixed="true"> |
| 152 | <xs:sequence> |
| 153 | <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" |
| 154 | processContents="lax"/> |
| 155 | </xs:sequence> |
| 156 | <xs:attribute name="href" use="optional"/> |
| 157 | </xs:complexType> |
| 158 | </xs:element> |
| 159 | |
| 160 | <xs:element name="group"> |
| 161 | <xs:complexType mixed="false"> |
| 162 | <xs:sequence> |
| 163 | <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" |
| 164 | processContents="lax"/> |
| 165 | <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/> |
| 166 | <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| 167 | <xs:element ref="xlf:unit"/> |
| 168 | <xs:element ref="xlf:group"/> |
| 169 | </xs:choice> |
| 170 | </xs:sequence> |
| 171 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 172 | <xs:attribute name="name" use="optional"/> |
| 173 | <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/> |
| 174 | <xs:attribute name="translate" use="optional" type="xlf:yesNo"/> |
| 175 | <xs:attribute name="srcDir" use="optional" type="xlf:dirValue"/> |
| 176 | <xs:attribute name="trgDir" use="optional" type="xlf:dirValue"/> |
| 177 | <xs:attribute name="type" use="optional" type="xlf:userDefinedValue"/> |
| 178 | <xs:attribute ref="xml:space" use="optional"/> |
| 179 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 180 | </xs:complexType> |
| 181 | </xs:element> |
| 182 | |
| 183 | <xs:element name="unit"> |
| 184 | <xs:complexType mixed="false"> |
| 185 | <xs:sequence> |
| 186 | <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" |
| 187 | processContents="lax"/> |
| 188 | <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/> |
| 189 | <xs:element minOccurs="0" maxOccurs="1" ref="xlf:originalData"/> |
| 190 | <xs:choice minOccurs="1" maxOccurs="unbounded"> |
| 191 | <xs:element ref="xlf:segment"/> |
| 192 | <xs:element ref="xlf:ignorable"/> |
| 193 | </xs:choice> |
| 194 | </xs:sequence> |
| 195 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 196 | <xs:attribute name="name" use="optional"/> |
| 197 | <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/> |
| 198 | <xs:attribute name="translate" use="optional" type="xlf:yesNo"/> |
| 199 | <xs:attribute name="srcDir" use="optional" type="xlf:dirValue"/> |
| 200 | <xs:attribute name="trgDir" use="optional" type="xlf:dirValue"/> |
| 201 | <xs:attribute ref="xml:space" use="optional"/> |
| 202 | <xs:attribute name="type" use="optional" type="xlf:userDefinedValue"/> |
| 203 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 204 | </xs:complexType> |
| 205 | </xs:element> |
| 206 | |
| 207 | <xs:element name="segment"> |
| 208 | <xs:complexType mixed="false"> |
| 209 | <xs:sequence> |
| 210 | <xs:element minOccurs="1" maxOccurs="1" ref="xlf:source"/> |
| 211 | <xs:element minOccurs="0" maxOccurs="1" ref="xlf:target"/> |
| 212 | </xs:sequence> |
| 213 | <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/> |
| 214 | <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/> |
| 215 | <xs:attribute name="state" use="optional" type="xlf:stateType" default="initial"/> |
| 216 | <xs:attribute name="subState" use="optional"/> |
| 217 | </xs:complexType> |
| 218 | </xs:element> |
| 219 | |
| 220 | <xs:element name="ignorable"> |
| 221 | <xs:complexType mixed="false"> |
| 222 | <xs:sequence> |
| 223 | <xs:element minOccurs="1" maxOccurs="1" ref="xlf:source"/> |
| 224 | <xs:element minOccurs="0" maxOccurs="1" ref="xlf:target"/> |
| 225 | </xs:sequence> |
| 226 | <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/> |
| 227 | </xs:complexType> |
| 228 | </xs:element> |
| 229 | |
| 230 | <xs:element name="notes"> |
| 231 | <xs:complexType mixed="false"> |
| 232 | <xs:sequence> |
| 233 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:note"/> |
| 234 | </xs:sequence> |
| 235 | </xs:complexType> |
| 236 | </xs:element> |
| 237 | |
| 238 | <xs:element name="note"> |
| 239 | <xs:complexType mixed="true"> |
| 240 | <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/> |
| 241 | <xs:attribute name="appliesTo" use="optional" type="xlf:appliesTo"/> |
| 242 | <xs:attribute name="category" use="optional"/> |
| 243 | <xs:attribute name="priority" use="optional" type="xlf:priorityValue" default="1"/> |
| 244 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 245 | </xs:complexType> |
| 246 | </xs:element> |
| 247 | |
| 248 | <xs:element name="originalData"> |
| 249 | <xs:complexType mixed="false"> |
| 250 | <xs:sequence> |
| 251 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:data"/> |
| 252 | </xs:sequence> |
| 253 | </xs:complexType> |
| 254 | </xs:element> |
| 255 | |
| 256 | <xs:element name="data"> |
| 257 | <xs:complexType mixed="true"> |
| 258 | <xs:sequence> |
| 259 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="xlf:cp"/> |
| 260 | </xs:sequence> |
| 261 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 262 | <xs:attribute name="dir" use="optional" type="xlf:dirValue" default="auto"/> |
| 263 | <xs:attribute ref="xml:space" use="optional" fixed="preserve"/> |
| 264 | </xs:complexType> |
| 265 | </xs:element> |
| 266 | |
| 267 | <xs:element name="source"> |
| 268 | <xs:complexType mixed="true"> |
| 269 | <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/> |
| 270 | <xs:attribute ref="xml:lang" use="optional"/> |
| 271 | <xs:attribute ref="xml:space" use="optional"/> |
| 272 | </xs:complexType> |
| 273 | </xs:element> |
| 274 | |
| 275 | <xs:element name="target"> |
| 276 | <xs:complexType mixed="true"> |
| 277 | <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/> |
| 278 | <xs:attribute ref="xml:lang" use="optional"/> |
| 279 | <xs:attribute ref="xml:space" use="optional"/> |
| 280 | <xs:attribute name="order" use="optional" type="xs:positiveInteger"/> |
| 281 | </xs:complexType> |
| 282 | </xs:element> |
| 283 | |
| 284 | <!-- Inline Elements --> |
| 285 | |
| 286 | <xs:element name="cp"> |
| 287 | <!-- Code Point --> |
| 288 | <xs:complexType mixed="false"> |
| 289 | <xs:attribute name="hex" use="required" type="xs:hexBinary"/> |
| 290 | </xs:complexType> |
| 291 | </xs:element> |
| 292 | |
| 293 | <xs:element name="ph"> |
| 294 | <!-- Placeholder --> |
| 295 | <xs:complexType mixed="false"> |
| 296 | <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/> |
| 297 | <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/> |
| 298 | <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/> |
| 299 | <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/> |
| 300 | <xs:attribute name="disp" use="optional"/> |
| 301 | <xs:attribute name="equiv" use="optional"/> |
| 302 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 303 | <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/> |
| 304 | <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/> |
| 305 | <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/> |
| 306 | <xs:attribute name="type" use="optional" type="xlf:attrType_type"/> |
| 307 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 308 | </xs:complexType> |
| 309 | </xs:element> |
| 310 | |
| 311 | <xs:element name="pc"> |
| 312 | <!-- Paired Code --> |
| 313 | <xs:complexType mixed="true"> |
| 314 | <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/> |
| 315 | <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/> |
| 316 | <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/> |
| 317 | <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo"/> |
| 318 | <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/> |
| 319 | <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/> |
| 320 | <xs:attribute name="dispEnd" use="optional"/> |
| 321 | <xs:attribute name="dispStart" use="optional"/> |
| 322 | <xs:attribute name="equivEnd" use="optional"/> |
| 323 | <xs:attribute name="equivStart" use="optional"/> |
| 324 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 325 | <xs:attribute name="dataRefEnd" use="optional" type="xs:NMTOKEN"/> |
| 326 | <xs:attribute name="dataRefStart" use="optional" type="xs:NMTOKEN"/> |
| 327 | <xs:attribute name="subFlowsEnd" use="optional" type="xs:NMTOKENS"/> |
| 328 | <xs:attribute name="subFlowsStart" use="optional" type="xs:NMTOKENS"/> |
| 329 | <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/> |
| 330 | <xs:attribute name="type" use="optional" type="xlf:attrType_type"/> |
| 331 | <xs:attribute name="dir" use="optional" type="xlf:dirValue"/> |
| 332 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 333 | </xs:complexType> |
| 334 | </xs:element> |
| 335 | |
| 336 | <xs:element name="sc"> |
| 337 | <!-- Start Code --> |
| 338 | <xs:complexType mixed="false"> |
| 339 | <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/> |
| 340 | <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/> |
| 341 | <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo" default="yes"/> |
| 342 | <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/> |
| 343 | <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/> |
| 344 | <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/> |
| 345 | <xs:attribute name="dir" use="optional" type="xlf:dirValue"/> |
| 346 | <xs:attribute name="disp" use="optional"/> |
| 347 | <xs:attribute name="equiv" use="optional"/> |
| 348 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 349 | <xs:attribute name="isolated" use="optional" type="xlf:yesNo" default="no"/> |
| 350 | <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/> |
| 351 | <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/> |
| 352 | <xs:attribute name="type" use="optional" type="xlf:attrType_type"/> |
| 353 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 354 | </xs:complexType> |
| 355 | </xs:element> |
| 356 | |
| 357 | <xs:element name="ec"> |
| 358 | <!-- End Code --> |
| 359 | <xs:complexType mixed="false"> |
| 360 | <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/> |
| 361 | <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/> |
| 362 | <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo" default="yes"/> |
| 363 | <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/> |
| 364 | <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/> |
| 365 | <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/> |
| 366 | <xs:attribute name="dir" use="optional" type="xlf:dirValue"/> |
| 367 | <xs:attribute name="disp" use="optional"/> |
| 368 | <xs:attribute name="equiv" use="optional"/> |
| 369 | <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/> |
| 370 | <xs:attribute name="isolated" use="optional" type="xlf:yesNo" default="no"/> |
| 371 | <xs:attribute name="startRef" use="optional" type="xs:NMTOKEN"/> |
| 372 | <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/> |
| 373 | <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/> |
| 374 | <xs:attribute name="type" use="optional" type="xlf:attrType_type"/> |
| 375 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 376 | </xs:complexType> |
| 377 | </xs:element> |
| 378 | |
| 379 | <xs:element name="mrk"> |
| 380 | <!-- Annotation Marker --> |
| 381 | <xs:complexType mixed="true"> |
| 382 | <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/> |
| 383 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 384 | <xs:attribute name="translate" use="optional" type="xlf:yesNo"/> |
| 385 | <xs:attribute name="type" use="optional" type="xlf:attrType_typeForMrk"/> |
| 386 | <xs:attribute name="ref" use="optional" type="xs:anyURI"/> |
| 387 | <xs:attribute name="value" use="optional"/> |
| 388 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 389 | </xs:complexType> |
| 390 | </xs:element> |
| 391 | |
| 392 | <xs:element name="sm"> |
| 393 | <!-- Start Annotation Marker --> |
| 394 | <xs:complexType mixed="false"> |
| 395 | <xs:attribute name="id" use="required" type="xs:NMTOKEN"/> |
| 396 | <xs:attribute name="translate" use="optional" type="xlf:yesNo"/> |
| 397 | <xs:attribute name="type" use="optional" type="xlf:attrType_typeForMrk"/> |
| 398 | <xs:attribute name="ref" use="optional" type="xs:anyURI"/> |
| 399 | <xs:attribute name="value" use="optional"/> |
| 400 | <xs:anyAttribute namespace="##other" processContents="lax"/> |
| 401 | </xs:complexType> |
| 402 | </xs:element> |
| 403 | |
| 404 | <xs:element name="em"> |
| 405 | <!-- End Annotation Marker --> |
| 406 | <xs:complexType mixed="false"> |
| 407 | <xs:attribute name="startRef" use="required" type="xs:NMTOKEN"/> |
| 408 | </xs:complexType> |
| 409 | </xs:element> |
| 410 | |
| 411 | </xs:schema> |