node = $node; $this->xml = $xml ; } public static function dtd() { return <<xml->getDataItem("lang") || !$this->xml->getDataItem("lang_var")) { return "[no language variables set.]"; } $parse = $this->xml->parseNode($this->node, True, True, True, array("if", "replace", "key", "lang")); $attributes = $parse["attributes_array"]; $lang = $this->xml->getDataItem("lang"); if ($attributes["if"] != "") { if ($attributes["if"] == $lang) { return $parse["content_string"]; } return ""; } $lang_var = $this->xml->getDataItem("lang_var"); if ($attributes["lang"] != "") { $lang = $attributes["lang"]; } if (!isset($lang_var[$attributes["key"]][$lang])) { return "[no translation found for given key.]"; } $val = $lang_var[$attributes["key"]][$lang]; $val = str_replace("%s", $attributes["replace"], $val); return xml::mask_xml($val); } } ?>