[xquery-talk] XQuery voice xml dtd use

Michele Cleary clearlymichele at yahoo.com
Sat Apr 11 12:59:23 PDT 2009


I'm trying to get the dtd into my voice xml xquery.  For some reason, it's giving me a syntax error.  Output looked great and syntax was fine before I added the declare option parts.  I ran this in oxygen <oXygen/> XML Editor 10.1, build 2009022712 using the xquery debugger.

My xquery document is genVInfo.xquery:

declare namespace local = "http://lyle.smu.edu/~mcleary/a3";
(: use name to look up group :)
declare function local:getGroup($theName as xs:string?)
as xs:string?
{
    let $group :=
    for $user in doc("domain.xml")//user
    where $user/name = $theName
    return $user//group
return $group
}; 
let $phone := "5854674893"
let $output := 
    for $dom in doc("domain.xml")/users/user,
     $user in doc("users.xml")/users/user[@phone = $phone]
     where $dom/name=$user/name
     return ("Welcome to Group Finder", data($dom/name) , ". We see that you",
     for $fan in $dom/name
     return concat(" like the group: ", local:getGroup(data($fan)) ) )

return 
declare option saxon:output '"doctype-public=-//W3C//DTD VOICEXML 2.0//EN"';
declare option saxon:output '"doctype-system=http://www.w3.org/TR/voicexml21/vxml.dtd"'; 
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml">
<form>
  <block>{
  
   <prompt>
   
     {$output}
 
   
   </prompt>
   }
  </block>
 </form>
</vxml>

My users.xml is:
<?xml version="1.0" encoding="UTF-8"?>
<users>
   <user id="1a" phone="5854674893">
       <name>Mary Lamb</name> 
       <datas>
           <group>Jack Johnson</group>
       </datas>
   </user>
    <user id="2a" phone="5853232105">
        <name>Little Muffit</name> 
        <datas>
           <group>Sarah Brightman</group>
       </datas>
   </user>
    <user id="3a" phone="5857645615">
       <name>Jack Jill</name> 
       <datas>
           <group>UB40</group>
       </datas>
   </user>
</users>

My domain.xml is:
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="1a">
       <name>Mary Lamb</name>
       <datas>
           <group>JackJohnson</group>
           <youtube>http://tinyurl.com/ajoc8r</youtube>
           <mp3>http://www.mp3raid.com/search/mp3/jack_johnson.html</mp3>
           <rssfeeds>http://www.fiercepoet.com/index.php/weblog/2005/05/</rssfeeds>
           <news>http://blogs.thenewstribune.com/ej/2008/03/03/jack_johnson_set_to_rock_the_gorge</news>
       </datas>
   </user>
   <user id="2a">
       <name>Little Muffit</name>
       <datas>
           <group>SarahBrightman</group>
           <youtube>http://tinyurl.com/cdy4cq</youtube>
           <mp3>http://www.mp3raid.com/search/mp3/sarah_brightman.html</mp3>
           <rssfeeds>http://noolmusic.com/search_videos/sarah_brightman</rssfeeds>
           <news>http://artsblog.freedomblogging.com/2008/12/17/sarah-brightman-disses-her-high-f/5144/</news>
       </datas>
   </user>
   <user id="3a">
       <name>Jack Jill</name>
       <datas>
           <group>UB40</group>
           <youtube>http://tinyurl.com/bsxknz</youtube>
           <mp3>http://www.mp3raid.com/search/mp3/ub40.html</mp3>
           <rssfeeds>https://www.freebase.com/view/en/ub40</rssfeeds>
           <news>http://www.pop-music.com/article1277.html</news>
       </datas>
   </user>
</users>

Output looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<vxml xmlns="http://www.w3.org/2001/vxml" version="2.1">
   <form>
      <block>
         <prompt>Welcome to Group Finder Mary Lamb . We see that you  like the group: JackJohnson</prompt>
      </block>
   </form>
</vxml>

My syntax error when I added the declare option is:
F [Saxon-B XQuery 9.1.0.5] XQuery syntax error in #...n declare option saxon:output#:     Unexpected token "declare option" in path expression

Any idea how to fix it?  I need my output to look like this at the top:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vxml
    PUBLIC "-//W3C//DTD VOICEXML 2.0//EN"
    "http://www.w3.org/TR/voicexml21/vxml.dtd">
<vxml version = "2.1" xmlns="http://www.w3.org/2001/vxml">




      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://x-query.com/pipermail/talk/attachments/20090411/db59dd7e/attachment.htm


More information about the talk mailing list