LINUX.ORG.RU

Как в XML задать переменные и лист их значений?

 


0

1

Сразу оговорюсь: я не могу ответить на вопрос «о каком именно XML идет речь» (или ему подобный).
Этой разметкой задаются настройки моих панорамных дел. Как под флеш, так и под хтмл5.

Приведу пример 2 кусков кода:

<scene name="scene_scene-01" title="Имя сцены" onstart="" thumburl="panos/scene-01.tiles/thumb.jpg" lat="" lng="" heading="">
...
</scene>
title=«Имя сцены» - отсюда берется название текущей отображаемой панорамы.

onhover="tween(alpha,1.0); showtext(Текст всплывающей подсказки, scene_name_style);"

«Текст всплывающей подсказки» - это и есть выводимый текст;
«scene_name_style» - это имя стиля описывающего правила отображение (шрифты, разметка и т.п.).


Сейчас я решаю задачу по написаю простого многоязычного модульного скина для туров. Выношу в отдельные xml'ки все, что может иметь разные языки текстов.

Хочется сделать что-то вроде такого:

<scene name="scene_scene-01" title="$Имя_01" onstart="" thumburl="panos/scene-01.tiles/thumb.jpg" lat="" lng="" heading="">
...
</scene>
$Имя_01 - это некая переменная. В отдельном файле я хочу держать список этих переменных и их значение (текстовых).

onhover="tween(alpha,1.0); showtext($Текст_01, scene_name_style);"

$Текст_01 - это, аналогично, переменная, задающая текст подсказки.


Это нужно для полного разделения управляющего кода и текстовки. Текущие решение - очень костыльное. Тексты размазаны по коду. И, когда нужно исправить ошибку\опечатку в одном из языков, это превращается в адский ад.


Пробовал мучать коллег (на нашем форуме), но там особо не помогли, лишь посоветовали копнуть тут: http://krpano.com/forum/wbb/index.php?page=Thread&postID=43794&highli...
Там есть некое <item name=«» val=«» /> Но я не понимаю, как это прикрутить ко мне. Без функций и экшенов (а в совете по ссылке именно экшены).


Если в понимании «о каком xml речь» поможет эта ссылка: http://krpano.com/docu/xml/#top, то я рад.

Итак, вопрос:
Подскажите по синтаксису :)


В xml нет никаких переменных. Но ты можешь замуть препроцессор (скрипт на Perl, например), который будет подставлять их по списку в шаблон и генерить xml

annulen ★★★★★
()
Ответ на: комментарий от annulen

Вообще не вариант, и даже не по причине «не осилю».

Все это должно работать и офлайн, тупо в браузере. В зоопарке браузеров.

А как же всякие <![CDATA[ ]]> и Item name?

Должен же быть какой-то механизм выноса имени переменной\значения?

dk-
() автор топика
Ответ на: комментарий от dk-

Должен же быть какой-то механизм выноса имени переменной\значения?

XML - это не язык программирования, поэтому он ничего такого не должен.

Есть сущности &entityname; которые делают текстовую подстановку, но сможешь ли ты добавить свои и будут ли они вобоще подставляться - зависит от того, как этот XML парсится

В зоопарке браузеров.

Этот XML парсится браузером (например, как XHTML, получаемый XSLT-преобразованием из исходного XML) или JS-кодом? Во втором случае можно доработать парсинг, в первом - допилить XSLT.

annulen ★★★★★
()
Ответ на: комментарий от dk-

<![CDATA[ ]]> тупо экранирует строку с произвольными символами внутри

annulen ★★★★★
()

возможно, что во фреймворке, которым ты пользуешься, существует какая-то поддержка переменных при парсинге, но это ты уже сам изучай документацию.

annulen ★★★★★
()
Ответ на: комментарий от annulen

Парсится флешплеером или js плеером. Браузер просто показывает.

Мануал своего софта перерыл вдоль и поперек, но, не нашел.

Вообще странно. Ведь, обычно, все мои проблемы кто-то уже давно сто раз решил.

Но как-то же оно должно делаться.

dk-
() автор топика
Ответ на: комментарий от dk-

Можно сделать преобразование на стороне веб-страницы до попадания XML в конечный плеер, например, грузить шаблон через XMLHttpRequest, подставлять переменные в своем JS-коде и скармилвать плееру через его методы

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.