10 {
11 $xml = new \DOMDocument(
'1.0',
'UTF-8');
12 $xml->loadXML(
'<languages
13 xmlns="https://github.com/mlocati/cldr-to-gettext-plural-rules"
14 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
15 xsi:schemaLocation="https://github.com/mlocati/cldr-to-gettext-plural-rules http://mlocati.github.io/cldr-to-gettext-plural-rules/GettextLanguages.xsd"
16 />');
17 $xLanguages =
$xml->firstChild;
18 foreach ($languages as $language) {
19 $xLanguage =
$xml->createElement(
'language');
20 $xLanguage->setAttribute('id', $language->id);
21 $xLanguage->setAttribute('name', $language->name);
22 if (isset($language->supersededBy)) {
23 $xLanguage->setAttribute('supersededBy', $language->supersededBy);
24 }
25 if (isset($language->script)) {
26 $xLanguage->setAttribute('script', $language->script);
27 }
28 if (isset($language->territory)) {
29 $xLanguage->setAttribute('territory', $language->territory);
30 }
31 if (isset($language->baseLanguage)) {
32 $xLanguage->setAttribute('baseLanguage', $language->baseLanguage);
33 }
34 $xLanguage->setAttribute('formula', $language->formula);
35 foreach ($language->categories as $category) {
36 $xCategory =
$xml->createElement(
'category');
37 $xCategory->setAttribute('id', $category->id);
38 $xCategory->setAttribute('examples', $category->examples);
39 $xLanguage->appendChild($xCategory);
40 }
41 $xLanguages->appendChild($xLanguage);
42 }
43 $xml->formatOutput =
true;
44
45 return $xml->saveXML();
46 }