Я пытаюсь реализовать (переводчик VoiceXML) . Для тех, кто не знаком с VoiceXML, приложение позволяет запускать JS-скрипты в одной из нескольких вложенных областей, которые представлены в виде объектов.
Области являются сеансом, приложением, документом и диалогом в порядке от внешних к внутренним областям.
Теперь, если скрипт запускается в области видимости документа, он может обращаться к переменным и функциям из внешних областей без ограничений, а также ко всем переменным и
определяемые им функции создаются как подобъекты области видимости документа.
Когда область остается, все ее подобъекты удаляются.
Мне удалось создать глобальный объект и заполнить его стандартными функциями JavaScript
Я хочу добиться следующего.
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/vxml
http://www.w3.org/TR/voicexml20/vxml.xsd">
<form>
<script>
var now = new Date(); <!-- this has a dialog scope-->
</script>
<var name="seconds" expr="now.getSeconds()"/> <!-- this has a dialog scope-->
<block>
<var name="now" expr="new Date()"/> <!-- this has an anonymous scope -->
<script>
var current = now.getSeconds(); <!-- "now" in the anonymous scope -->
var approx = dialog.now.getSeconds(); <!-- "now" in the dialog scope -->
</script>
</block>
</form>
</vxml>