aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/symfony/translation/Symfony/Component/Translation/Loader
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/symfony/translation/Symfony/Component/Translation/Loader')
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php70
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php92
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php54
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php84
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php45
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php41
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php179
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php49
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php178
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php95
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php163
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php71
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd2223
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd309
14 files changed, 0 insertions, 3653 deletions
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php
deleted file mode 100644
index 99058fbf..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/ArrayLoader.php
+++ /dev/null
@@ -1,70 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\MessageCatalogue;
15
16/**
17 * ArrayLoader loads translations from a PHP array.
18 *
19 * @author Fabien Potencier <fabien@symfony.com>
20 *
21 * @api
22 */
23class ArrayLoader implements LoaderInterface
24{
25 /**
26 * {@inheritdoc}
27 *
28 * @api
29 */
30 public function load($resource, $locale, $domain = 'messages')
31 {
32 $this->flatten($resource);
33 $catalogue = new MessageCatalogue($locale);
34 $catalogue->add($resource, $domain);
35
36 return $catalogue;
37 }
38
39 /**
40 * Flattens an nested array of translations
41 *
42 * The scheme used is:
43 * 'key' => array('key2' => array('key3' => 'value'))
44 * Becomes:
45 * 'key.key2.key3' => 'value'
46 *
47 * This function takes an array by reference and will modify it
48 *
49 * @param array &$messages The array that will be flattened
50 * @param array $subnode Current subnode being parsed, used internally for recursive calls
51 * @param string $path Current path being parsed, used internally for recursive calls
52 */
53 private function flatten(array &$messages, array $subnode = null, $path = null)
54 {
55 if (null === $subnode) {
56 $subnode =& $messages;
57 }
58 foreach ($subnode as $key => $value) {
59 if (is_array($value)) {
60 $nodePath = $path ? $path.'.'.$key : $key;
61 $this->flatten($messages, $value, $nodePath);
62 if (null === $path) {
63 unset($messages[$key]);
64 }
65 } elseif (null !== $path) {
66 $messages[$path.'.'.$key] = $value;
67 }
68 }
69 }
70}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php
deleted file mode 100644
index bc10188c..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/CsvFileLoader.php
+++ /dev/null
@@ -1,92 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\Exception\InvalidResourceException;
15use Symfony\Component\Translation\Exception\NotFoundResourceException;
16use Symfony\Component\Config\Resource\FileResource;
17
18/**
19 * CsvFileLoader loads translations from CSV files.
20 *
21 * @author Saša Stamenković <umpirsky@gmail.com>
22 *
23 * @api
24 */
25class CsvFileLoader extends ArrayLoader implements LoaderInterface
26{
27 private $delimiter = ';';
28 private $enclosure = '"';
29 private $escape = '\\';
30
31 /**
32 * {@inheritdoc}
33 *
34 * @api
35 */
36 public function load($resource, $locale, $domain = 'messages')
37 {
38 if (!stream_is_local($resource)) {
39 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
40 }
41
42 if (!file_exists($resource)) {
43 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
44 }
45
46 $messages = array();
47
48 try {
49 $file = new \SplFileObject($resource, 'rb');
50 } catch (\RuntimeException $e) {
51 throw new NotFoundResourceException(sprintf('Error opening file "%s".', $resource), 0, $e);
52 }
53
54 $file->setFlags(\SplFileObject::READ_CSV | \SplFileObject::SKIP_EMPTY);
55 $file->setCsvControl($this->delimiter, $this->enclosure, $this->escape);
56
57 foreach ($file as $data) {
58 if (substr($data[0], 0, 1) === '#') {
59 continue;
60 }
61
62 if (!isset($data[1])) {
63 continue;
64 }
65
66 if (count($data) == 2) {
67 $messages[$data[0]] = $data[1];
68 } else {
69 continue;
70 }
71 }
72
73 $catalogue = parent::load($messages, $locale, $domain);
74 $catalogue->addResource(new FileResource($resource));
75
76 return $catalogue;
77 }
78
79 /**
80 * Sets the delimiter, enclosure, and escape character for CSV.
81 *
82 * @param string $delimiter delimiter character
83 * @param string $enclosure enclosure character
84 * @param string $escape escape character
85 */
86 public function setCsvControl($delimiter = ';', $enclosure = '"', $escape = '\\')
87 {
88 $this->delimiter = $delimiter;
89 $this->enclosure = $enclosure;
90 $this->escape = $escape;
91 }
92}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php
deleted file mode 100644
index 104883b0..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuDatFileLoader.php
+++ /dev/null
@@ -1,54 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\MessageCatalogue;
15use Symfony\Component\Translation\Exception\InvalidResourceException;
16use Symfony\Component\Translation\Exception\NotFoundResourceException;
17use Symfony\Component\Config\Resource\FileResource;
18
19/**
20 * IcuResFileLoader loads translations from a resource bundle.
21 *
22 * @author stealth35
23 */
24class IcuDatFileLoader extends IcuResFileLoader
25{
26 /**
27 * {@inheritdoc}
28 */
29 public function load($resource, $locale, $domain = 'messages')
30 {
31 if (!stream_is_local($resource.'.dat')) {
32 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
33 }
34
35 if (!file_exists($resource.'.dat')) {
36 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
37 }
38
39 $rb = new \ResourceBundle($locale, $resource);
40
41 if (!$rb) {
42 throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource));
43 } elseif (intl_is_failure($rb->getErrorCode())) {
44 throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode());
45 }
46
47 $messages = $this->flatten($rb);
48 $catalogue = new MessageCatalogue($locale);
49 $catalogue->add($messages, $domain);
50 $catalogue->addResource(new FileResource($resource.'.dat'));
51
52 return $catalogue;
53 }
54}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php
deleted file mode 100644
index 81b8e0fc..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IcuResFileLoader.php
+++ /dev/null
@@ -1,84 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\MessageCatalogue;
15use Symfony\Component\Translation\Exception\InvalidResourceException;
16use Symfony\Component\Translation\Exception\NotFoundResourceException;
17use Symfony\Component\Config\Resource\DirectoryResource;
18
19/**
20 * IcuResFileLoader loads translations from a resource bundle.
21 *
22 * @author stealth35
23 */
24class IcuResFileLoader implements LoaderInterface
25{
26 /**
27 * {@inheritdoc}
28 */
29 public function load($resource, $locale, $domain = 'messages')
30 {
31 if (!stream_is_local($resource)) {
32 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
33 }
34
35 if (!is_dir($resource)) {
36 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
37 }
38
39 $rb = new \ResourceBundle($locale, $resource);
40
41 if (!$rb) {
42 throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource));
43 } elseif (intl_is_failure($rb->getErrorCode())) {
44 throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode());
45 }
46
47 $messages = $this->flatten($rb);
48 $catalogue = new MessageCatalogue($locale);
49 $catalogue->add($messages, $domain);
50 $catalogue->addResource(new DirectoryResource($resource));
51
52 return $catalogue;
53 }
54
55 /**
56 * Flattens an ResourceBundle
57 *
58 * The scheme used is:
59 * key { key2 { key3 { "value" } } }
60 * Becomes:
61 * 'key.key2.key3' => 'value'
62 *
63 * This function takes an array by reference and will modify it
64 *
65 * @param \ResourceBundle $rb the ResourceBundle that will be flattened
66 * @param array $messages used internally for recursive calls
67 * @param string $path current path being parsed, used internally for recursive calls
68 *
69 * @return array the flattened ResourceBundle
70 */
71 protected function flatten(\ResourceBundle $rb, array &$messages = array(), $path = null)
72 {
73 foreach ($rb as $key => $value) {
74 $nodePath = $path ? $path.'.'.$key : $key;
75 if ($value instanceof \ResourceBundle) {
76 $this->flatten($value, $messages, $nodePath);
77 } else {
78 $messages[$nodePath] = $value;
79 }
80 }
81
82 return $messages;
83 }
84}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php
deleted file mode 100644
index 616fa7e0..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/IniFileLoader.php
+++ /dev/null
@@ -1,45 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\Exception\InvalidResourceException;
15use Symfony\Component\Translation\Exception\NotFoundResourceException;
16use Symfony\Component\Config\Resource\FileResource;
17
18/**
19 * IniFileLoader loads translations from an ini file.
20 *
21 * @author stealth35
22 */
23class IniFileLoader extends ArrayLoader implements LoaderInterface
24{
25 /**
26 * {@inheritdoc}
27 */
28 public function load($resource, $locale, $domain = 'messages')
29 {
30 if (!stream_is_local($resource)) {
31 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
32 }
33
34 if (!file_exists($resource)) {
35 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
36 }
37
38 $messages = parse_ini_file($resource, true);
39
40 $catalogue = parent::load($messages, $locale, $domain);
41 $catalogue->addResource(new FileResource($resource));
42
43 return $catalogue;
44 }
45}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php
deleted file mode 100644
index 4d9965ce..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/LoaderInterface.php
+++ /dev/null
@@ -1,41 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\MessageCatalogue;
15use Symfony\Component\Translation\Exception\InvalidResourceException;
16
17/**
18 * LoaderInterface is the interface implemented by all translation loaders.
19 *
20 * @author Fabien Potencier <fabien@symfony.com>
21 *
22 * @api
23 */
24interface LoaderInterface
25{
26 /**
27 * Loads a locale.
28 *
29 * @param mixed $resource A resource
30 * @param string $locale A locale
31 * @param string $domain The domain
32 *
33 * @return MessageCatalogue A MessageCatalogue instance
34 *
35 * @api
36 *
37 * @throws NotFoundResourceException when the resource cannot be found
38 * @throws InvalidResourceException when the resource cannot be loaded
39 */
40 public function load($resource, $locale, $domain = 'messages');
41}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php
deleted file mode 100644
index 9d1cacb3..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/MoFileLoader.php
+++ /dev/null
@@ -1,179 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\Exception\InvalidResourceException;
15use Symfony\Component\Translation\Exception\NotFoundResourceException;
16use Symfony\Component\Config\Resource\FileResource;
17
18/**
19 * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/)
20 */
21class MoFileLoader extends ArrayLoader implements LoaderInterface
22{
23 /**
24 * Magic used for validating the format of a MO file as well as
25 * detecting if the machine used to create that file was little endian.
26 *
27 * @var float
28 */
29 const MO_LITTLE_ENDIAN_MAGIC = 0x950412de;
30
31 /**
32 * Magic used for validating the format of a MO file as well as
33 * detecting if the machine used to create that file was big endian.
34 *
35 * @var float
36 */
37 const MO_BIG_ENDIAN_MAGIC = 0xde120495;
38
39 /**
40 * The size of the header of a MO file in bytes.
41 *
42 * @var integer Number of bytes.
43 */
44 const MO_HEADER_SIZE = 28;
45
46 public function load($resource, $locale, $domain = 'messages')
47 {
48 if (!stream_is_local($resource)) {
49 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
50 }
51
52 if (!file_exists($resource)) {
53 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
54 }
55
56 $messages = $this->parse($resource);
57
58 // empty file
59 if (null === $messages) {
60 $messages = array();
61 }
62
63 // not an array
64 if (!is_array($messages)) {
65 throw new InvalidResourceException(sprintf('The file "%s" must contain a valid mo file.', $resource));
66 }
67
68 $catalogue = parent::load($messages, $locale, $domain);
69 $catalogue->addResource(new FileResource($resource));
70
71 return $catalogue;
72 }
73
74 /**
75 * Parses machine object (MO) format, independent of the machine's endian it
76 * was created on. Both 32bit and 64bit systems are supported.
77 *
78 * @param resource $resource
79 *
80 * @return array
81 * @throws InvalidResourceException If stream content has an invalid format.
82 */
83 private function parse($resource)
84 {
85 $stream = fopen($resource, 'r');
86
87 $stat = fstat($stream);
88
89 if ($stat['size'] < self::MO_HEADER_SIZE) {
90 throw new InvalidResourceException("MO stream content has an invalid format.");
91 }
92 $magic = unpack('V1', fread($stream, 4));
93 $magic = hexdec(substr(dechex(current($magic)), -8));
94
95 if ($magic == self::MO_LITTLE_ENDIAN_MAGIC) {
96 $isBigEndian = false;
97 } elseif ($magic == self::MO_BIG_ENDIAN_MAGIC) {
98 $isBigEndian = true;
99 } else {
100 throw new InvalidResourceException("MO stream content has an invalid format.");
101 }
102
103 $formatRevision = $this->readLong($stream, $isBigEndian);
104 $count = $this->readLong($stream, $isBigEndian);
105 $offsetId = $this->readLong($stream, $isBigEndian);
106 $offsetTranslated = $this->readLong($stream, $isBigEndian);
107 $sizeHashes = $this->readLong($stream, $isBigEndian);
108 $offsetHashes = $this->readLong($stream, $isBigEndian);
109
110 $messages = array();
111
112 for ($i = 0; $i < $count; $i++) {
113 $singularId = $pluralId = null;
114 $translated = null;
115
116 fseek($stream, $offsetId + $i * 8);
117
118 $length = $this->readLong($stream, $isBigEndian);
119 $offset = $this->readLong($stream, $isBigEndian);
120
121 if ($length < 1) {
122 continue;
123 }
124
125 fseek($stream, $offset);
126 $singularId = fread($stream, $length);
127
128 if (strpos($singularId, "\000") !== false) {
129 list($singularId, $pluralId) = explode("\000", $singularId);
130 }
131
132 fseek($stream, $offsetTranslated + $i * 8);
133 $length = $this->readLong($stream, $isBigEndian);
134 $offset = $this->readLong($stream, $isBigEndian);
135
136 fseek($stream, $offset);
137 $translated = fread($stream, $length);
138
139 if (strpos($translated, "\000") !== false) {
140 $translated = explode("\000", $translated);
141 }
142
143 $ids = array('singular' => $singularId, 'plural' => $pluralId);
144 $item = compact('ids', 'translated');
145
146 if (is_array($item['translated'])) {
147 $messages[$item['ids']['singular']] = stripcslashes($item['translated'][0]);
148 if (isset($item['ids']['plural'])) {
149 $plurals = array();
150 foreach ($item['translated'] as $plural => $translated) {
151 $plurals[] = sprintf('{%d} %s', $plural, $translated);
152 }
153 $messages[$item['ids']['plural']] = stripcslashes(implode('|', $plurals));
154 }
155 } elseif (!empty($item['ids']['singular'])) {
156 $messages[$item['ids']['singular']] = stripcslashes($item['translated']);
157 }
158 }
159
160 fclose($stream);
161
162 return array_filter($messages);
163 }
164
165 /**
166 * Reads an unsigned long from stream respecting endianess.
167 *
168 * @param resource $stream
169 * @param boolean $isBigEndian
170 * @return integer
171 */
172 private function readLong($stream, $isBigEndian)
173 {
174 $result = unpack($isBigEndian ? 'N1' : 'V1', fread($stream, 4));
175 $result = current($result);
176
177 return (integer) substr($result, -8);
178 }
179}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php
deleted file mode 100644
index 4737d1bf..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PhpFileLoader.php
+++ /dev/null
@@ -1,49 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\Exception\InvalidResourceException;
15use Symfony\Component\Translation\Exception\NotFoundResourceException;
16use Symfony\Component\Config\Resource\FileResource;
17
18/**
19 * PhpFileLoader loads translations from PHP files returning an array of translations.
20 *
21 * @author Fabien Potencier <fabien@symfony.com>
22 *
23 * @api
24 */
25class PhpFileLoader extends ArrayLoader implements LoaderInterface
26{
27 /**
28 * {@inheritdoc}
29 *
30 * @api
31 */
32 public function load($resource, $locale, $domain = 'messages')
33 {
34 if (!stream_is_local($resource)) {
35 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
36 }
37
38 if (!file_exists($resource)) {
39 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
40 }
41
42 $messages = require($resource);
43
44 $catalogue = parent::load($messages, $locale, $domain);
45 $catalogue->addResource(new FileResource($resource));
46
47 return $catalogue;
48 }
49}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php
deleted file mode 100644
index 58ec6c7a..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/PoFileLoader.php
+++ /dev/null
@@ -1,178 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\Exception\InvalidResourceException;
15use Symfony\Component\Translation\Exception\NotFoundResourceException;
16use Symfony\Component\Config\Resource\FileResource;
17
18/**
19 * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/)
20 * @copyright Copyright (c) 2012, Clemens Tolboom
21 */
22class PoFileLoader extends ArrayLoader implements LoaderInterface
23{
24 public function load($resource, $locale, $domain = 'messages')
25 {
26 if (!stream_is_local($resource)) {
27 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
28 }
29
30 if (!file_exists($resource)) {
31 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
32 }
33
34 $messages = $this->parse($resource);
35
36 // empty file
37 if (null === $messages) {
38 $messages = array();
39 }
40
41 // not an array
42 if (!is_array($messages)) {
43 throw new InvalidResourceException(sprintf('The file "%s" must contain a valid po file.', $resource));
44 }
45
46 $catalogue = parent::load($messages, $locale, $domain);
47 $catalogue->addResource(new FileResource($resource));
48
49 return $catalogue;
50 }
51
52 /**
53 * Parses portable object (PO) format.
54 *
55 * From http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files
56 * we should be able to parse files having:
57 *
58 * white-space
59 * # translator-comments
60 * #. extracted-comments
61 * #: reference...
62 * #, flag...
63 * #| msgid previous-untranslated-string
64 * msgid untranslated-string
65 * msgstr translated-string
66 *
67 * extra or different lines are:
68 *
69 * #| msgctxt previous-context
70 * #| msgid previous-untranslated-string
71 * msgctxt context
72 *
73 * #| msgid previous-untranslated-string-singular
74 * #| msgid_plural previous-untranslated-string-plural
75 * msgid untranslated-string-singular
76 * msgid_plural untranslated-string-plural
77 * msgstr[0] translated-string-case-0
78 * ...
79 * msgstr[N] translated-string-case-n
80 *
81 * The definition states:
82 * - white-space and comments are optional.
83 * - msgid "" that an empty singleline defines a header.
84 *
85 * This parser sacrifices some features of the reference implementation the
86 * differences to that implementation are as follows.
87 * - No support for comments spanning multiple lines.
88 * - Translator and extracted comments are treated as being the same type.
89 * - Message IDs are allowed to have other encodings as just US-ASCII.
90 *
91 * Items with an empty id are ignored.
92 *
93 * @param resource $resource
94 *
95 * @return array
96 */
97 private function parse($resource)
98 {
99 $stream = fopen($resource, 'r');
100
101 $defaults = array(
102 'ids' => array(),
103 'translated' => null,
104 );
105
106 $messages = array();
107 $item = $defaults;
108
109 while ($line = fgets($stream)) {
110 $line = trim($line);
111
112 if ($line === '') {
113 // Whitespace indicated current item is done
114 $this->addMessage($messages, $item);
115 $item = $defaults;
116 } elseif (substr($line, 0, 7) === 'msgid "') {
117 // We start a new msg so save previous
118 // TODO: this fails when comments or contexts are added
119 $this->addMessage($messages, $item);
120 $item = $defaults;
121 $item['ids']['singular'] = substr($line, 7, -1);
122 } elseif (substr($line, 0, 8) === 'msgstr "') {
123 $item['translated'] = substr($line, 8, -1);
124 } elseif ($line[0] === '"') {
125 $continues = isset($item['translated']) ? 'translated' : 'ids';
126
127 if (is_array($item[$continues])) {
128 end($item[$continues]);
129 $item[$continues][key($item[$continues])] .= substr($line, 1, -1);
130 } else {
131 $item[$continues] .= substr($line, 1, -1);
132 }
133 } elseif (substr($line, 0, 14) === 'msgid_plural "') {
134 $item['ids']['plural'] = substr($line, 14, -1);
135 } elseif (substr($line, 0, 7) === 'msgstr[') {
136 $size = strpos($line, ']');
137 $item['translated'][(integer) substr($line, 7, 1)] = substr($line, $size + 3, -1);
138 }
139
140 }
141 // save last item
142 $this->addMessage($messages, $item);
143 fclose($stream);
144
145 return $messages;
146 }
147
148 /**
149 * Save a translation item to the messeages.
150 *
151 * A .po file could contain by error missing plural indexes. We need to
152 * fix these before saving them.
153 *
154 * @param array $messages
155 * @param array $item
156 */
157 private function addMessage(array &$messages, array $item)
158 {
159 if (is_array($item['translated'])) {
160 $messages[$item['ids']['singular']] = stripslashes($item['translated'][0]);
161 if (isset($item['ids']['plural'])) {
162 $plurals = $item['translated'];
163 // PO are by definition indexed so sort by index.
164 ksort($plurals);
165 // Make sure every index is filled.
166 end($plurals);
167 $count = key($plurals);
168 // Fill missing spots with '-'.
169 $empties = array_fill(0, $count+1, '-');
170 $plurals += $empties;
171 ksort($plurals);
172 $messages[$item['ids']['plural']] = stripcslashes(implode('|', $plurals));
173 }
174 } elseif (!empty($item['ids']['singular'])) {
175 $messages[$item['ids']['singular']] = stripslashes($item['translated']);
176 }
177 }
178}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php
deleted file mode 100644
index d64494b8..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/QtFileLoader.php
+++ /dev/null
@@ -1,95 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\MessageCatalogue;
15use Symfony\Component\Translation\Exception\InvalidResourceException;
16use Symfony\Component\Translation\Exception\NotFoundResourceException;
17use Symfony\Component\Config\Resource\FileResource;
18
19/**
20 * QtFileLoader loads translations from QT Translations XML files.
21 *
22 * @author Benjamin Eberlei <kontakt@beberlei.de>
23 *
24 * @api
25 */
26class QtFileLoader implements LoaderInterface
27{
28 /**
29 * {@inheritdoc}
30 *
31 * @api
32 */
33 public function load($resource, $locale, $domain = 'messages')
34 {
35 if (!stream_is_local($resource)) {
36 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
37 }
38
39 if (!file_exists($resource)) {
40 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
41 }
42
43 $dom = new \DOMDocument();
44 $current = libxml_use_internal_errors(true);
45 if (!@$dom->load($resource, defined('LIBXML_COMPACT') ? LIBXML_COMPACT : 0)) {
46 throw new InvalidResourceException(implode("\n", $this->getXmlErrors()));
47 }
48
49 $xpath = new \DOMXPath($dom);
50 $nodes = $xpath->evaluate('//TS/context/name[text()="'.$domain.'"]');
51
52 $catalogue = new MessageCatalogue($locale);
53 if ($nodes->length == 1) {
54 $translations = $nodes->item(0)->nextSibling->parentNode->parentNode->getElementsByTagName('message');
55 foreach ($translations as $translation) {
56 $catalogue->set(
57 (string) $translation->getElementsByTagName('source')->item(0)->nodeValue,
58 (string) $translation->getElementsByTagName('translation')->item(0)->nodeValue,
59 $domain
60 );
61 $translation = $translation->nextSibling;
62 }
63 $catalogue->addResource(new FileResource($resource));
64 }
65
66 libxml_use_internal_errors($current);
67
68 return $catalogue;
69 }
70
71 /**
72 * Returns the XML errors of the internal XML parser
73 *
74 * @return array An array of errors
75 */
76 private function getXmlErrors()
77 {
78 $errors = array();
79 foreach (libxml_get_errors() as $error) {
80 $errors[] = sprintf('[%s %s] %s (in %s - line %d, column %d)',
81 LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR',
82 $error->code,
83 trim($error->message),
84 $error->file ? $error->file : 'n/a',
85 $error->line,
86 $error->column
87 );
88 }
89
90 libxml_clear_errors();
91 libxml_use_internal_errors(false);
92
93 return $errors;
94 }
95}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php
deleted file mode 100644
index 0cafc043..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/XliffFileLoader.php
+++ /dev/null
@@ -1,163 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\MessageCatalogue;
15use Symfony\Component\Translation\Exception\InvalidResourceException;
16use Symfony\Component\Translation\Exception\NotFoundResourceException;
17use Symfony\Component\Config\Resource\FileResource;
18
19/**
20 * XliffFileLoader loads translations from XLIFF files.
21 *
22 * @author Fabien Potencier <fabien@symfony.com>
23 *
24 * @api
25 */
26class XliffFileLoader implements LoaderInterface
27{
28 /**
29 * {@inheritdoc}
30 *
31 * @api
32 */
33 public function load($resource, $locale, $domain = 'messages')
34 {
35 if (!stream_is_local($resource)) {
36 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
37 }
38
39 if (!file_exists($resource)) {
40 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
41 }
42
43 list($xml, $encoding) = $this->parseFile($resource);
44 $xml->registerXPathNamespace('xliff', 'urn:oasis:names:tc:xliff:document:1.2');
45
46 $catalogue = new MessageCatalogue($locale);
47 foreach ($xml->xpath('//xliff:trans-unit') as $translation) {
48 $attributes = $translation->attributes();
49
50 if (!(isset($attributes['resname']) || isset($translation->source)) || !isset($translation->target)) {
51 continue;
52 }
53
54 $source = isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source;
55 $target = (string) $translation->target;
56
57 // If the xlf file has another encoding specified, try to convert it because
58 // simple_xml will always return utf-8 encoded values
59 if ('UTF-8' !== $encoding && !empty($encoding)) {
60 if (function_exists('mb_convert_encoding')) {
61 $target = mb_convert_encoding($target, $encoding, 'UTF-8');
62 } elseif (function_exists('iconv')) {
63 $target = iconv('UTF-8', $encoding, $target);
64 } else {
65 throw new \RuntimeException('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).');
66 }
67 }
68
69 $catalogue->set((string) $source, $target, $domain);
70 }
71 $catalogue->addResource(new FileResource($resource));
72
73 return $catalogue;
74 }
75
76 /**
77 * Validates and parses the given file into a SimpleXMLElement
78 *
79 * @param string $file
80 *
81 * @throws \RuntimeException
82 *
83 * @return \SimpleXMLElement
84 *
85 * @throws InvalidResourceException
86 */
87 private function parseFile($file)
88 {
89 $internalErrors = libxml_use_internal_errors(true);
90 $disableEntities = libxml_disable_entity_loader(true);
91 libxml_clear_errors();
92
93 $dom = new \DOMDocument();
94 $dom->validateOnParse = true;
95 if (!@$dom->loadXML(file_get_contents($file), LIBXML_NONET | (defined('LIBXML_COMPACT') ? LIBXML_COMPACT : 0))) {
96 libxml_disable_entity_loader($disableEntities);
97
98 throw new InvalidResourceException(implode("\n", $this->getXmlErrors($internalErrors)));
99 }
100
101 libxml_disable_entity_loader($disableEntities);
102
103 foreach ($dom->childNodes as $child) {
104 if ($child->nodeType === XML_DOCUMENT_TYPE_NODE) {
105 libxml_use_internal_errors($internalErrors);
106
107 throw new InvalidResourceException('Document types are not allowed.');
108 }
109 }
110
111 $location = str_replace('\\', '/', __DIR__).'/schema/dic/xliff-core/xml.xsd';
112 $parts = explode('/', $location);
113 if (0 === stripos($location, 'phar://')) {
114 $tmpfile = tempnam(sys_get_temp_dir(), 'sf2');
115 if ($tmpfile) {
116 copy($location, $tmpfile);
117 $parts = explode('/', str_replace('\\', '/', $tmpfile));
118 }
119 }
120 $drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
121 $location = 'file:///'.$drive.implode('/', array_map('rawurlencode', $parts));
122
123 $source = file_get_contents(__DIR__.'/schema/dic/xliff-core/xliff-core-1.2-strict.xsd');
124 $source = str_replace('http://www.w3.org/2001/xml.xsd', $location, $source);
125
126 if (!@$dom->schemaValidateSource($source)) {
127 throw new InvalidResourceException(implode("\n", $this->getXmlErrors($internalErrors)));
128 }
129
130 $dom->normalizeDocument();
131
132 libxml_use_internal_errors($internalErrors);
133
134 return array(simplexml_import_dom($dom), strtoupper($dom->encoding));
135 }
136
137 /**
138 * Returns the XML errors of the internal XML parser
139 *
140 * @param Boolean $internalErrors
141 *
142 * @return array An array of errors
143 */
144 private function getXmlErrors($internalErrors)
145 {
146 $errors = array();
147 foreach (libxml_get_errors() as $error) {
148 $errors[] = sprintf('[%s %s] %s (in %s - line %d, column %d)',
149 LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR',
150 $error->code,
151 trim($error->message),
152 $error->file ? $error->file : 'n/a',
153 $error->line,
154 $error->column
155 );
156 }
157
158 libxml_clear_errors();
159 libxml_use_internal_errors($internalErrors);
160
161 return $errors;
162 }
163}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php b/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php
deleted file mode 100644
index 66ab2ba5..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php
+++ /dev/null
@@ -1,71 +0,0 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Translation\Loader;
13
14use Symfony\Component\Translation\Exception\InvalidResourceException;
15use Symfony\Component\Translation\Exception\NotFoundResourceException;
16use Symfony\Component\Config\Resource\FileResource;
17use Symfony\Component\Yaml\Parser as YamlParser;
18use Symfony\Component\Yaml\Exception\ParseException;
19
20/**
21 * YamlFileLoader loads translations from Yaml files.
22 *
23 * @author Fabien Potencier <fabien@symfony.com>
24 *
25 * @api
26 */
27class YamlFileLoader extends ArrayLoader implements LoaderInterface
28{
29 private $yamlParser;
30
31 /**
32 * {@inheritdoc}
33 *
34 * @api
35 */
36 public function load($resource, $locale, $domain = 'messages')
37 {
38 if (!stream_is_local($resource)) {
39 throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
40 }
41
42 if (!file_exists($resource)) {
43 throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
44 }
45
46 if (null === $this->yamlParser) {
47 $this->yamlParser = new YamlParser();
48 }
49
50 try {
51 $messages = $this->yamlParser->parse(file_get_contents($resource));
52 } catch (ParseException $e) {
53 throw new InvalidResourceException('Error parsing YAML.', 0, $e);
54 }
55
56 // empty file
57 if (null === $messages) {
58 $messages = array();
59 }
60
61 // not an array
62 if (!is_array($messages)) {
63 throw new InvalidResourceException(sprintf('The file "%s" must contain a YAML array.', $resource));
64 }
65
66 $catalogue = parent::load($messages, $locale, $domain);
67 $catalogue->addResource(new FileResource($resource));
68
69 return $catalogue;
70 }
71}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd b/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd
deleted file mode 100644
index 3ce2a8e8..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd
+++ /dev/null
@@ -1,2223 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!--
4
5May-19-2004:
6- Changed the <choice> for ElemType_header, moving minOccurs="0" maxOccurs="unbounded" from its elements
7to <choice> itself.
8- Added <choice> for ElemType_trans-unit to allow "any order" for <context-group>, <count-group>, <prop-group>, <note>, and
9<alt-trans>.
10
11Oct-2005
12- updated version info to 1.2
13- equiv-trans attribute to <trans-unit> element
14- merged-trans attribute for <group> element
15- Add the <seg-source> element as optional in the <trans-unit> and <alt-trans> content models, at the same level as <source>
16- Create a new value "seg" for the mtype attribute of the <mrk> element
17- Add mid as an optional attribute for the <alt-trans> element
18
19Nov-14-2005
20- Changed name attribute for <context-group> from required to optional
21- Added extension point at <xliff>
22
23Jan-9-2006
24- Added alttranstype type attribute to <alt-trans>, and values
25
26Jan-10-2006
27- Corrected error with overwritten purposeValueList
28- Corrected name="AttrType_Version", attribute should have been "name"
29
30-->
31<xsd:schema xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:xliff:document:1.2" xml:lang="en">
32 <!-- Import for xml:lang and xml:space -->
33 <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
34 <!-- Attributes Lists -->
35 <xsd:simpleType name="XTend">
36 <xsd:restriction base="xsd:string">
37 <xsd:pattern value="x-[^\s]+"/>
38 </xsd:restriction>
39 </xsd:simpleType>
40 <xsd:simpleType name="context-typeValueList">
41 <xsd:annotation>
42 <xsd:documentation>Values for the attribute 'context-type'.</xsd:documentation>
43 </xsd:annotation>
44 <xsd:restriction base="xsd:string">
45 <xsd:enumeration value="database">
46 <xsd:annotation>
47 <xsd:documentation>Indicates a database content.</xsd:documentation>
48 </xsd:annotation>
49 </xsd:enumeration>
50 <xsd:enumeration value="element">
51 <xsd:annotation>
52 <xsd:documentation>Indicates the content of an element within an XML document.</xsd:documentation>
53 </xsd:annotation>
54 </xsd:enumeration>
55 <xsd:enumeration value="elementtitle">
56 <xsd:annotation>
57 <xsd:documentation>Indicates the name of an element within an XML document.</xsd:documentation>
58 </xsd:annotation>
59 </xsd:enumeration>
60 <xsd:enumeration value="linenumber">
61 <xsd:annotation>
62 <xsd:documentation>Indicates the line number from the sourcefile (see context-type="sourcefile") where the &lt;source&gt; is found.</xsd:documentation>
63 </xsd:annotation>
64 </xsd:enumeration>
65 <xsd:enumeration value="numparams">
66 <xsd:annotation>
67 <xsd:documentation>Indicates a the number of parameters contained within the &lt;source&gt;.</xsd:documentation>
68 </xsd:annotation>
69 </xsd:enumeration>
70 <xsd:enumeration value="paramnotes">
71 <xsd:annotation>
72 <xsd:documentation>Indicates notes pertaining to the parameters in the &lt;source&gt;.</xsd:documentation>
73 </xsd:annotation>
74 </xsd:enumeration>
75 <xsd:enumeration value="record">
76 <xsd:annotation>
77 <xsd:documentation>Indicates the content of a record within a database.</xsd:documentation>
78 </xsd:annotation>
79 </xsd:enumeration>
80 <xsd:enumeration value="recordtitle">
81 <xsd:annotation>
82 <xsd:documentation>Indicates the name of a record within a database.</xsd:documentation>
83 </xsd:annotation>
84 </xsd:enumeration>
85 <xsd:enumeration value="sourcefile">
86 <xsd:annotation>
87 <xsd:documentation>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 &lt;file&gt; attribute in that this sourcefile is one of many that make up that file.</xsd:documentation>
88 </xsd:annotation>
89 </xsd:enumeration>
90 </xsd:restriction>
91 </xsd:simpleType>
92 <xsd:simpleType name="count-typeValueList">
93 <xsd:annotation>
94 <xsd:documentation>Values for the attribute 'count-type'.</xsd:documentation>
95 </xsd:annotation>
96 <xsd:restriction base="xsd:NMTOKEN">
97 <xsd:enumeration value="num-usages">
98 <xsd:annotation>
99 <xsd:documentation>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.</xsd:documentation>
100 </xsd:annotation>
101 </xsd:enumeration>
102 <xsd:enumeration value="repetition">
103 <xsd:annotation>
104 <xsd:documentation>Indicates the count units are translation units existing already in the same document.</xsd:documentation>
105 </xsd:annotation>
106 </xsd:enumeration>
107 <xsd:enumeration value="total">
108 <xsd:annotation>
109 <xsd:documentation>Indicates a total count.</xsd:documentation>
110 </xsd:annotation>
111 </xsd:enumeration>
112 </xsd:restriction>
113 </xsd:simpleType>
114 <xsd:simpleType name="InlineDelimitersValueList">
115 <xsd:annotation>
116 <xsd:documentation>Values for the attribute 'ctype' when used other elements than &lt;ph&gt; or &lt;x&gt;.</xsd:documentation>
117 </xsd:annotation>
118 <xsd:restriction base="xsd:NMTOKEN">
119 <xsd:enumeration value="bold">
120 <xsd:annotation>
121 <xsd:documentation>Indicates a run of bolded text.</xsd:documentation>
122 </xsd:annotation>
123 </xsd:enumeration>
124 <xsd:enumeration value="italic">
125 <xsd:annotation>
126 <xsd:documentation>Indicates a run of text in italics.</xsd:documentation>
127 </xsd:annotation>
128 </xsd:enumeration>
129 <xsd:enumeration value="underlined">
130 <xsd:annotation>
131 <xsd:documentation>Indicates a run of underlined text.</xsd:documentation>
132 </xsd:annotation>
133 </xsd:enumeration>
134 <xsd:enumeration value="link">
135 <xsd:annotation>
136 <xsd:documentation>Indicates a run of hyper-text.</xsd:documentation>
137 </xsd:annotation>
138 </xsd:enumeration>
139 </xsd:restriction>
140 </xsd:simpleType>
141 <xsd:simpleType name="InlinePlaceholdersValueList">
142 <xsd:annotation>
143 <xsd:documentation>Values for the attribute 'ctype' when used with &lt;ph&gt; or &lt;x&gt;.</xsd:documentation>
144 </xsd:annotation>
145 <xsd:restriction base="xsd:NMTOKEN">
146 <xsd:enumeration value="image">
147 <xsd:annotation>
148 <xsd:documentation>Indicates a inline image.</xsd:documentation>
149 </xsd:annotation>
150 </xsd:enumeration>
151 <xsd:enumeration value="pb">
152 <xsd:annotation>
153 <xsd:documentation>Indicates a page break.</xsd:documentation>
154 </xsd:annotation>
155 </xsd:enumeration>
156 <xsd:enumeration value="lb">
157 <xsd:annotation>
158 <xsd:documentation>Indicates a line break.</xsd:documentation>
159 </xsd:annotation>
160 </xsd:enumeration>
161 </xsd:restriction>
162 </xsd:simpleType>
163 <xsd:simpleType name="mime-typeValueList">
164 <xsd:restriction base="xsd:string">
165 <xsd:pattern value="(text|multipart|message|application|image|audio|video|model)(/.+)*"/>
166 </xsd:restriction>
167 </xsd:simpleType>
168 <xsd:simpleType name="datatypeValueList">
169 <xsd:annotation>
170 <xsd:documentation>Values for the attribute 'datatype'.</xsd:documentation>
171 </xsd:annotation>
172 <xsd:restriction base="xsd:NMTOKEN">
173 <xsd:enumeration value="asp">
174 <xsd:annotation>
175 <xsd:documentation>Indicates Active Server Page data.</xsd:documentation>
176 </xsd:annotation>
177 </xsd:enumeration>
178 <xsd:enumeration value="c">
179 <xsd:annotation>
180 <xsd:documentation>Indicates C source file data.</xsd:documentation>
181 </xsd:annotation>
182 </xsd:enumeration>
183 <xsd:enumeration value="cdf">
184 <xsd:annotation>
185 <xsd:documentation>Indicates Channel Definition Format (CDF) data.</xsd:documentation>
186 </xsd:annotation>
187 </xsd:enumeration>
188 <xsd:enumeration value="cfm">
189 <xsd:annotation>
190 <xsd:documentation>Indicates ColdFusion data.</xsd:documentation>
191 </xsd:annotation>
192 </xsd:enumeration>
193 <xsd:enumeration value="cpp">
194 <xsd:annotation>
195 <xsd:documentation>Indicates C++ source file data.</xsd:documentation>
196 </xsd:annotation>
197 </xsd:enumeration>
198 <xsd:enumeration value="csharp">
199 <xsd:annotation>
200 <xsd:documentation>Indicates C-Sharp data.</xsd:documentation>
201 </xsd:annotation>
202 </xsd:enumeration>
203 <xsd:enumeration value="cstring">
204 <xsd:annotation>
205 <xsd:documentation>Indicates strings from C, ASM, and driver files data.</xsd:documentation>
206 </xsd:annotation>
207 </xsd:enumeration>
208 <xsd:enumeration value="csv">
209 <xsd:annotation>
210 <xsd:documentation>Indicates comma-separated values data.</xsd:documentation>
211 </xsd:annotation>
212 </xsd:enumeration>
213 <xsd:enumeration value="database">
214 <xsd:annotation>
215 <xsd:documentation>Indicates database data.</xsd:documentation>
216 </xsd:annotation>
217 </xsd:enumeration>
218 <xsd:enumeration value="documentfooter">
219 <xsd:annotation>
220 <xsd:documentation>Indicates portions of document that follows data and contains metadata.</xsd:documentation>
221 </xsd:annotation>
222 </xsd:enumeration>
223 <xsd:enumeration value="documentheader">
224 <xsd:annotation>
225 <xsd:documentation>Indicates portions of document that precedes data and contains metadata.</xsd:documentation>
226 </xsd:annotation>
227 </xsd:enumeration>
228 <xsd:enumeration value="filedialog">
229 <xsd:annotation>
230 <xsd:documentation>Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import).</xsd:documentation>
231 </xsd:annotation>
232 </xsd:enumeration>
233 <xsd:enumeration value="form">
234 <xsd:annotation>
235 <xsd:documentation>Indicates standard user input screen data.</xsd:documentation>
236 </xsd:annotation>
237 </xsd:enumeration>
238 <xsd:enumeration value="html">
239 <xsd:annotation>
240 <xsd:documentation>Indicates HyperText Markup Language (HTML) data - document instance.</xsd:documentation>
241 </xsd:annotation>
242 </xsd:enumeration>
243 <xsd:enumeration value="htmlbody">
244 <xsd:annotation>
245 <xsd:documentation>Indicates content within an HTML document’s &lt;body&gt; element.</xsd:documentation>
246 </xsd:annotation>
247 </xsd:enumeration>
248 <xsd:enumeration value="ini">
249 <xsd:annotation>
250 <xsd:documentation>Indicates Windows INI file data.</xsd:documentation>
251 </xsd:annotation>
252 </xsd:enumeration>
253 <xsd:enumeration value="interleaf">
254 <xsd:annotation>
255 <xsd:documentation>Indicates Interleaf data.</xsd:documentation>
256 </xsd:annotation>
257 </xsd:enumeration>
258 <xsd:enumeration value="javaclass">
259 <xsd:annotation>
260 <xsd:documentation>Indicates Java source file data (extension '.java').</xsd:documentation>
261 </xsd:annotation>
262 </xsd:enumeration>
263 <xsd:enumeration value="javapropertyresourcebundle">
264 <xsd:annotation>
265 <xsd:documentation>Indicates Java property resource bundle data.</xsd:documentation>
266 </xsd:annotation>
267 </xsd:enumeration>
268 <xsd:enumeration value="javalistresourcebundle">
269 <xsd:annotation>
270 <xsd:documentation>Indicates Java list resource bundle data.</xsd:documentation>
271 </xsd:annotation>
272 </xsd:enumeration>
273 <xsd:enumeration value="javascript">
274 <xsd:annotation>
275 <xsd:documentation>Indicates JavaScript source file data.</xsd:documentation>
276 </xsd:annotation>
277 </xsd:enumeration>
278 <xsd:enumeration value="jscript">
279 <xsd:annotation>
280 <xsd:documentation>Indicates JScript source file data.</xsd:documentation>
281 </xsd:annotation>
282 </xsd:enumeration>
283 <xsd:enumeration value="layout">
284 <xsd:annotation>
285 <xsd:documentation>Indicates information relating to formatting.</xsd:documentation>
286 </xsd:annotation>
287 </xsd:enumeration>
288 <xsd:enumeration value="lisp">
289 <xsd:annotation>
290 <xsd:documentation>Indicates LISP source file data.</xsd:documentation>
291 </xsd:annotation>
292 </xsd:enumeration>
293 <xsd:enumeration value="margin">
294 <xsd:annotation>
295 <xsd:documentation>Indicates information relating to margin formats.</xsd:documentation>
296 </xsd:annotation>
297 </xsd:enumeration>
298 <xsd:enumeration value="menufile">
299 <xsd:annotation>
300 <xsd:documentation>Indicates a file containing menu.</xsd:documentation>
301 </xsd:annotation>
302 </xsd:enumeration>
303 <xsd:enumeration value="messagefile">
304 <xsd:annotation>
305 <xsd:documentation>Indicates numerically identified string table.</xsd:documentation>
306 </xsd:annotation>
307 </xsd:enumeration>
308 <xsd:enumeration value="mif">
309 <xsd:annotation>
310 <xsd:documentation>Indicates Maker Interchange Format (MIF) data.</xsd:documentation>
311 </xsd:annotation>
312 </xsd:enumeration>
313 <xsd:enumeration value="mimetype">
314 <xsd:annotation>
315 <xsd:documentation>Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute.</xsd:documentation>
316 </xsd:annotation>
317 </xsd:enumeration>
318 <xsd:enumeration value="mo">
319 <xsd:annotation>
320 <xsd:documentation>Indicates GNU Machine Object data.</xsd:documentation>
321 </xsd:annotation>
322 </xsd:enumeration>
323 <xsd:enumeration value="msglib">
324 <xsd:annotation>
325 <xsd:documentation>Indicates Message Librarian strings created by Novell's Message Librarian Tool.</xsd:documentation>
326 </xsd:annotation>
327 </xsd:enumeration>
328 <xsd:enumeration value="pagefooter">
329 <xsd:annotation>
330 <xsd:documentation>Indicates information to be displayed at the bottom of each page of a document.</xsd:documentation>
331 </xsd:annotation>
332 </xsd:enumeration>
333 <xsd:enumeration value="pageheader">
334 <xsd:annotation>
335 <xsd:documentation>Indicates information to be displayed at the top of each page of a document.</xsd:documentation>
336 </xsd:annotation>
337 </xsd:enumeration>
338 <xsd:enumeration value="parameters">
339 <xsd:annotation>
340 <xsd:documentation>Indicates a list of property values (e.g., settings within INI files or preferences dialog).</xsd:documentation>
341 </xsd:annotation>
342 </xsd:enumeration>
343 <xsd:enumeration value="pascal">
344 <xsd:annotation>
345 <xsd:documentation>Indicates Pascal source file data.</xsd:documentation>
346 </xsd:annotation>
347 </xsd:enumeration>
348 <xsd:enumeration value="php">
349 <xsd:annotation>
350 <xsd:documentation>Indicates Hypertext Preprocessor data.</xsd:documentation>
351 </xsd:annotation>
352 </xsd:enumeration>
353 <xsd:enumeration value="plaintext">
354 <xsd:annotation>
355 <xsd:documentation>Indicates plain text file (no formatting other than, possibly, wrapping).</xsd:documentation>
356 </xsd:annotation>
357 </xsd:enumeration>
358 <xsd:enumeration value="po">
359 <xsd:annotation>
360 <xsd:documentation>Indicates GNU Portable Object file.</xsd:documentation>
361 </xsd:annotation>
362 </xsd:enumeration>
363 <xsd:enumeration value="report">
364 <xsd:annotation>
365 <xsd:documentation>Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc.</xsd:documentation>
366 </xsd:annotation>
367 </xsd:enumeration>
368 <xsd:enumeration value="resources">
369 <xsd:annotation>
370 <xsd:documentation>Indicates Windows .NET binary resources.</xsd:documentation>
371 </xsd:annotation>
372 </xsd:enumeration>
373 <xsd:enumeration value="resx">
374 <xsd:annotation>
375 <xsd:documentation>Indicates Windows .NET Resources.</xsd:documentation>
376 </xsd:annotation>
377 </xsd:enumeration>
378 <xsd:enumeration value="rtf">
379 <xsd:annotation>
380 <xsd:documentation>Indicates Rich Text Format (RTF) data.</xsd:documentation>
381 </xsd:annotation>
382 </xsd:enumeration>
383 <xsd:enumeration value="sgml">
384 <xsd:annotation>
385 <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - document instance.</xsd:documentation>
386 </xsd:annotation>
387 </xsd:enumeration>
388 <xsd:enumeration value="sgmldtd">
389 <xsd:annotation>
390 <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD).</xsd:documentation>
391 </xsd:annotation>
392 </xsd:enumeration>
393 <xsd:enumeration value="svg">
394 <xsd:annotation>
395 <xsd:documentation>Indicates Scalable Vector Graphic (SVG) data.</xsd:documentation>
396 </xsd:annotation>
397 </xsd:enumeration>
398 <xsd:enumeration value="vbscript">
399 <xsd:annotation>
400 <xsd:documentation>Indicates VisualBasic Script source file.</xsd:documentation>
401 </xsd:annotation>
402 </xsd:enumeration>
403 <xsd:enumeration value="warning">
404 <xsd:annotation>
405 <xsd:documentation>Indicates warning message.</xsd:documentation>
406 </xsd:annotation>
407 </xsd:enumeration>
408 <xsd:enumeration value="winres">
409 <xsd:annotation>
410 <xsd:documentation>Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file).</xsd:documentation>
411 </xsd:annotation>
412 </xsd:enumeration>
413 <xsd:enumeration value="xhtml">
414 <xsd:annotation>
415 <xsd:documentation>Indicates Extensible HyperText Markup Language (XHTML) data - document instance.</xsd:documentation>
416 </xsd:annotation>
417 </xsd:enumeration>
418 <xsd:enumeration value="xml">
419 <xsd:annotation>
420 <xsd:documentation>Indicates Extensible Markup Language (XML) data - document instance.</xsd:documentation>
421 </xsd:annotation>
422 </xsd:enumeration>
423 <xsd:enumeration value="xmldtd">
424 <xsd:annotation>
425 <xsd:documentation>Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD).</xsd:documentation>
426 </xsd:annotation>
427 </xsd:enumeration>
428 <xsd:enumeration value="xsl">
429 <xsd:annotation>
430 <xsd:documentation>Indicates Extensible Stylesheet Language (XSL) data.</xsd:documentation>
431 </xsd:annotation>
432 </xsd:enumeration>
433 <xsd:enumeration value="xul">
434 <xsd:annotation>
435 <xsd:documentation>Indicates XUL elements.</xsd:documentation>
436 </xsd:annotation>
437 </xsd:enumeration>
438 </xsd:restriction>
439 </xsd:simpleType>
440 <xsd:simpleType name="mtypeValueList">
441 <xsd:annotation>
442 <xsd:documentation>Values for the attribute 'mtype'.</xsd:documentation>
443 </xsd:annotation>
444 <xsd:restriction base="xsd:NMTOKEN">
445 <xsd:enumeration value="abbrev">
446 <xsd:annotation>
447 <xsd:documentation>Indicates the marked text is an abbreviation.</xsd:documentation>
448 </xsd:annotation>
449 </xsd:enumeration>
450 <xsd:enumeration value="abbreviated-form">
451 <xsd:annotation>
452 <xsd:documentation>ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept.</xsd:documentation>
453 </xsd:annotation>
454 </xsd:enumeration>
455 <xsd:enumeration value="abbreviation">
456 <xsd:annotation>
457 <xsd:documentation>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').</xsd:documentation>
458 </xsd:annotation>
459 </xsd:enumeration>
460 <xsd:enumeration value="acronym">
461 <xsd:annotation>
462 <xsd:documentation>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').</xsd:documentation>
463 </xsd:annotation>
464 </xsd:enumeration>
465 <xsd:enumeration value="appellation">
466 <xsd:annotation>
467 <xsd:documentation>ISO-12620: A proper-name term, such as the name of an agency or other proper entity.</xsd:documentation>
468 </xsd:annotation>
469 </xsd:enumeration>
470 <xsd:enumeration value="collocation">
471 <xsd:annotation>
472 <xsd:documentation>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.</xsd:documentation>
473 </xsd:annotation>
474 </xsd:enumeration>
475 <xsd:enumeration value="common-name">
476 <xsd:annotation>
477 <xsd:documentation>ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language.</xsd:documentation>
478 </xsd:annotation>
479 </xsd:enumeration>
480 <xsd:enumeration value="datetime">
481 <xsd:annotation>
482 <xsd:documentation>Indicates the marked text is a date and/or time.</xsd:documentation>
483 </xsd:annotation>
484 </xsd:enumeration>
485 <xsd:enumeration value="equation">
486 <xsd:annotation>
487 <xsd:documentation>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.</xsd:documentation>
488 </xsd:annotation>
489 </xsd:enumeration>
490 <xsd:enumeration value="expanded-form">
491 <xsd:annotation>
492 <xsd:documentation>ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form.</xsd:documentation>
493 </xsd:annotation>
494 </xsd:enumeration>
495 <xsd:enumeration value="formula">
496 <xsd:annotation>
497 <xsd:documentation>ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula.</xsd:documentation>
498 </xsd:annotation>
499 </xsd:enumeration>
500 <xsd:enumeration value="head-term">
501 <xsd:annotation>
502 <xsd:documentation>ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record.</xsd:documentation>
503 </xsd:annotation>
504 </xsd:enumeration>
505 <xsd:enumeration value="initialism">
506 <xsd:annotation>
507 <xsd:documentation>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').</xsd:documentation>
508 </xsd:annotation>
509 </xsd:enumeration>
510 <xsd:enumeration value="international-scientific-term">
511 <xsd:annotation>
512 <xsd:documentation>ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body.</xsd:documentation>
513 </xsd:annotation>
514 </xsd:enumeration>
515 <xsd:enumeration value="internationalism">
516 <xsd:annotation>
517 <xsd:documentation>ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages.</xsd:documentation>
518 </xsd:annotation>
519 </xsd:enumeration>
520 <xsd:enumeration value="logical-expression">
521 <xsd:annotation>
522 <xsd:documentation>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.</xsd:documentation>
523 </xsd:annotation>
524 </xsd:enumeration>
525 <xsd:enumeration value="materials-management-unit">
526 <xsd:annotation>
527 <xsd:documentation>ISO-12620 2.1.17: A unit to track object.</xsd:documentation>
528 </xsd:annotation>
529 </xsd:enumeration>
530 <xsd:enumeration value="name">
531 <xsd:annotation>
532 <xsd:documentation>Indicates the marked text is a name.</xsd:documentation>
533 </xsd:annotation>
534 </xsd:enumeration>
535 <xsd:enumeration value="near-synonym">
536 <xsd:annotation>
537 <xsd:documentation>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.</xsd:documentation>
538 </xsd:annotation>
539 </xsd:enumeration>
540 <xsd:enumeration value="part-number">
541 <xsd:annotation>
542 <xsd:documentation>ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system.</xsd:documentation>
543 </xsd:annotation>
544 </xsd:enumeration>
545 <xsd:enumeration value="phrase">
546 <xsd:annotation>
547 <xsd:documentation>Indicates the marked text is a phrase.</xsd:documentation>
548 </xsd:annotation>
549 </xsd:enumeration>
550 <xsd:enumeration value="phraseological-unit">
551 <xsd:annotation>
552 <xsd:documentation>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.</xsd:documentation>
553 </xsd:annotation>
554 </xsd:enumeration>
555 <xsd:enumeration value="protected">
556 <xsd:annotation>
557 <xsd:documentation>Indicates the marked text should not be translated.</xsd:documentation>
558 </xsd:annotation>
559 </xsd:enumeration>
560 <xsd:enumeration value="romanized-form">
561 <xsd:annotation>
562 <xsd:documentation>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.</xsd:documentation>
563 </xsd:annotation>
564 </xsd:enumeration>
565 <xsd:enumeration value="seg">
566 <xsd:annotation>
567 <xsd:documentation>Indicates that the marked text represents a segment.</xsd:documentation>
568 </xsd:annotation>
569 </xsd:enumeration>
570 <xsd:enumeration value="set-phrase">
571 <xsd:annotation>
572 <xsd:documentation>ISO-12620 2.1.18.2: A fixed, lexicalized phrase.</xsd:documentation>
573 </xsd:annotation>
574 </xsd:enumeration>
575 <xsd:enumeration value="short-form">
576 <xsd:annotation>
577 <xsd:documentation>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').</xsd:documentation>
578 </xsd:annotation>
579 </xsd:enumeration>
580 <xsd:enumeration value="sku">
581 <xsd:annotation>
582 <xsd:documentation>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.</xsd:documentation>
583 </xsd:annotation>
584 </xsd:enumeration>
585 <xsd:enumeration value="standard-text">
586 <xsd:annotation>
587 <xsd:documentation>ISO-12620 2.1.19: A fixed chunk of recurring text.</xsd:documentation>
588 </xsd:annotation>
589 </xsd:enumeration>
590 <xsd:enumeration value="symbol">
591 <xsd:annotation>
592 <xsd:documentation>ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof.</xsd:documentation>
593 </xsd:annotation>
594 </xsd:enumeration>
595 <xsd:enumeration value="synonym">
596 <xsd:annotation>
597 <xsd:documentation>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.</xsd:documentation>
598 </xsd:annotation>
599 </xsd:enumeration>
600 <xsd:enumeration value="synonymous-phrase">
601 <xsd:annotation>
602 <xsd:documentation>ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language.</xsd:documentation>
603 </xsd:annotation>
604 </xsd:enumeration>
605 <xsd:enumeration value="term">
606 <xsd:annotation>
607 <xsd:documentation>Indicates the marked text is a term.</xsd:documentation>
608 </xsd:annotation>
609 </xsd:enumeration>
610 <xsd:enumeration value="transcribed-form">
611 <xsd:annotation>
612 <xsd:documentation>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.</xsd:documentation>
613 </xsd:annotation>
614 </xsd:enumeration>
615 <xsd:enumeration value="transliterated-form">
616 <xsd:annotation>
617 <xsd:documentation>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.</xsd:documentation>
618 </xsd:annotation>
619 </xsd:enumeration>
620 <xsd:enumeration value="truncated-term">
621 <xsd:annotation>
622 <xsd:documentation>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').</xsd:documentation>
623 </xsd:annotation>
624 </xsd:enumeration>
625 <xsd:enumeration value="variant">
626 <xsd:annotation>
627 <xsd:documentation>ISO-12620 2.1.9: One of the alternate forms of a term.</xsd:documentation>
628 </xsd:annotation>
629 </xsd:enumeration>
630 </xsd:restriction>
631 </xsd:simpleType>
632 <xsd:simpleType name="restypeValueList">
633 <xsd:annotation>
634 <xsd:documentation>Values for the attribute 'restype'.</xsd:documentation>
635 </xsd:annotation>
636 <xsd:restriction base="xsd:NMTOKEN">
637 <xsd:enumeration value="auto3state">
638 <xsd:annotation>
639 <xsd:documentation>Indicates a Windows RC AUTO3STATE control.</xsd:documentation>
640 </xsd:annotation>
641 </xsd:enumeration>
642 <xsd:enumeration value="autocheckbox">
643 <xsd:annotation>
644 <xsd:documentation>Indicates a Windows RC AUTOCHECKBOX control.</xsd:documentation>
645 </xsd:annotation>
646 </xsd:enumeration>
647 <xsd:enumeration value="autoradiobutton">
648 <xsd:annotation>
649 <xsd:documentation>Indicates a Windows RC AUTORADIOBUTTON control.</xsd:documentation>
650 </xsd:annotation>
651 </xsd:enumeration>
652 <xsd:enumeration value="bedit">
653 <xsd:annotation>
654 <xsd:documentation>Indicates a Windows RC BEDIT control.</xsd:documentation>
655 </xsd:annotation>
656 </xsd:enumeration>
657 <xsd:enumeration value="bitmap">
658 <xsd:annotation>
659 <xsd:documentation>Indicates a bitmap, for example a BITMAP resource in Windows.</xsd:documentation>
660 </xsd:annotation>
661 </xsd:enumeration>
662 <xsd:enumeration value="button">
663 <xsd:annotation>
664 <xsd:documentation>Indicates a button object, for example a BUTTON control Windows.</xsd:documentation>
665 </xsd:annotation>
666 </xsd:enumeration>
667 <xsd:enumeration value="caption">
668 <xsd:annotation>
669 <xsd:documentation>Indicates a caption, such as the caption of a dialog box.</xsd:documentation>
670 </xsd:annotation>
671 </xsd:enumeration>
672 <xsd:enumeration value="cell">
673 <xsd:annotation>
674 <xsd:documentation>Indicates the cell in a table, for example the content of the &lt;td&gt; element in HTML.</xsd:documentation>
675 </xsd:annotation>
676 </xsd:enumeration>
677 <xsd:enumeration value="checkbox">
678 <xsd:annotation>
679 <xsd:documentation>Indicates check box object, for example a CHECKBOX control in Windows.</xsd:documentation>
680 </xsd:annotation>
681 </xsd:enumeration>
682 <xsd:enumeration value="checkboxmenuitem">
683 <xsd:annotation>
684 <xsd:documentation>Indicates a menu item with an associated checkbox.</xsd:documentation>
685 </xsd:annotation>
686 </xsd:enumeration>
687 <xsd:enumeration value="checkedlistbox">
688 <xsd:annotation>
689 <xsd:documentation>Indicates a list box, but with a check-box for each item.</xsd:documentation>
690 </xsd:annotation>
691 </xsd:enumeration>
692 <xsd:enumeration value="colorchooser">
693 <xsd:annotation>
694 <xsd:documentation>Indicates a color selection dialog.</xsd:documentation>
695 </xsd:annotation>
696 </xsd:enumeration>
697 <xsd:enumeration value="combobox">
698 <xsd:annotation>
699 <xsd:documentation>Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows.</xsd:documentation>
700 </xsd:annotation>
701 </xsd:enumeration>
702 <xsd:enumeration value="comboboxexitem">
703 <xsd:annotation>
704 <xsd:documentation>Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234).</xsd:documentation>
705 </xsd:annotation>
706 </xsd:enumeration>
707 <xsd:enumeration value="comboboxitem">
708 <xsd:annotation>
709 <xsd:documentation>Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403).</xsd:documentation>
710 </xsd:annotation>
711 </xsd:enumeration>
712 <xsd:enumeration value="component">
713 <xsd:annotation>
714 <xsd:documentation>Indicates a UI base class element that cannot be represented by any other element.</xsd:documentation>
715 </xsd:annotation>
716 </xsd:enumeration>
717 <xsd:enumeration value="contextmenu">
718 <xsd:annotation>
719 <xsd:documentation>Indicates a context menu.</xsd:documentation>
720 </xsd:annotation>
721 </xsd:enumeration>
722 <xsd:enumeration value="ctext">
723 <xsd:annotation>
724 <xsd:documentation>Indicates a Windows RC CTEXT control.</xsd:documentation>
725 </xsd:annotation>
726 </xsd:enumeration>
727 <xsd:enumeration value="cursor">
728 <xsd:annotation>
729 <xsd:documentation>Indicates a cursor, for example a CURSOR resource in Windows.</xsd:documentation>
730 </xsd:annotation>
731 </xsd:enumeration>
732 <xsd:enumeration value="datetimepicker">
733 <xsd:annotation>
734 <xsd:documentation>Indicates a date/time picker.</xsd:documentation>
735 </xsd:annotation>
736 </xsd:enumeration>
737 <xsd:enumeration value="defpushbutton">
738 <xsd:annotation>
739 <xsd:documentation>Indicates a Windows RC DEFPUSHBUTTON control.</xsd:documentation>
740 </xsd:annotation>
741 </xsd:enumeration>
742 <xsd:enumeration value="dialog">
743 <xsd:annotation>
744 <xsd:documentation>Indicates a dialog box.</xsd:documentation>
745 </xsd:annotation>
746 </xsd:enumeration>
747 <xsd:enumeration value="dlginit">
748 <xsd:annotation>
749 <xsd:documentation>Indicates a Windows RC DLGINIT resource block.</xsd:documentation>
750 </xsd:annotation>
751 </xsd:enumeration>
752 <xsd:enumeration value="edit">
753 <xsd:annotation>
754 <xsd:documentation>Indicates an edit box object, for example an EDIT control in Windows.</xsd:documentation>
755 </xsd:annotation>
756 </xsd:enumeration>
757 <xsd:enumeration value="file">
758 <xsd:annotation>
759 <xsd:documentation>Indicates a filename.</xsd:documentation>
760 </xsd:annotation>
761 </xsd:enumeration>
762 <xsd:enumeration value="filechooser">
763 <xsd:annotation>
764 <xsd:documentation>Indicates a file dialog.</xsd:documentation>
765 </xsd:annotation>
766 </xsd:enumeration>
767 <xsd:enumeration value="fn">
768 <xsd:annotation>
769 <xsd:documentation>Indicates a footnote.</xsd:documentation>
770 </xsd:annotation>
771 </xsd:enumeration>
772 <xsd:enumeration value="font">
773 <xsd:annotation>
774 <xsd:documentation>Indicates a font name.</xsd:documentation>
775 </xsd:annotation>
776 </xsd:enumeration>
777 <xsd:enumeration value="footer">
778 <xsd:annotation>
779 <xsd:documentation>Indicates a footer.</xsd:documentation>
780 </xsd:annotation>
781 </xsd:enumeration>
782 <xsd:enumeration value="frame">
783 <xsd:annotation>
784 <xsd:documentation>Indicates a frame object.</xsd:documentation>
785 </xsd:annotation>
786 </xsd:enumeration>
787 <xsd:enumeration value="grid">
788 <xsd:annotation>
789 <xsd:documentation>Indicates a XUL grid element.</xsd:documentation>
790 </xsd:annotation>
791 </xsd:enumeration>
792 <xsd:enumeration value="groupbox">
793 <xsd:annotation>
794 <xsd:documentation>Indicates a groupbox object, for example a GROUPBOX control in Windows.</xsd:documentation>
795 </xsd:annotation>
796 </xsd:enumeration>
797 <xsd:enumeration value="header">
798 <xsd:annotation>
799 <xsd:documentation>Indicates a header item.</xsd:documentation>
800 </xsd:annotation>
801 </xsd:enumeration>
802 <xsd:enumeration value="heading">
803 <xsd:annotation>
804 <xsd:documentation>Indicates a heading, such has the content of &lt;h1&gt;, &lt;h2&gt;, etc. in HTML.</xsd:documentation>
805 </xsd:annotation>
806 </xsd:enumeration>
807 <xsd:enumeration value="hedit">
808 <xsd:annotation>
809 <xsd:documentation>Indicates a Windows RC HEDIT control.</xsd:documentation>
810 </xsd:annotation>
811 </xsd:enumeration>
812 <xsd:enumeration value="hscrollbar">
813 <xsd:annotation>
814 <xsd:documentation>Indicates a horizontal scrollbar.</xsd:documentation>
815 </xsd:annotation>
816 </xsd:enumeration>
817 <xsd:enumeration value="icon">
818 <xsd:annotation>
819 <xsd:documentation>Indicates an icon, for example an ICON resource in Windows.</xsd:documentation>
820 </xsd:annotation>
821 </xsd:enumeration>
822 <xsd:enumeration value="iedit">
823 <xsd:annotation>
824 <xsd:documentation>Indicates a Windows RC IEDIT control.</xsd:documentation>
825 </xsd:annotation>
826 </xsd:enumeration>
827 <xsd:enumeration value="keywords">
828 <xsd:annotation>
829 <xsd:documentation>Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF.</xsd:documentation>
830 </xsd:annotation>
831 </xsd:enumeration>
832 <xsd:enumeration value="label">
833 <xsd:annotation>
834 <xsd:documentation>Indicates a label object.</xsd:documentation>
835 </xsd:annotation>
836 </xsd:enumeration>
837 <xsd:enumeration value="linklabel">
838 <xsd:annotation>
839 <xsd:documentation>Indicates a label that is also a HTML link (not necessarily a URL).</xsd:documentation>
840 </xsd:annotation>
841 </xsd:enumeration>
842 <xsd:enumeration value="list">
843 <xsd:annotation>
844 <xsd:documentation>Indicates a list (a group of list-items, for example an &lt;ol&gt; or &lt;ul&gt; element in HTML).</xsd:documentation>
845 </xsd:annotation>
846 </xsd:enumeration>
847 <xsd:enumeration value="listbox">
848 <xsd:annotation>
849 <xsd:documentation>Indicates a listbox object, for example an LISTBOX control in Windows.</xsd:documentation>
850 </xsd:annotation>
851 </xsd:enumeration>
852 <xsd:enumeration value="listitem">
853 <xsd:annotation>
854 <xsd:documentation>Indicates an list item (an entry in a list).</xsd:documentation>
855 </xsd:annotation>
856 </xsd:enumeration>
857 <xsd:enumeration value="ltext">
858 <xsd:annotation>
859 <xsd:documentation>Indicates a Windows RC LTEXT control.</xsd:documentation>
860 </xsd:annotation>
861 </xsd:enumeration>
862 <xsd:enumeration value="menu">
863 <xsd:annotation>
864 <xsd:documentation>Indicates a menu (a group of menu-items).</xsd:documentation>
865 </xsd:annotation>
866 </xsd:enumeration>
867 <xsd:enumeration value="menubar">
868 <xsd:annotation>
869 <xsd:documentation>Indicates a toolbar containing one or more tope level menus.</xsd:documentation>
870 </xsd:annotation>
871 </xsd:enumeration>
872 <xsd:enumeration value="menuitem">
873 <xsd:annotation>
874 <xsd:documentation>Indicates a menu item (an entry in a menu).</xsd:documentation>
875 </xsd:annotation>
876 </xsd:enumeration>
877 <xsd:enumeration value="menuseparator">
878 <xsd:annotation>
879 <xsd:documentation>Indicates a XUL menuseparator element.</xsd:documentation>
880 </xsd:annotation>
881 </xsd:enumeration>
882 <xsd:enumeration value="message">
883 <xsd:annotation>
884 <xsd:documentation>Indicates a message, for example an entry in a MESSAGETABLE resource in Windows.</xsd:documentation>
885 </xsd:annotation>
886 </xsd:enumeration>
887 <xsd:enumeration value="monthcalendar">
888 <xsd:annotation>
889 <xsd:documentation>Indicates a calendar control.</xsd:documentation>
890 </xsd:annotation>
891 </xsd:enumeration>
892 <xsd:enumeration value="numericupdown">
893 <xsd:annotation>
894 <xsd:documentation>Indicates an edit box beside a spin control.</xsd:documentation>
895 </xsd:annotation>
896 </xsd:enumeration>
897 <xsd:enumeration value="panel">
898 <xsd:annotation>
899 <xsd:documentation>Indicates a catch all for rectangular areas.</xsd:documentation>
900 </xsd:annotation>
901 </xsd:enumeration>
902 <xsd:enumeration value="popupmenu">
903 <xsd:annotation>
904 <xsd:documentation>Indicates a standalone menu not necessarily associated with a menubar.</xsd:documentation>
905 </xsd:annotation>
906 </xsd:enumeration>
907 <xsd:enumeration value="pushbox">
908 <xsd:annotation>
909 <xsd:documentation>Indicates a pushbox object, for example a PUSHBOX control in Windows.</xsd:documentation>
910 </xsd:annotation>
911 </xsd:enumeration>
912 <xsd:enumeration value="pushbutton">
913 <xsd:annotation>
914 <xsd:documentation>Indicates a Windows RC PUSHBUTTON control.</xsd:documentation>
915 </xsd:annotation>
916 </xsd:enumeration>
917 <xsd:enumeration value="radio">
918 <xsd:annotation>
919 <xsd:documentation>Indicates a radio button object.</xsd:documentation>
920 </xsd:annotation>
921 </xsd:enumeration>
922 <xsd:enumeration value="radiobuttonmenuitem">
923 <xsd:annotation>
924 <xsd:documentation>Indicates a menuitem with associated radio button.</xsd:documentation>
925 </xsd:annotation>
926 </xsd:enumeration>
927 <xsd:enumeration value="rcdata">
928 <xsd:annotation>
929 <xsd:documentation>Indicates raw data resources for an application.</xsd:documentation>
930 </xsd:annotation>
931 </xsd:enumeration>
932 <xsd:enumeration value="row">
933 <xsd:annotation>
934 <xsd:documentation>Indicates a row in a table.</xsd:documentation>
935 </xsd:annotation>
936 </xsd:enumeration>
937 <xsd:enumeration value="rtext">
938 <xsd:annotation>
939 <xsd:documentation>Indicates a Windows RC RTEXT control.</xsd:documentation>
940 </xsd:annotation>
941 </xsd:enumeration>
942 <xsd:enumeration value="scrollpane">
943 <xsd:annotation>
944 <xsd:documentation>Indicates a user navigable container used to show a portion of a document.</xsd:documentation>
945 </xsd:annotation>
946 </xsd:enumeration>
947 <xsd:enumeration value="separator">
948 <xsd:annotation>
949 <xsd:documentation>Indicates a generic divider object (e.g. menu group separator).</xsd:documentation>
950 </xsd:annotation>
951 </xsd:enumeration>
952 <xsd:enumeration value="shortcut">
953 <xsd:annotation>
954 <xsd:documentation>Windows accelerators, shortcuts in resource or property files.</xsd:documentation>
955 </xsd:annotation>
956 </xsd:enumeration>
957 <xsd:enumeration value="spinner">
958 <xsd:annotation>
959 <xsd:documentation>Indicates a UI control to indicate process activity but not progress.</xsd:documentation>
960 </xsd:annotation>
961 </xsd:enumeration>
962 <xsd:enumeration value="splitter">
963 <xsd:annotation>
964 <xsd:documentation>Indicates a splitter bar.</xsd:documentation>
965 </xsd:annotation>
966 </xsd:enumeration>
967 <xsd:enumeration value="state3">
968 <xsd:annotation>
969 <xsd:documentation>Indicates a Windows RC STATE3 control.</xsd:documentation>
970 </xsd:annotation>
971 </xsd:enumeration>
972 <xsd:enumeration value="statusbar">
973 <xsd:annotation>
974 <xsd:documentation>Indicates a window for providing feedback to the users, like 'read-only', etc.</xsd:documentation>
975 </xsd:annotation>
976 </xsd:enumeration>
977 <xsd:enumeration value="string">
978 <xsd:annotation>
979 <xsd:documentation>Indicates a string, for example an entry in a STRINGTABLE resource in Windows.</xsd:documentation>
980 </xsd:annotation>
981 </xsd:enumeration>
982 <xsd:enumeration value="tabcontrol">
983 <xsd:annotation>
984 <xsd:documentation>Indicates a layers of controls with a tab to select layers.</xsd:documentation>
985 </xsd:annotation>
986 </xsd:enumeration>
987 <xsd:enumeration value="table">
988 <xsd:annotation>
989 <xsd:documentation>Indicates a display and edits regular two-dimensional tables of cells.</xsd:documentation>
990 </xsd:annotation>
991 </xsd:enumeration>
992 <xsd:enumeration value="textbox">
993 <xsd:annotation>
994 <xsd:documentation>Indicates a XUL textbox element.</xsd:documentation>
995 </xsd:annotation>
996 </xsd:enumeration>
997 <xsd:enumeration value="togglebutton">
998 <xsd:annotation>
999 <xsd:documentation>Indicates a UI button that can be toggled to on or off state.</xsd:documentation>
1000 </xsd:annotation>
1001 </xsd:enumeration>
1002 <xsd:enumeration value="toolbar">
1003 <xsd:annotation>
1004 <xsd:documentation>Indicates an array of controls, usually buttons.</xsd:documentation>
1005 </xsd:annotation>
1006 </xsd:enumeration>
1007 <xsd:enumeration value="tooltip">
1008 <xsd:annotation>
1009 <xsd:documentation>Indicates a pop up tool tip text.</xsd:documentation>
1010 </xsd:annotation>
1011 </xsd:enumeration>
1012 <xsd:enumeration value="trackbar">
1013 <xsd:annotation>
1014 <xsd:documentation>Indicates a bar with a pointer indicating a position within a certain range.</xsd:documentation>
1015 </xsd:annotation>
1016 </xsd:enumeration>
1017 <xsd:enumeration value="tree">
1018 <xsd:annotation>
1019 <xsd:documentation>Indicates a control that displays a set of hierarchical data.</xsd:documentation>
1020 </xsd:annotation>
1021 </xsd:enumeration>
1022 <xsd:enumeration value="uri">
1023 <xsd:annotation>
1024 <xsd:documentation>Indicates a URI (URN or URL).</xsd:documentation>
1025 </xsd:annotation>
1026 </xsd:enumeration>
1027 <xsd:enumeration value="userbutton">
1028 <xsd:annotation>
1029 <xsd:documentation>Indicates a Windows RC USERBUTTON control.</xsd:documentation>
1030 </xsd:annotation>
1031 </xsd:enumeration>
1032 <xsd:enumeration value="usercontrol">
1033 <xsd:annotation>
1034 <xsd:documentation>Indicates a user-defined control like CONTROL control in Windows.</xsd:documentation>
1035 </xsd:annotation>
1036 </xsd:enumeration>
1037 <xsd:enumeration value="var">
1038 <xsd:annotation>
1039 <xsd:documentation>Indicates the text of a variable.</xsd:documentation>
1040 </xsd:annotation>
1041 </xsd:enumeration>
1042 <xsd:enumeration value="versioninfo">
1043 <xsd:annotation>
1044 <xsd:documentation>Indicates version information about a resource like VERSIONINFO in Windows.</xsd:documentation>
1045 </xsd:annotation>
1046 </xsd:enumeration>
1047 <xsd:enumeration value="vscrollbar">
1048 <xsd:annotation>
1049 <xsd:documentation>Indicates a vertical scrollbar.</xsd:documentation>
1050 </xsd:annotation>
1051 </xsd:enumeration>
1052 <xsd:enumeration value="window">
1053 <xsd:annotation>
1054 <xsd:documentation>Indicates a graphical window.</xsd:documentation>
1055 </xsd:annotation>
1056 </xsd:enumeration>
1057 </xsd:restriction>
1058 </xsd:simpleType>
1059 <xsd:simpleType name="size-unitValueList">
1060 <xsd:annotation>
1061 <xsd:documentation>Values for the attribute 'size-unit'.</xsd:documentation>
1062 </xsd:annotation>
1063 <xsd:restriction base="xsd:NMTOKEN">
1064 <xsd:enumeration value="byte">
1065 <xsd:annotation>
1066 <xsd:documentation>Indicates a size in 8-bit bytes.</xsd:documentation>
1067 </xsd:annotation>
1068 </xsd:enumeration>
1069 <xsd:enumeration value="char">
1070 <xsd:annotation>
1071 <xsd:documentation>Indicates a size in Unicode characters.</xsd:documentation>
1072 </xsd:annotation>
1073 </xsd:enumeration>
1074 <xsd:enumeration value="col">
1075 <xsd:annotation>
1076 <xsd:documentation>Indicates a size in columns. Used for HTML text area.</xsd:documentation>
1077 </xsd:annotation>
1078 </xsd:enumeration>
1079 <xsd:enumeration value="cm">
1080 <xsd:annotation>
1081 <xsd:documentation>Indicates a size in centimeters.</xsd:documentation>
1082 </xsd:annotation>
1083 </xsd:enumeration>
1084 <xsd:enumeration value="dlgunit">
1085 <xsd:annotation>
1086 <xsd:documentation>Indicates a size in dialog units, as defined in Windows resources.</xsd:documentation>
1087 </xsd:annotation>
1088 </xsd:enumeration>
1089 <xsd:enumeration value="em">
1090 <xsd:annotation>
1091 <xsd:documentation>Indicates a size in 'font-size' units (as defined in CSS).</xsd:documentation>
1092 </xsd:annotation>
1093 </xsd:enumeration>
1094 <xsd:enumeration value="ex">
1095 <xsd:annotation>
1096 <xsd:documentation>Indicates a size in 'x-height' units (as defined in CSS).</xsd:documentation>
1097 </xsd:annotation>
1098 </xsd:enumeration>
1099 <xsd:enumeration value="glyph">
1100 <xsd:annotation>
1101 <xsd:documentation>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'</xsd:documentation>
1102 </xsd:annotation>
1103 </xsd:enumeration>
1104 <xsd:enumeration value="in">
1105 <xsd:annotation>
1106 <xsd:documentation>Indicates a size in inches.</xsd:documentation>
1107 </xsd:annotation>
1108 </xsd:enumeration>
1109 <xsd:enumeration value="mm">
1110 <xsd:annotation>
1111 <xsd:documentation>Indicates a size in millimeters.</xsd:documentation>
1112 </xsd:annotation>
1113 </xsd:enumeration>
1114 <xsd:enumeration value="percent">
1115 <xsd:annotation>
1116 <xsd:documentation>Indicates a size in percentage.</xsd:documentation>
1117 </xsd:annotation>
1118 </xsd:enumeration>
1119 <xsd:enumeration value="pixel">
1120 <xsd:annotation>
1121 <xsd:documentation>Indicates a size in pixels.</xsd:documentation>
1122 </xsd:annotation>
1123 </xsd:enumeration>
1124 <xsd:enumeration value="point">
1125 <xsd:annotation>
1126 <xsd:documentation>Indicates a size in point.</xsd:documentation>
1127 </xsd:annotation>
1128 </xsd:enumeration>
1129 <xsd:enumeration value="row">
1130 <xsd:annotation>
1131 <xsd:documentation>Indicates a size in rows. Used for HTML text area.</xsd:documentation>
1132 </xsd:annotation>
1133 </xsd:enumeration>
1134 </xsd:restriction>
1135 </xsd:simpleType>
1136 <xsd:simpleType name="stateValueList">
1137 <xsd:annotation>
1138 <xsd:documentation>Values for the attribute 'state'.</xsd:documentation>
1139 </xsd:annotation>
1140 <xsd:restriction base="xsd:NMTOKEN">
1141 <xsd:enumeration value="final">
1142 <xsd:annotation>
1143 <xsd:documentation>Indicates the terminating state.</xsd:documentation>
1144 </xsd:annotation>
1145 </xsd:enumeration>
1146 <xsd:enumeration value="needs-adaptation">
1147 <xsd:annotation>
1148 <xsd:documentation>Indicates only non-textual information needs adaptation.</xsd:documentation>
1149 </xsd:annotation>
1150 </xsd:enumeration>
1151 <xsd:enumeration value="needs-l10n">
1152 <xsd:annotation>
1153 <xsd:documentation>Indicates both text and non-textual information needs adaptation.</xsd:documentation>
1154 </xsd:annotation>
1155 </xsd:enumeration>
1156 <xsd:enumeration value="needs-review-adaptation">
1157 <xsd:annotation>
1158 <xsd:documentation>Indicates only non-textual information needs review.</xsd:documentation>
1159 </xsd:annotation>
1160 </xsd:enumeration>
1161 <xsd:enumeration value="needs-review-l10n">
1162 <xsd:annotation>
1163 <xsd:documentation>Indicates both text and non-textual information needs review.</xsd:documentation>
1164 </xsd:annotation>
1165 </xsd:enumeration>
1166 <xsd:enumeration value="needs-review-translation">
1167 <xsd:annotation>
1168 <xsd:documentation>Indicates that only the text of the item needs to be reviewed.</xsd:documentation>
1169 </xsd:annotation>
1170 </xsd:enumeration>
1171 <xsd:enumeration value="needs-translation">
1172 <xsd:annotation>
1173 <xsd:documentation>Indicates that the item needs to be translated.</xsd:documentation>
1174 </xsd:annotation>
1175 </xsd:enumeration>
1176 <xsd:enumeration value="new">
1177 <xsd:annotation>
1178 <xsd:documentation>Indicates that the item is new. For example, translation units that were not in a previous version of the document.</xsd:documentation>
1179 </xsd:annotation>
1180 </xsd:enumeration>
1181 <xsd:enumeration value="signed-off">
1182 <xsd:annotation>
1183 <xsd:documentation>Indicates that changes are reviewed and approved.</xsd:documentation>
1184 </xsd:annotation>
1185 </xsd:enumeration>
1186 <xsd:enumeration value="translated">
1187 <xsd:annotation>
1188 <xsd:documentation>Indicates that the item has been translated.</xsd:documentation>
1189 </xsd:annotation>
1190 </xsd:enumeration>
1191 </xsd:restriction>
1192 </xsd:simpleType>
1193 <xsd:simpleType name="state-qualifierValueList">
1194 <xsd:annotation>
1195 <xsd:documentation>Values for the attribute 'state-qualifier'.</xsd:documentation>
1196 </xsd:annotation>
1197 <xsd:restriction base="xsd:NMTOKEN">
1198 <xsd:enumeration value="exact-match">
1199 <xsd:annotation>
1200 <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>
1201 </xsd:annotation>
1202 </xsd:enumeration>
1203 <xsd:enumeration value="fuzzy-match">
1204 <xsd:annotation>
1205 <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>
1206 </xsd:annotation>
1207 </xsd:enumeration>
1208 <xsd:enumeration value="id-match">
1209 <xsd:annotation>
1210 <xsd:documentation>Indicates a match based on matching IDs (in addition to matching text).</xsd:documentation>
1211 </xsd:annotation>
1212 </xsd:enumeration>
1213 <xsd:enumeration value="leveraged-glossary">
1214 <xsd:annotation>
1215 <xsd:documentation>Indicates a translation derived from a glossary.</xsd:documentation>
1216 </xsd:annotation>
1217 </xsd:enumeration>
1218 <xsd:enumeration value="leveraged-inherited">
1219 <xsd:annotation>
1220 <xsd:documentation>Indicates a translation derived from existing translation.</xsd:documentation>
1221 </xsd:annotation>
1222 </xsd:enumeration>
1223 <xsd:enumeration value="leveraged-mt">
1224 <xsd:annotation>
1225 <xsd:documentation>Indicates a translation derived from machine translation.</xsd:documentation>
1226 </xsd:annotation>
1227 </xsd:enumeration>
1228 <xsd:enumeration value="leveraged-repository">
1229 <xsd:annotation>
1230 <xsd:documentation>Indicates a translation derived from a translation repository.</xsd:documentation>
1231 </xsd:annotation>
1232 </xsd:enumeration>
1233 <xsd:enumeration value="leveraged-tm">
1234 <xsd:annotation>
1235 <xsd:documentation>Indicates a translation derived from a translation memory.</xsd:documentation>
1236 </xsd:annotation>
1237 </xsd:enumeration>
1238 <xsd:enumeration value="mt-suggestion">
1239 <xsd:annotation>
1240 <xsd:documentation>Indicates the translation is suggested by machine translation.</xsd:documentation>
1241 </xsd:annotation>
1242 </xsd:enumeration>
1243 <xsd:enumeration value="rejected-grammar">
1244 <xsd:annotation>
1245 <xsd:documentation>Indicates that the item has been rejected because of incorrect grammar.</xsd:documentation>
1246 </xsd:annotation>
1247 </xsd:enumeration>
1248 <xsd:enumeration value="rejected-inaccurate">
1249 <xsd:annotation>
1250 <xsd:documentation>Indicates that the item has been rejected because it is incorrect.</xsd:documentation>
1251 </xsd:annotation>
1252 </xsd:enumeration>
1253 <xsd:enumeration value="rejected-length">
1254 <xsd:annotation>
1255 <xsd:documentation>Indicates that the item has been rejected because it is too long or too short.</xsd:documentation>
1256 </xsd:annotation>
1257 </xsd:enumeration>
1258 <xsd:enumeration value="rejected-spelling">
1259 <xsd:annotation>
1260 <xsd:documentation>Indicates that the item has been rejected because of incorrect spelling.</xsd:documentation>
1261 </xsd:annotation>
1262 </xsd:enumeration>
1263 <xsd:enumeration value="tm-suggestion">
1264 <xsd:annotation>
1265 <xsd:documentation>Indicates the translation is suggested by translation memory.</xsd:documentation>
1266 </xsd:annotation>
1267 </xsd:enumeration>
1268 </xsd:restriction>
1269 </xsd:simpleType>
1270 <xsd:simpleType name="unitValueList">
1271 <xsd:annotation>
1272 <xsd:documentation>Values for the attribute 'unit'.</xsd:documentation>
1273 </xsd:annotation>
1274 <xsd:restriction base="xsd:NMTOKEN">
1275 <xsd:enumeration value="word">
1276 <xsd:annotation>
1277 <xsd:documentation>Refers to words.</xsd:documentation>
1278 </xsd:annotation>
1279 </xsd:enumeration>
1280 <xsd:enumeration value="page">
1281 <xsd:annotation>
1282 <xsd:documentation>Refers to pages.</xsd:documentation>
1283 </xsd:annotation>
1284 </xsd:enumeration>
1285 <xsd:enumeration value="trans-unit">
1286 <xsd:annotation>
1287 <xsd:documentation>Refers to &lt;trans-unit&gt; elements.</xsd:documentation>
1288 </xsd:annotation>
1289 </xsd:enumeration>
1290 <xsd:enumeration value="bin-unit">
1291 <xsd:annotation>
1292 <xsd:documentation>Refers to &lt;bin-unit&gt; elements.</xsd:documentation>
1293 </xsd:annotation>
1294 </xsd:enumeration>
1295 <xsd:enumeration value="glyph">
1296 <xsd:annotation>
1297 <xsd:documentation>Refers to glyphs.</xsd:documentation>
1298 </xsd:annotation>
1299 </xsd:enumeration>
1300 <xsd:enumeration value="item">
1301 <xsd:annotation>
1302 <xsd:documentation>Refers to &lt;trans-unit&gt; and/or &lt;bin-unit&gt; elements.</xsd:documentation>
1303 </xsd:annotation>
1304 </xsd:enumeration>
1305 <xsd:enumeration value="instance">
1306 <xsd:annotation>
1307 <xsd:documentation>Refers to the occurrences of instances defined by the count-type value.</xsd:documentation>
1308 </xsd:annotation>
1309 </xsd:enumeration>
1310 <xsd:enumeration value="character">
1311 <xsd:annotation>
1312 <xsd:documentation>Refers to characters.</xsd:documentation>
1313 </xsd:annotation>
1314 </xsd:enumeration>
1315 <xsd:enumeration value="line">
1316 <xsd:annotation>
1317 <xsd:documentation>Refers to lines.</xsd:documentation>
1318 </xsd:annotation>
1319 </xsd:enumeration>
1320 <xsd:enumeration value="sentence">
1321 <xsd:annotation>
1322 <xsd:documentation>Refers to sentences.</xsd:documentation>
1323 </xsd:annotation>
1324 </xsd:enumeration>
1325 <xsd:enumeration value="paragraph">
1326 <xsd:annotation>
1327 <xsd:documentation>Refers to paragraphs.</xsd:documentation>
1328 </xsd:annotation>
1329 </xsd:enumeration>
1330 <xsd:enumeration value="segment">
1331 <xsd:annotation>
1332 <xsd:documentation>Refers to segments.</xsd:documentation>
1333 </xsd:annotation>
1334 </xsd:enumeration>
1335 <xsd:enumeration value="placeable">
1336 <xsd:annotation>
1337 <xsd:documentation>Refers to placeables (inline elements).</xsd:documentation>
1338 </xsd:annotation>
1339 </xsd:enumeration>
1340 </xsd:restriction>
1341 </xsd:simpleType>
1342 <xsd:simpleType name="priorityValueList">
1343 <xsd:annotation>
1344 <xsd:documentation>Values for the attribute 'priority'.</xsd:documentation>
1345 </xsd:annotation>
1346 <xsd:restriction base="xsd:positiveInteger">
1347 <xsd:enumeration value="1">
1348 <xsd:annotation>
1349 <xsd:documentation>Highest priority.</xsd:documentation>
1350 </xsd:annotation>
1351 </xsd:enumeration>
1352 <xsd:enumeration value="2">
1353 <xsd:annotation>
1354 <xsd:documentation>High priority.</xsd:documentation>
1355 </xsd:annotation>
1356 </xsd:enumeration>
1357 <xsd:enumeration value="3">
1358 <xsd:annotation>
1359 <xsd:documentation>High priority, but not as important as 2.</xsd:documentation>
1360 </xsd:annotation>
1361 </xsd:enumeration>
1362 <xsd:enumeration value="4">
1363 <xsd:annotation>
1364 <xsd:documentation>High priority, but not as important as 3.</xsd:documentation>
1365 </xsd:annotation>
1366 </xsd:enumeration>
1367 <xsd:enumeration value="5">
1368 <xsd:annotation>
1369 <xsd:documentation>Medium priority, but more important than 6.</xsd:documentation>
1370 </xsd:annotation>
1371 </xsd:enumeration>
1372 <xsd:enumeration value="6">
1373 <xsd:annotation>
1374 <xsd:documentation>Medium priority, but less important than 5.</xsd:documentation>
1375 </xsd:annotation>
1376 </xsd:enumeration>
1377 <xsd:enumeration value="7">
1378 <xsd:annotation>
1379 <xsd:documentation>Low priority, but more important than 8.</xsd:documentation>
1380 </xsd:annotation>
1381 </xsd:enumeration>
1382 <xsd:enumeration value="8">
1383 <xsd:annotation>
1384 <xsd:documentation>Low priority, but more important than 9.</xsd:documentation>
1385 </xsd:annotation>
1386 </xsd:enumeration>
1387 <xsd:enumeration value="9">
1388 <xsd:annotation>
1389 <xsd:documentation>Low priority.</xsd:documentation>
1390 </xsd:annotation>
1391 </xsd:enumeration>
1392 <xsd:enumeration value="10">
1393 <xsd:annotation>
1394 <xsd:documentation>Lowest priority.</xsd:documentation>
1395 </xsd:annotation>
1396 </xsd:enumeration>
1397 </xsd:restriction>
1398 </xsd:simpleType>
1399 <xsd:simpleType name="reformatValueYesNo">
1400 <xsd:restriction base="xsd:string">
1401 <xsd:enumeration value="yes">
1402 <xsd:annotation>
1403 <xsd:documentation>This value indicates that all properties can be reformatted. This value must be used alone.</xsd:documentation>
1404 </xsd:annotation>
1405 </xsd:enumeration>
1406 <xsd:enumeration value="no">
1407 <xsd:annotation>
1408 <xsd:documentation>This value indicates that no properties should be reformatted. This value must be used alone.</xsd:documentation>
1409 </xsd:annotation>
1410 </xsd:enumeration>
1411 </xsd:restriction>
1412 </xsd:simpleType>
1413 <xsd:simpleType name="reformatValueList">
1414 <xsd:list>
1415 <xsd:simpleType>
1416 <xsd:union memberTypes="xlf:XTend">
1417 <xsd:simpleType>
1418 <xsd:restriction base="xsd:string">
1419 <xsd:enumeration value="coord">
1420 <xsd:annotation>
1421 <xsd:documentation>This value indicates that all information in the coord attribute can be modified.</xsd:documentation>
1422 </xsd:annotation>
1423 </xsd:enumeration>
1424 <xsd:enumeration value="coord-x">
1425 <xsd:annotation>
1426 <xsd:documentation>This value indicates that the x information in the coord attribute can be modified.</xsd:documentation>
1427 </xsd:annotation>
1428 </xsd:enumeration>
1429 <xsd:enumeration value="coord-y">
1430 <xsd:annotation>
1431 <xsd:documentation>This value indicates that the y information in the coord attribute can be modified.</xsd:documentation>
1432 </xsd:annotation>
1433 </xsd:enumeration>
1434 <xsd:enumeration value="coord-cx">
1435 <xsd:annotation>
1436 <xsd:documentation>This value indicates that the cx information in the coord attribute can be modified.</xsd:documentation>
1437 </xsd:annotation>
1438 </xsd:enumeration>
1439 <xsd:enumeration value="coord-cy">
1440 <xsd:annotation>
1441 <xsd:documentation>This value indicates that the cy information in the coord attribute can be modified.</xsd:documentation>
1442 </xsd:annotation>
1443 </xsd:enumeration>
1444 <xsd:enumeration value="font">
1445 <xsd:annotation>
1446 <xsd:documentation>This value indicates that all the information in the font attribute can be modified.</xsd:documentation>
1447 </xsd:annotation>
1448 </xsd:enumeration>
1449 <xsd:enumeration value="font-name">
1450 <xsd:annotation>
1451 <xsd:documentation>This value indicates that the name information in the font attribute can be modified.</xsd:documentation>
1452 </xsd:annotation>
1453 </xsd:enumeration>
1454 <xsd:enumeration value="font-size">
1455 <xsd:annotation>
1456 <xsd:documentation>This value indicates that the size information in the font attribute can be modified.</xsd:documentation>
1457 </xsd:annotation>
1458 </xsd:enumeration>
1459 <xsd:enumeration value="font-weight">
1460 <xsd:annotation>
1461 <xsd:documentation>This value indicates that the weight information in the font attribute can be modified.</xsd:documentation>
1462 </xsd:annotation>
1463 </xsd:enumeration>
1464 <xsd:enumeration value="css-style">
1465 <xsd:annotation>
1466 <xsd:documentation>This value indicates that the information in the css-style attribute can be modified.</xsd:documentation>
1467 </xsd:annotation>
1468 </xsd:enumeration>
1469 <xsd:enumeration value="style">
1470 <xsd:annotation>
1471 <xsd:documentation>This value indicates that the information in the style attribute can be modified.</xsd:documentation>
1472 </xsd:annotation>
1473 </xsd:enumeration>
1474 <xsd:enumeration value="ex-style">
1475 <xsd:annotation>
1476 <xsd:documentation>This value indicates that the information in the exstyle attribute can be modified.</xsd:documentation>
1477 </xsd:annotation>
1478 </xsd:enumeration>
1479 </xsd:restriction>
1480 </xsd:simpleType>
1481 </xsd:union>
1482 </xsd:simpleType>
1483 </xsd:list>
1484 </xsd:simpleType>
1485 <xsd:simpleType name="purposeValueList">
1486 <xsd:restriction base="xsd:string">
1487 <xsd:enumeration value="information">
1488 <xsd:annotation>
1489 <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>
1490 </xsd:annotation>
1491 </xsd:enumeration>
1492 <xsd:enumeration value="location">
1493 <xsd:annotation>
1494 <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>
1495 </xsd:annotation>
1496 </xsd:enumeration>
1497 <xsd:enumeration value="match">
1498 <xsd:annotation>
1499 <xsd:documentation>Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed.</xsd:documentation>
1500 </xsd:annotation>
1501 </xsd:enumeration>
1502 </xsd:restriction>
1503 </xsd:simpleType>
1504 <xsd:simpleType name="alttranstypeValueList">
1505 <xsd:restriction base="xsd:string">
1506 <xsd:enumeration value="proposal">
1507 <xsd:annotation>
1508 <xsd:documentation>Represents a translation proposal from a translation memory or other resource.</xsd:documentation>
1509 </xsd:annotation>
1510 </xsd:enumeration>
1511 <xsd:enumeration value="previous-version">
1512 <xsd:annotation>
1513 <xsd:documentation>Represents a previous version of the target element.</xsd:documentation>
1514 </xsd:annotation>
1515 </xsd:enumeration>
1516 <xsd:enumeration value="rejected">
1517 <xsd:annotation>
1518 <xsd:documentation>Represents a rejected version of the target element.</xsd:documentation>
1519 </xsd:annotation>
1520 </xsd:enumeration>
1521 <xsd:enumeration value="reference">
1522 <xsd:annotation>
1523 <xsd:documentation>Represents a translation to be used for reference purposes only, for example from a related product or a different language.</xsd:documentation>
1524 </xsd:annotation>
1525 </xsd:enumeration>
1526 <xsd:enumeration value="accepted">
1527 <xsd:annotation>
1528 <xsd:documentation>Represents a proposed translation that was used for the translation of the trans-unit, possibly modified.</xsd:documentation>
1529 </xsd:annotation>
1530 </xsd:enumeration>
1531 </xsd:restriction>
1532 </xsd:simpleType>
1533 <!-- Other Types -->
1534 <xsd:complexType name="ElemType_ExternalReference">
1535 <xsd:choice>
1536 <xsd:element ref="xlf:internal-file"/>
1537 <xsd:element ref="xlf:external-file"/>
1538 </xsd:choice>
1539 </xsd:complexType>
1540 <xsd:simpleType name="AttrType_purpose">
1541 <xsd:list>
1542 <xsd:simpleType>
1543 <xsd:union memberTypes="xlf:purposeValueList xlf:XTend"/>
1544 </xsd:simpleType>
1545 </xsd:list>
1546 </xsd:simpleType>
1547 <xsd:simpleType name="AttrType_datatype">
1548 <xsd:union memberTypes="xlf:datatypeValueList xlf:XTend"/>
1549 </xsd:simpleType>
1550 <xsd:simpleType name="AttrType_restype">
1551 <xsd:union memberTypes="xlf:restypeValueList xlf:XTend"/>
1552 </xsd:simpleType>
1553 <xsd:simpleType name="AttrType_alttranstype">
1554 <xsd:union memberTypes="xlf:alttranstypeValueList xlf:XTend"/>
1555 </xsd:simpleType>
1556 <xsd:simpleType name="AttrType_context-type">
1557 <xsd:union memberTypes="xlf:context-typeValueList xlf:XTend"/>
1558 </xsd:simpleType>
1559 <xsd:simpleType name="AttrType_state">
1560 <xsd:union memberTypes="xlf:stateValueList xlf:XTend"/>
1561 </xsd:simpleType>
1562 <xsd:simpleType name="AttrType_state-qualifier">
1563 <xsd:union memberTypes="xlf:state-qualifierValueList xlf:XTend"/>
1564 </xsd:simpleType>
1565 <xsd:simpleType name="AttrType_count-type">
1566 <xsd:union memberTypes="xlf:restypeValueList xlf:count-typeValueList xlf:datatypeValueList xlf:stateValueList xlf:state-qualifierValueList xlf:XTend"/>
1567 </xsd:simpleType>
1568 <xsd:simpleType name="AttrType_InlineDelimiters">
1569 <xsd:union memberTypes="xlf:InlineDelimitersValueList xlf:XTend"/>
1570 </xsd:simpleType>
1571 <xsd:simpleType name="AttrType_InlinePlaceholders">
1572 <xsd:union memberTypes="xlf:InlinePlaceholdersValueList xlf:XTend"/>
1573 </xsd:simpleType>
1574 <xsd:simpleType name="AttrType_size-unit">
1575 <xsd:union memberTypes="xlf:size-unitValueList xlf:XTend"/>
1576 </xsd:simpleType>
1577 <xsd:simpleType name="AttrType_mtype">
1578 <xsd:union memberTypes="xlf:mtypeValueList xlf:XTend"/>
1579 </xsd:simpleType>
1580 <xsd:simpleType name="AttrType_unit">
1581 <xsd:union memberTypes="xlf:unitValueList xlf:XTend"/>
1582 </xsd:simpleType>
1583 <xsd:simpleType name="AttrType_priority">
1584 <xsd:union memberTypes="xlf:priorityValueList"/>
1585 </xsd:simpleType>
1586 <xsd:simpleType name="AttrType_reformat">
1587 <xsd:union memberTypes="xlf:reformatValueYesNo xlf:reformatValueList"/>
1588 </xsd:simpleType>
1589 <xsd:simpleType name="AttrType_YesNo">
1590 <xsd:restriction base="xsd:NMTOKEN">
1591 <xsd:enumeration value="yes"/>
1592 <xsd:enumeration value="no"/>
1593 </xsd:restriction>
1594 </xsd:simpleType>
1595 <xsd:simpleType name="AttrType_Position">
1596 <xsd:restriction base="xsd:NMTOKEN">
1597 <xsd:enumeration value="open"/>
1598 <xsd:enumeration value="close"/>
1599 </xsd:restriction>
1600 </xsd:simpleType>
1601 <xsd:simpleType name="AttrType_assoc">
1602 <xsd:restriction base="xsd:NMTOKEN">
1603 <xsd:enumeration value="preceding"/>
1604 <xsd:enumeration value="following"/>
1605 <xsd:enumeration value="both"/>
1606 </xsd:restriction>
1607 </xsd:simpleType>
1608 <xsd:simpleType name="AttrType_annotates">
1609 <xsd:restriction base="xsd:NMTOKEN">
1610 <xsd:enumeration value="source"/>
1611 <xsd:enumeration value="target"/>
1612 <xsd:enumeration value="general"/>
1613 </xsd:restriction>
1614 </xsd:simpleType>
1615 <xsd:simpleType name="AttrType_Coordinates">
1616 <xsd:annotation>
1617 <xsd:documentation>Values for the attribute 'coord'.</xsd:documentation>
1618 </xsd:annotation>
1619 <xsd:restriction base="xsd:string">
1620 <xsd:pattern value="(-?\d+|#);(-?\d+|#);(-?\d+|#);(-?\d+|#)"/>
1621 </xsd:restriction>
1622 </xsd:simpleType>
1623 <xsd:simpleType name="AttrType_Version">
1624 <xsd:annotation>
1625 <xsd:documentation>Version values: 1.0 and 1.1 are allowed for backward compatibility.</xsd:documentation>
1626 </xsd:annotation>
1627 <xsd:restriction base="xsd:string">
1628 <xsd:enumeration value="1.2"/>
1629 <xsd:enumeration value="1.1"/>
1630 <xsd:enumeration value="1.0"/>
1631 </xsd:restriction>
1632 </xsd:simpleType>
1633 <!-- Groups -->
1634 <xsd:group name="ElemGroup_TextContent">
1635 <xsd:choice>
1636 <xsd:element ref="xlf:g"/>
1637 <xsd:element ref="xlf:bpt"/>
1638 <xsd:element ref="xlf:ept"/>
1639 <xsd:element ref="xlf:ph"/>
1640 <xsd:element ref="xlf:it"/>
1641 <xsd:element ref="xlf:mrk"/>
1642 <xsd:element ref="xlf:x"/>
1643 <xsd:element ref="xlf:bx"/>
1644 <xsd:element ref="xlf:ex"/>
1645 </xsd:choice>
1646 </xsd:group>
1647 <xsd:attributeGroup name="AttrGroup_TextContent">
1648 <xsd:attribute name="id" type="xsd:string" use="required"/>
1649 <xsd:attribute name="xid" type="xsd:string" use="optional"/>
1650 <xsd:attribute name="equiv-text" type="xsd:string" use="optional"/>
1651 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1652 </xsd:attributeGroup>
1653 <!-- XLIFF Structure -->
1654 <xsd:element name="xliff">
1655 <xsd:complexType>
1656 <xsd:sequence maxOccurs="unbounded">
1657 <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
1658 <xsd:element ref="xlf:file"/>
1659 </xsd:sequence>
1660 <xsd:attribute name="version" type="xlf:AttrType_Version" use="required"/>
1661 <xsd:attribute ref="xml:lang" use="optional"/>
1662 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1663 </xsd:complexType>
1664 </xsd:element>
1665 <xsd:element name="file">
1666 <xsd:complexType>
1667 <xsd:sequence>
1668 <xsd:element minOccurs="0" ref="xlf:header"/>
1669 <xsd:element ref="xlf:body"/>
1670 </xsd:sequence>
1671 <xsd:attribute name="original" type="xsd:string" use="required"/>
1672 <xsd:attribute name="source-language" type="xsd:language" use="required"/>
1673 <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="required"/>
1674 <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
1675 <xsd:attribute name="date" type="xsd:dateTime" use="optional"/>
1676 <xsd:attribute ref="xml:space" use="optional"/>
1677 <xsd:attribute name="category" type="xsd:string" use="optional"/>
1678 <xsd:attribute name="target-language" type="xsd:language" use="optional"/>
1679 <xsd:attribute name="product-name" type="xsd:string" use="optional"/>
1680 <xsd:attribute name="product-version" type="xsd:string" use="optional"/>
1681 <xsd:attribute name="build-num" type="xsd:string" use="optional"/>
1682 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1683 </xsd:complexType>
1684 <xsd:unique name="U_group_id">
1685 <xsd:selector xpath=".//xlf:group"/>
1686 <xsd:field xpath="@id"/>
1687 </xsd:unique>
1688 <xsd:key name="K_unit_id">
1689 <xsd:selector xpath=".//xlf:trans-unit|.//xlf:bin-unit"/>
1690 <xsd:field xpath="@id"/>
1691 </xsd:key>
1692 <xsd:keyref name="KR_unit_id" refer="xlf:K_unit_id">
1693 <xsd:selector xpath=".//bpt|.//ept|.//it|.//ph|.//g|.//x|.//bx|.//ex|.//sub"/>
1694 <xsd:field xpath="@xid"/>
1695 </xsd:keyref>
1696 <xsd:key name="K_tool-id">
1697 <xsd:selector xpath="xlf:header/xlf:tool"/>
1698 <xsd:field xpath="@tool-id"/>
1699 </xsd:key>
1700 <xsd:keyref name="KR_file_tool-id" refer="xlf:K_tool-id">
1701 <xsd:selector xpath="."/>
1702 <xsd:field xpath="@tool-id"/>
1703 </xsd:keyref>
1704 <xsd:keyref name="KR_phase_tool-id" refer="xlf:K_tool-id">
1705 <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/>
1706 <xsd:field xpath="@tool-id"/>
1707 </xsd:keyref>
1708 <xsd:keyref name="KR_alt-trans_tool-id" refer="xlf:K_tool-id">
1709 <xsd:selector xpath=".//xlf:trans-unit/xlf:alt-trans"/>
1710 <xsd:field xpath="@tool-id"/>
1711 </xsd:keyref>
1712 <xsd:key name="K_count-group_name">
1713 <xsd:selector xpath=".//xlf:count-group"/>
1714 <xsd:field xpath="@name"/>
1715 </xsd:key>
1716 <xsd:unique name="U_context-group_name">
1717 <xsd:selector xpath=".//xlf:context-group"/>
1718 <xsd:field xpath="@name"/>
1719 </xsd:unique>
1720 <xsd:key name="K_phase-name">
1721 <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/>
1722 <xsd:field xpath="@phase-name"/>
1723 </xsd:key>
1724 <xsd:keyref name="KR_phase-name" refer="xlf:K_phase-name">
1725 <xsd:selector xpath=".//xlf:count|.//xlf:trans-unit|.//xlf:target|.//bin-unit|.//bin-target"/>
1726 <xsd:field xpath="@phase-name"/>
1727 </xsd:keyref>
1728 <xsd:unique name="U_uid">
1729 <xsd:selector xpath=".//xlf:external-file"/>
1730 <xsd:field xpath="@uid"/>
1731 </xsd:unique>
1732 </xsd:element>
1733 <xsd:element name="header">
1734 <xsd:complexType>
1735 <xsd:sequence>
1736 <xsd:element minOccurs="0" name="skl" type="xlf:ElemType_ExternalReference"/>
1737 <xsd:element minOccurs="0" ref="xlf:phase-group"/>
1738 <xsd:choice maxOccurs="unbounded" minOccurs="0">
1739 <xsd:element name="glossary" type="xlf:ElemType_ExternalReference"/>
1740 <xsd:element name="reference" type="xlf:ElemType_ExternalReference"/>
1741 <xsd:element ref="xlf:count-group"/>
1742 <xsd:element ref="xlf:note"/>
1743 <xsd:element ref="xlf:tool"/>
1744 </xsd:choice>
1745 <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
1746 </xsd:sequence>
1747 </xsd:complexType>
1748 </xsd:element>
1749 <xsd:element name="internal-file">
1750 <xsd:complexType>
1751 <xsd:simpleContent>
1752 <xsd:extension base="xsd:string">
1753 <xsd:attribute name="form" type="xsd:string"/>
1754 <xsd:attribute name="crc" type="xsd:NMTOKEN"/>
1755 </xsd:extension>
1756 </xsd:simpleContent>
1757 </xsd:complexType>
1758 </xsd:element>
1759 <xsd:element name="external-file">
1760 <xsd:complexType>
1761 <xsd:attribute name="href" type="xsd:string" use="required"/>
1762 <xsd:attribute name="crc" type="xsd:NMTOKEN"/>
1763 <xsd:attribute name="uid" type="xsd:NMTOKEN"/>
1764 </xsd:complexType>
1765 </xsd:element>
1766 <xsd:element name="note">
1767 <xsd:complexType>
1768 <xsd:simpleContent>
1769 <xsd:extension base="xsd:string">
1770 <xsd:attribute ref="xml:lang" use="optional"/>
1771 <xsd:attribute default="1" name="priority" type="xlf:AttrType_priority" use="optional"/>
1772 <xsd:attribute name="from" type="xsd:string" use="optional"/>
1773 <xsd:attribute default="general" name="annotates" type="xlf:AttrType_annotates" use="optional"/>
1774 </xsd:extension>
1775 </xsd:simpleContent>
1776 </xsd:complexType>
1777 </xsd:element>
1778 <xsd:element name="phase-group">
1779 <xsd:complexType>
1780 <xsd:sequence maxOccurs="unbounded">
1781 <xsd:element ref="xlf:phase"/>
1782 </xsd:sequence>
1783 </xsd:complexType>
1784 </xsd:element>
1785 <xsd:element name="phase">
1786 <xsd:complexType>
1787 <xsd:sequence maxOccurs="unbounded" minOccurs="0">
1788 <xsd:element ref="xlf:note"/>
1789 </xsd:sequence>
1790 <xsd:attribute name="phase-name" type="xsd:string" use="required"/>
1791 <xsd:attribute name="process-name" type="xsd:string" use="required"/>
1792 <xsd:attribute name="company-name" type="xsd:string" use="optional"/>
1793 <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
1794 <xsd:attribute name="date" type="xsd:dateTime" use="optional"/>
1795 <xsd:attribute name="job-id" type="xsd:string" use="optional"/>
1796 <xsd:attribute name="contact-name" type="xsd:string" use="optional"/>
1797 <xsd:attribute name="contact-email" type="xsd:string" use="optional"/>
1798 <xsd:attribute name="contact-phone" type="xsd:string" use="optional"/>
1799 </xsd:complexType>
1800 </xsd:element>
1801 <xsd:element name="count-group">
1802 <xsd:complexType>
1803 <xsd:sequence maxOccurs="unbounded" minOccurs="0">
1804 <xsd:element ref="xlf:count"/>
1805 </xsd:sequence>
1806 <xsd:attribute name="name" type="xsd:string" use="required"/>
1807 </xsd:complexType>
1808 </xsd:element>
1809 <xsd:element name="count">
1810 <xsd:complexType>
1811 <xsd:simpleContent>
1812 <xsd:extension base="xsd:string">
1813 <xsd:attribute name="count-type" type="xlf:AttrType_count-type" use="optional"/>
1814 <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
1815 <xsd:attribute default="word" name="unit" type="xlf:AttrType_unit" use="optional"/>
1816 </xsd:extension>
1817 </xsd:simpleContent>
1818 </xsd:complexType>
1819 </xsd:element>
1820 <xsd:element name="context-group">
1821 <xsd:complexType>
1822 <xsd:sequence maxOccurs="unbounded">
1823 <xsd:element ref="xlf:context"/>
1824 </xsd:sequence>
1825 <xsd:attribute name="name" type="xsd:string" use="optional"/>
1826 <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
1827 <xsd:attribute name="purpose" type="xlf:AttrType_purpose" use="optional"/>
1828 </xsd:complexType>
1829 </xsd:element>
1830 <xsd:element name="context">
1831 <xsd:complexType>
1832 <xsd:simpleContent>
1833 <xsd:extension base="xsd:string">
1834 <xsd:attribute name="context-type" type="xlf:AttrType_context-type" use="required"/>
1835 <xsd:attribute default="no" name="match-mandatory" type="xlf:AttrType_YesNo" use="optional"/>
1836 <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
1837 </xsd:extension>
1838 </xsd:simpleContent>
1839 </xsd:complexType>
1840 </xsd:element>
1841 <xsd:element name="tool">
1842 <xsd:complexType mixed="true">
1843 <xsd:sequence>
1844 <xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
1845 </xsd:sequence>
1846 <xsd:attribute name="tool-id" type="xsd:string" use="required"/>
1847 <xsd:attribute name="tool-name" type="xsd:string" use="required"/>
1848 <xsd:attribute name="tool-version" type="xsd:string" use="optional"/>
1849 <xsd:attribute name="tool-company" type="xsd:string" use="optional"/>
1850 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1851 </xsd:complexType>
1852 </xsd:element>
1853 <xsd:element name="body">
1854 <xsd:complexType>
1855 <xsd:choice maxOccurs="unbounded" minOccurs="0">
1856 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/>
1857 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
1858 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/>
1859 </xsd:choice>
1860 </xsd:complexType>
1861 </xsd:element>
1862 <xsd:element name="group">
1863 <xsd:complexType>
1864 <xsd:sequence>
1865 <xsd:sequence>
1866 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/>
1867 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:count-group"/>
1868 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/>
1869 <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
1870 </xsd:sequence>
1871 <xsd:choice maxOccurs="unbounded">
1872 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/>
1873 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
1874 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/>
1875 </xsd:choice>
1876 </xsd:sequence>
1877 <xsd:attribute name="id" type="xsd:string" use="optional"/>
1878 <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
1879 <xsd:attribute default="default" ref="xml:space" use="optional"/>
1880 <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
1881 <xsd:attribute name="resname" type="xsd:string" use="optional"/>
1882 <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
1883 <xsd:attribute name="extype" type="xsd:string" use="optional"/>
1884 <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
1885 <xsd:attribute name="menu" type="xsd:string" use="optional"/>
1886 <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
1887 <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
1888 <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
1889 <xsd:attribute name="font" type="xsd:string" use="optional"/>
1890 <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
1891 <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
1892 <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
1893 <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
1894 <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
1895 <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/>
1896 <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/>
1897 <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/>
1898 <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/>
1899 <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/>
1900 <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/>
1901 <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/>
1902 <xsd:attribute name="charclass" type="xsd:string" use="optional"/>
1903 <xsd:attribute default="no" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/>
1904 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1905 </xsd:complexType>
1906 </xsd:element>
1907 <xsd:element name="trans-unit">
1908 <xsd:complexType>
1909 <xsd:sequence>
1910 <xsd:element ref="xlf:source"/>
1911 <xsd:element minOccurs="0" ref="xlf:seg-source"/>
1912 <xsd:element minOccurs="0" ref="xlf:target"/>
1913 <xsd:choice maxOccurs="unbounded" minOccurs="0">
1914 <xsd:element ref="xlf:context-group"/>
1915 <xsd:element ref="xlf:count-group"/>
1916 <xsd:element ref="xlf:note"/>
1917 <xsd:element ref="xlf:alt-trans"/>
1918 </xsd:choice>
1919 <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
1920 </xsd:sequence>
1921 <xsd:attribute name="id" type="xsd:string" use="required"/>
1922 <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/>
1923 <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
1924 <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
1925 <xsd:attribute default="default" ref="xml:space" use="optional"/>
1926 <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
1927 <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
1928 <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
1929 <xsd:attribute name="resname" type="xsd:string" use="optional"/>
1930 <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
1931 <xsd:attribute name="extype" type="xsd:string" use="optional"/>
1932 <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
1933 <xsd:attribute name="menu" type="xsd:string" use="optional"/>
1934 <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
1935 <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
1936 <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
1937 <xsd:attribute name="font" type="xsd:string" use="optional"/>
1938 <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
1939 <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
1940 <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
1941 <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/>
1942 <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/>
1943 <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/>
1944 <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/>
1945 <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/>
1946 <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/>
1947 <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/>
1948 <xsd:attribute name="charclass" type="xsd:string" use="optional"/>
1949 <xsd:attribute default="yes" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/>
1950 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1951 </xsd:complexType>
1952 <xsd:unique name="U_tu_segsrc_mid">
1953 <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/>
1954 <xsd:field xpath="@mid"/>
1955 </xsd:unique>
1956 <xsd:keyref name="KR_tu_segsrc_mid" refer="xlf:U_tu_segsrc_mid">
1957 <xsd:selector xpath="./xlf:target/xlf:mrk|./xlf:alt-trans"/>
1958 <xsd:field xpath="@mid"/>
1959 </xsd:keyref>
1960 </xsd:element>
1961 <xsd:element name="source">
1962 <xsd:complexType mixed="true">
1963 <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
1964 <xsd:attribute ref="xml:lang" use="optional"/>
1965 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1966 </xsd:complexType>
1967 <xsd:unique name="U_source_bpt_rid">
1968 <xsd:selector xpath=".//xlf:bpt"/>
1969 <xsd:field xpath="@rid"/>
1970 </xsd:unique>
1971 <xsd:keyref name="KR_source_ept_rid" refer="xlf:U_source_bpt_rid">
1972 <xsd:selector xpath=".//xlf:ept"/>
1973 <xsd:field xpath="@rid"/>
1974 </xsd:keyref>
1975 <xsd:unique name="U_source_bx_rid">
1976 <xsd:selector xpath=".//xlf:bx"/>
1977 <xsd:field xpath="@rid"/>
1978 </xsd:unique>
1979 <xsd:keyref name="KR_source_ex_rid" refer="xlf:U_source_bx_rid">
1980 <xsd:selector xpath=".//xlf:ex"/>
1981 <xsd:field xpath="@rid"/>
1982 </xsd:keyref>
1983 </xsd:element>
1984 <xsd:element name="seg-source">
1985 <xsd:complexType mixed="true">
1986 <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
1987 <xsd:attribute ref="xml:lang" use="optional"/>
1988 <xsd:anyAttribute namespace="##other" processContents="strict"/>
1989 </xsd:complexType>
1990 <xsd:unique name="U_segsrc_bpt_rid">
1991 <xsd:selector xpath=".//xlf:bpt"/>
1992 <xsd:field xpath="@rid"/>
1993 </xsd:unique>
1994 <xsd:keyref name="KR_segsrc_ept_rid" refer="xlf:U_segsrc_bpt_rid">
1995 <xsd:selector xpath=".//xlf:ept"/>
1996 <xsd:field xpath="@rid"/>
1997 </xsd:keyref>
1998 <xsd:unique name="U_segsrc_bx_rid">
1999 <xsd:selector xpath=".//xlf:bx"/>
2000 <xsd:field xpath="@rid"/>
2001 </xsd:unique>
2002 <xsd:keyref name="KR_segsrc_ex_rid" refer="xlf:U_segsrc_bx_rid">
2003 <xsd:selector xpath=".//xlf:ex"/>
2004 <xsd:field xpath="@rid"/>
2005 </xsd:keyref>
2006 </xsd:element>
2007 <xsd:element name="target">
2008 <xsd:complexType mixed="true">
2009 <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
2010 <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/>
2011 <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/>
2012 <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
2013 <xsd:attribute ref="xml:lang" use="optional"/>
2014 <xsd:attribute name="resname" type="xsd:string" use="optional"/>
2015 <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
2016 <xsd:attribute name="font" type="xsd:string" use="optional"/>
2017 <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
2018 <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
2019 <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
2020 <xsd:attribute default="yes" name="equiv-trans" type="xlf:AttrType_YesNo" use="optional"/>
2021 <xsd:anyAttribute namespace="##other" processContents="strict"/>
2022 </xsd:complexType>
2023 <xsd:unique name="U_target_bpt_rid">
2024 <xsd:selector xpath=".//xlf:bpt"/>
2025 <xsd:field xpath="@rid"/>
2026 </xsd:unique>
2027 <xsd:keyref name="KR_target_ept_rid" refer="xlf:U_target_bpt_rid">
2028 <xsd:selector xpath=".//xlf:ept"/>
2029 <xsd:field xpath="@rid"/>
2030 </xsd:keyref>
2031 <xsd:unique name="U_target_bx_rid">
2032 <xsd:selector xpath=".//xlf:bx"/>
2033 <xsd:field xpath="@rid"/>
2034 </xsd:unique>
2035 <xsd:keyref name="KR_target_ex_rid" refer="xlf:U_target_bx_rid">
2036 <xsd:selector xpath=".//xlf:ex"/>
2037 <xsd:field xpath="@rid"/>
2038 </xsd:keyref>
2039 </xsd:element>
2040 <xsd:element name="alt-trans">
2041 <xsd:complexType>
2042 <xsd:sequence>
2043 <xsd:element minOccurs="0" ref="xlf:source"/>
2044 <xsd:element minOccurs="0" ref="xlf:seg-source"/>
2045 <xsd:element maxOccurs="1" ref="xlf:target"/>
2046 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/>
2047 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/>
2048 <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
2049 </xsd:sequence>
2050 <xsd:attribute name="match-quality" type="xsd:string" use="optional"/>
2051 <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
2052 <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
2053 <xsd:attribute ref="xml:lang" use="optional"/>
2054 <xsd:attribute name="origin" type="xsd:string" use="optional"/>
2055 <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
2056 <xsd:attribute default="default" ref="xml:space" use="optional"/>
2057 <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
2058 <xsd:attribute name="resname" type="xsd:string" use="optional"/>
2059 <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
2060 <xsd:attribute name="extype" type="xsd:string" use="optional"/>
2061 <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
2062 <xsd:attribute name="menu" type="xsd:string" use="optional"/>
2063 <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
2064 <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
2065 <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/>
2066 <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
2067 <xsd:attribute name="font" type="xsd:string" use="optional"/>
2068 <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
2069 <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
2070 <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
2071 <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
2072 <xsd:attribute default="proposal" name="alttranstype" type="xlf:AttrType_alttranstype" use="optional"/>
2073 <xsd:anyAttribute namespace="##other" processContents="strict"/>
2074 </xsd:complexType>
2075 <xsd:unique name="U_at_segsrc_mid">
2076 <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/>
2077 <xsd:field xpath="@mid"/>
2078 </xsd:unique>
2079 <xsd:keyref name="KR_at_segsrc_mid" refer="xlf:U_at_segsrc_mid">
2080 <xsd:selector xpath="./xlf:target/xlf:mrk"/>
2081 <xsd:field xpath="@mid"/>
2082 </xsd:keyref>
2083 </xsd:element>
2084 <xsd:element name="bin-unit">
2085 <xsd:complexType>
2086 <xsd:sequence>
2087 <xsd:element ref="xlf:bin-source"/>
2088 <xsd:element minOccurs="0" ref="xlf:bin-target"/>
2089 <xsd:choice maxOccurs="unbounded" minOccurs="0">
2090 <xsd:element ref="xlf:context-group"/>
2091 <xsd:element ref="xlf:count-group"/>
2092 <xsd:element ref="xlf:note"/>
2093 <xsd:element ref="xlf:trans-unit"/>
2094 </xsd:choice>
2095 <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
2096 </xsd:sequence>
2097 <xsd:attribute name="id" type="xsd:string" use="required"/>
2098 <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="required"/>
2099 <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/>
2100 <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
2101 <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
2102 <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
2103 <xsd:attribute name="resname" type="xsd:string" use="optional"/>
2104 <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
2105 <xsd:anyAttribute namespace="##other" processContents="strict"/>
2106 </xsd:complexType>
2107 </xsd:element>
2108 <xsd:element name="bin-source">
2109 <xsd:complexType>
2110 <xsd:choice>
2111 <xsd:element ref="xlf:internal-file"/>
2112 <xsd:element ref="xlf:external-file"/>
2113 </xsd:choice>
2114 <xsd:anyAttribute namespace="##other" processContents="strict"/>
2115 </xsd:complexType>
2116 </xsd:element>
2117 <xsd:element name="bin-target">
2118 <xsd:complexType>
2119 <xsd:choice>
2120 <xsd:element ref="xlf:internal-file"/>
2121 <xsd:element ref="xlf:external-file"/>
2122 </xsd:choice>
2123 <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="optional"/>
2124 <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/>
2125 <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/>
2126 <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
2127 <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
2128 <xsd:attribute name="resname" type="xsd:string" use="optional"/>
2129 <xsd:anyAttribute namespace="##other" processContents="strict"/>
2130 </xsd:complexType>
2131 </xsd:element>
2132 <!-- Element for inline codes -->
2133 <xsd:element name="g">
2134 <xsd:complexType mixed="true">
2135 <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
2136 <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
2137 <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
2138 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2139 </xsd:complexType>
2140 </xsd:element>
2141 <xsd:element name="x">
2142 <xsd:complexType>
2143 <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/>
2144 <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
2145 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2146 </xsd:complexType>
2147 </xsd:element>
2148 <xsd:element name="bx">
2149 <xsd:complexType>
2150 <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
2151 <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
2152 <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
2153 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2154 </xsd:complexType>
2155 </xsd:element>
2156 <xsd:element name="ex">
2157 <xsd:complexType>
2158 <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
2159 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2160 </xsd:complexType>
2161 </xsd:element>
2162 <xsd:element name="ph">
2163 <xsd:complexType mixed="true">
2164 <xsd:sequence maxOccurs="unbounded" minOccurs="0">
2165 <xsd:element ref="xlf:sub"/>
2166 </xsd:sequence>
2167 <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/>
2168 <xsd:attribute name="crc" type="xsd:string" use="optional"/>
2169 <xsd:attribute name="assoc" type="xlf:AttrType_assoc" use="optional"/>
2170 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2171 </xsd:complexType>
2172 </xsd:element>
2173 <xsd:element name="bpt">
2174 <xsd:complexType mixed="true">
2175 <xsd:sequence maxOccurs="unbounded" minOccurs="0">
2176 <xsd:element ref="xlf:sub"/>
2177 </xsd:sequence>
2178 <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
2179 <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
2180 <xsd:attribute name="crc" type="xsd:string" use="optional"/>
2181 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2182 </xsd:complexType>
2183 </xsd:element>
2184 <xsd:element name="ept">
2185 <xsd:complexType mixed="true">
2186 <xsd:sequence maxOccurs="unbounded" minOccurs="0">
2187 <xsd:element ref="xlf:sub"/>
2188 </xsd:sequence>
2189 <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
2190 <xsd:attribute name="crc" type="xsd:string" use="optional"/>
2191 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2192 </xsd:complexType>
2193 </xsd:element>
2194 <xsd:element name="it">
2195 <xsd:complexType mixed="true">
2196 <xsd:sequence maxOccurs="unbounded" minOccurs="0">
2197 <xsd:element ref="xlf:sub"/>
2198 </xsd:sequence>
2199 <xsd:attribute name="pos" type="xlf:AttrType_Position" use="required"/>
2200 <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
2201 <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
2202 <xsd:attribute name="crc" type="xsd:string" use="optional"/>
2203 <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
2204 </xsd:complexType>
2205 </xsd:element>
2206 <xsd:element name="sub">
2207 <xsd:complexType mixed="true">
2208 <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
2209 <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
2210 <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
2211 <xsd:attribute name="xid" type="xsd:string" use="optional"/>
2212 </xsd:complexType>
2213 </xsd:element>
2214 <xsd:element name="mrk">
2215 <xsd:complexType mixed="true">
2216 <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
2217 <xsd:attribute name="mtype" type="xlf:AttrType_mtype" use="required"/>
2218 <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/>
2219 <xsd:attribute name="comment" type="xsd:string" use="optional"/>
2220 <xsd:anyAttribute namespace="##other" processContents="strict"/>
2221 </xsd:complexType>
2222 </xsd:element>
2223</xsd:schema>
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd b/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd
deleted file mode 100644
index 8fcb991a..00000000
--- a/vendor/symfony/translation/Symfony/Component/Translation/Loader/schema/dic/xliff-core/xml.xsd
+++ /dev/null
@@ -1,309 +0,0 @@
1<?xml version='1.0'?>
2<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
3<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
4 xmlns:xs="http://www.w3.org/2001/XMLSchema"
5 xmlns ="http://www.w3.org/1999/xhtml"
6 xml:lang="en">
7
8 <xs:annotation>
9 <xs:documentation>
10 <div>
11 <h1>About the XML namespace</h1>
12
13 <div class="bodytext">
14 <p>
15
16 This schema document describes the XML namespace, in a form
17 suitable for import by other schema documents.
18 </p>
19 <p>
20 See <a href="http://www.w3.org/XML/1998/namespace.html">
21 http://www.w3.org/XML/1998/namespace.html</a> and
22 <a href="http://www.w3.org/TR/REC-xml">
23 http://www.w3.org/TR/REC-xml</a> for information
24 about this namespace.
25 </p>
26
27 <p>
28 Note that local names in this namespace are intended to be
29 defined only by the World Wide Web Consortium or its subgroups.
30 The names currently defined in this namespace are listed below.
31 They should not be used with conflicting semantics by any Working
32 Group, specification, or document instance.
33 </p>
34 <p>
35 See further below in this document for more information about <a
36 href="#usage">how to refer to this schema document from your own
37 XSD schema documents</a> and about <a href="#nsversioning">the
38 namespace-versioning policy governing this schema document</a>.
39 </p>
40 </div>
41 </div>
42
43 </xs:documentation>
44 </xs:annotation>
45
46 <xs:attribute name="lang">
47 <xs:annotation>
48 <xs:documentation>
49 <div>
50
51 <h3>lang (as an attribute name)</h3>
52 <p>
53
54 denotes an attribute whose value
55 is a language code for the natural language of the content of
56 any element; its value is inherited. This name is reserved
57 by virtue of its definition in the XML specification.</p>
58
59 </div>
60 <div>
61 <h4>Notes</h4>
62 <p>
63 Attempting to install the relevant ISO 2- and 3-letter
64 codes as the enumerated possible values is probably never
65 going to be a realistic possibility.
66 </p>
67 <p>
68
69 See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
70 http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
71 and the IANA language subtag registry at
72 <a href="http://www.iana.org/assignments/language-subtag-registry">
73 http://www.iana.org/assignments/language-subtag-registry</a>
74 for further information.
75 </p>
76 <p>
77
78 The union allows for the 'un-declaration' of xml:lang with
79 the empty string.
80 </p>
81 </div>
82 </xs:documentation>
83 </xs:annotation>
84 <xs:simpleType>
85 <xs:union memberTypes="xs:language">
86 <xs:simpleType>
87 <xs:restriction base="xs:string">
88 <xs:enumeration value=""/>
89
90 </xs:restriction>
91 </xs:simpleType>
92 </xs:union>
93 </xs:simpleType>
94 </xs:attribute>
95
96 <xs:attribute name="space">
97 <xs:annotation>
98 <xs:documentation>
99
100 <div>
101
102 <h3>space (as an attribute name)</h3>
103 <p>
104 denotes an attribute whose
105 value is a keyword indicating what whitespace processing
106 discipline is intended for the content of the element; its
107 value is inherited. This name is reserved by virtue of its
108 definition in the XML specification.</p>
109
110 </div>
111 </xs:documentation>
112 </xs:annotation>
113 <xs:simpleType>
114
115 <xs:restriction base="xs:NCName">
116 <xs:enumeration value="default"/>
117 <xs:enumeration value="preserve"/>
118 </xs:restriction>
119 </xs:simpleType>
120 </xs:attribute>
121
122 <xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
123 <xs:documentation>
124
125 <div>
126
127 <h3>base (as an attribute name)</h3>
128 <p>
129 denotes an attribute whose value
130 provides a URI to be used as the base for interpreting any
131 relative URIs in the scope of the element on which it
132 appears; its value is inherited. This name is reserved
133 by virtue of its definition in the XML Base specification.</p>
134
135 <p>
136 See <a
137 href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
138 for information about this attribute.
139 </p>
140
141 </div>
142 </xs:documentation>
143 </xs:annotation>
144 </xs:attribute>
145
146 <xs:attribute name="id" type="xs:ID">
147 <xs:annotation>
148 <xs:documentation>
149 <div>
150
151 <h3>id (as an attribute name)</h3>
152 <p>
153
154 denotes an attribute whose value
155 should be interpreted as if declared to be of type ID.
156 This name is reserved by virtue of its definition in the
157 xml:id specification.</p>
158
159 <p>
160 See <a
161 href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
162 for information about this attribute.
163 </p>
164 </div>
165 </xs:documentation>
166 </xs:annotation>
167
168 </xs:attribute>
169
170 <xs:attributeGroup name="specialAttrs">
171 <xs:attribute ref="xml:base"/>
172 <xs:attribute ref="xml:lang"/>
173 <xs:attribute ref="xml:space"/>
174 <xs:attribute ref="xml:id"/>
175 </xs:attributeGroup>
176
177 <xs:annotation>
178
179 <xs:documentation>
180 <div>
181
182 <h3>Father (in any context at all)</h3>
183
184 <div class="bodytext">
185 <p>
186 denotes Jon Bosak, the chair of
187 the original XML Working Group. This name is reserved by
188 the following decision of the W3C XML Plenary and
189 XML Coordination groups:
190 </p>
191 <blockquote>
192 <p>
193
194 In appreciation for his vision, leadership and
195 dedication the W3C XML Plenary on this 10th day of
196 February, 2000, reserves for Jon Bosak in perpetuity
197 the XML name "xml:Father".
198 </p>
199 </blockquote>
200 </div>
201 </div>
202 </xs:documentation>
203 </xs:annotation>
204
205 <xs:annotation>
206 <xs:documentation>
207
208 <div xml:id="usage" id="usage">
209 <h2><a name="usage">About this schema document</a></h2>
210
211 <div class="bodytext">
212 <p>
213 This schema defines attributes and an attribute group suitable
214 for use by schemas wishing to allow <code>xml:base</code>,
215 <code>xml:lang</code>, <code>xml:space</code> or
216 <code>xml:id</code> attributes on elements they define.
217 </p>
218
219 <p>
220 To enable this, such a schema must import this schema for
221 the XML namespace, e.g. as follows:
222 </p>
223 <pre>
224 &lt;schema.. .>
225 .. .
226 &lt;import namespace="http://www.w3.org/XML/1998/namespace"
227 schemaLocation="http://www.w3.org/2001/xml.xsd"/>
228 </pre>
229 <p>
230 or
231 </p>
232 <pre>
233
234 &lt;import namespace="http://www.w3.org/XML/1998/namespace"
235 schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
236 </pre>
237 <p>
238 Subsequently, qualified reference to any of the attributes or the
239 group defined below will have the desired effect, e.g.
240 </p>
241 <pre>
242 &lt;type.. .>
243 .. .
244 &lt;attributeGroup ref="xml:specialAttrs"/>
245 </pre>
246 <p>
247 will define a type which will schema-validate an instance element
248 with any of those attributes.
249 </p>
250
251 </div>
252 </div>
253 </xs:documentation>
254 </xs:annotation>
255
256 <xs:annotation>
257 <xs:documentation>
258 <div id="nsversioning" xml:id="nsversioning">
259 <h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
260
261 <div class="bodytext">
262 <p>
263 In keeping with the XML Schema WG's standard versioning
264 policy, this schema document will persist at
265 <a href="http://www.w3.org/2009/01/xml.xsd">
266 http://www.w3.org/2009/01/xml.xsd</a>.
267 </p>
268 <p>
269 At the date of issue it can also be found at
270 <a href="http://www.w3.org/2001/xml.xsd">
271 http://www.w3.org/2001/xml.xsd</a>.
272 </p>
273
274 <p>
275 The schema document at that URI may however change in the future,
276 in order to remain compatible with the latest version of XML
277 Schema itself, or with the XML namespace itself. In other words,
278 if the XML Schema or XML namespaces change, the version of this
279 document at <a href="http://www.w3.org/2001/xml.xsd">
280 http://www.w3.org/2001/xml.xsd
281 </a>
282 will change accordingly; the version at
283 <a href="http://www.w3.org/2009/01/xml.xsd">
284 http://www.w3.org/2009/01/xml.xsd
285 </a>
286 will not change.
287 </p>
288 <p>
289
290 Previous dated (and unchanging) versions of this schema
291 document are at:
292 </p>
293 <ul>
294 <li><a href="http://www.w3.org/2009/01/xml.xsd">
295 http://www.w3.org/2009/01/xml.xsd</a></li>
296 <li><a href="http://www.w3.org/2007/08/xml.xsd">
297 http://www.w3.org/2007/08/xml.xsd</a></li>
298 <li><a href="http://www.w3.org/2004/10/xml.xsd">
299
300 http://www.w3.org/2004/10/xml.xsd</a></li>
301 <li><a href="http://www.w3.org/2001/03/xml.xsd">
302 http://www.w3.org/2001/03/xml.xsd</a></li>
303 </ul>
304 </div>
305 </div>
306 </xs:documentation>
307 </xs:annotation>
308
309</xs:schema>