Re: Recommendation for xml:lang expressions

Hello,

I think that the document's xml:lang attribute was never meant to filter 
out prompts whose language does not match the document language. The 
interpreter should play all the prompts, applying language specific voice 
and normalization/phonetic transcription rules to each of the prompts 
according to the language they specify.

When it comes to the VXML doc authoring style – we also mostly prefer 
static VXML documents that work with dynamically delivered data through the 
<data> tag or from the CCXML document. Unfortunately, VXML 2.0/2.1 is 
pretty inflexible in this respect.

    Pavel


*Pavel Cenek*
CEO  OptimSys logo
cenek@optimsys.com <mailto:cenek@optimsys.com>
Tel: +420 511 205 391
Fax: +420 541 143 066
http://www.optimsys.com <http://www.optimsys.com/>
 OptimSys, s.r.o.
JIC | Innovation park
U Vodárny 2
61600 Brno
Czech Republic


On 29.5.2014 1:13, Ales Dolecek (Europe) wrote:
>
> Hello,
>
>   this can be elegantly solved on the web application server. Once you 
> know the language you submit it to WAS and it shall render further 
> VoiceXML documents with proper language in the <vxml> element. You can 
> have multiple prompts in the document for different languages and only 
> change the root vxml element. Taking your example the server shall output
>
> For Spanish:
>
> <vxml … *xml:lang="es"*>
>
> …
>
>        <prompt xml:lang="es">
>
>               <s><value expr="'$' + thisAmount"/></s>
>
>        </prompt>
>
>        <prompt xml:lang="en">
>
>               <s><value expr="'$' + thisAmount"/></s>
>
>        </prompt>
>
> …
>
> </vxml>
>
> Or for English:
>
> <vxml … *xml:lang="en"*>
>
> …
>
>        <prompt xml:lang="es">
>
>               <s><value expr="'$' + thisAmount"/></s>
>
>        </prompt>
>
>        <prompt xml:lang="en">
>
>               <s><value expr="'$' + thisAmount"/></s>
>
>        </prompt>
>
> …
>
> </vxml>
>
> The interpreter will play only prompts that match language of the document.
>
> Generally: Writing voice application with only static VoiceXML documents 
> is usually not feasible. Maybe fixed menu. But the real-world 
> applications in 99% require dynymic generation of VoiceXML – starting 
> from template documents and filling just little pieces (like above) 
> ending with servers that generate VoiceXML on-fly form dynamic models 
> edited by GUIs.
>
> Ales
>
>
> Aleš Doleček
> Senior Consultant
> Dimension Data Czech Republic
> Tel: +420 255 770 737
> Mob: +420 737 269 737
> Fax: +420 255 770 120
> Email: ales.dolecek@dimensiondata.com
>
> Na Hrebenech II 1718/10, Praha 4, Czech republic, 140 00, Czech Republic
>
> Dimension Data is an NTT Group company. For further information about 
> Dimension Data, please go to www.dimensiondata.com 
> <http://www.dimensiondata.com>
> Follow us on Social Media Blog <http://blog.dimensiondata.com> Facebook 
> <http://www.facebook.com/pages/Dimension-Data-Europe/208242309194429> 
> LinkedIn <http://www.linkedin.com/company/dimension-data> Twitter 
> <http://twitter.com/DimensionData>
>
> P Before printing this email please think about the environment
>
>
> <http://www.dimensiondata.com/global/solutions/ucc/index.html>
>
> Default Banner
>
> *From:*David Wright [mailto:David.Wright@OntarioSystems.com]
> *Sent:* Wednesday, May 21, 2014 8:45 PM
> *To:* www-voice@w3.org
> *Subject:* Recommendation for xml:lang expressions
>
> In a VXML script, I prompt the caller for language and get a result from 
> a <field>.  I need a way to programmatically express to all additional 
> <audio> tags in my application that the language selected by my caller 
> (let’s say ‘es’) is to be used for TTS.  The <s xml:lang=’es’> works if I 
> wanted to hand-code this stuff and have <if> blocks all over the place to 
> see what language to play the audio in, but I’m too lazy to do this much 
> work.  I would really like to have a new attribute in the <s>, <p> and 
> <voice> tags that lets me pass an ecmascript expression that is evaluated 
> and placed into the xml:lang property before sending it over to the SSML 
> engine.
>
> As it is right now, in order to read a dollar amount in either Spanish or 
> English, depending on what the caller chose, I have to do this:
>
> <if cond="callerXmlLang == 'es'">
>
>        <prompt>
>
>               <s xml:lang="es">
>
> <value expr="'$' + thisAmount"/>
>
>               </s>
>
>        </prompt>
>
> </if>
>
> <if cond="callerXmlLang == 'en'">
>
>        <prompt>
>
>               <s xml:lang="en">
>
> <value expr="'$' + thisAmount"/>
>
>               </s>
>
>        </prompt>
>
> </if>
>
> I also considered using javascript to change the xml:lang attribute on 
> the <vxml> tag, but this would be painful to have to set within every 
> <form> that is called via <subdialog>, since the application context is 
> fresh everytime you use <subdialog>.
>

Received on Monday, 2 June 2014 07:52:27 UTC