Auch.. ;-)

How about passing parameters to xdm:eval?

let $ex = <exception/>
return
xdmp:eval('declare variable $ex as external; $ex', (xs:QName("ex"), $ex))

Kind regards,
Geert

> -----Original Message-----
> From: general-boun...@developer.marklogic.com 
> [mailto:general-boun...@developer.marklogic.com] On Behalf Of 
> Wyatt VanderStucken
> Sent: woensdag 3 maart 2010 20:17
> To: General Mark Logic Developer Discussion
> Cc: Geert Josten
> Subject: Re: [MarkLogic Dev General] Escaping text?
> 
> Hi Geert,
> 
> Thanks, again...  Unfortunately xdmp:value is not available 
> in 3.2-4...  We're upgrading in June, and I'm excited to 
> learn about the xdmp:value function, but can't use it today...
> 
> Regards,
> Wyatt
> 
> On 3/3/2010 2:07 PM, Geert Josten wrote: 
> 
>       Hi Wyatt,
>        
>       I don't recommend using replace like that. And since I 
> guess you will have little control on how the exceptions are 
> formatted, I recommend letting go of xdmp:quote and 
> xdmp:unquote all together and using xdmp:value instead of 
> xdmp:eval. Using xdmp:value you can refer to variables from 
> the context. You could also pass them explicitly to 
> xdmp:value, but then you would have to define them in the 
> subquery as external variables, which is rather awkward..
>        
>       Kind regards,
>       Geert
> 
> 
> ________________________________
> 
>               From: general-boun...@developer.marklogic.com 
> [mailto:general-boun...@developer.marklogic.com] On Behalf Of 
> Wyatt VanderStucken
>               Sent: woensdag 3 maart 2010 19:56
>               To: general@developer.marklogic.com
>               Subject: Re: [MarkLogic Dev General] Escaping text?
>               
>               
>               Hi Geert,
>               
>               Thanks for responding...  Yes, this is really 
> part of a much larger XQuery, this snippit just illustrates 
> where I'm stuck.  The value of $ex originates from a 
> web-service call, which we use to create a which we then feed 
> into xdmp:eval() - something like this...
>               
>               let $status := <status><exception 
> message="xxxx"/></status>,
>                   $error :=
>                       <errorConditions>
>                           <errorCondition message="Missing 
> key(s). Please supply key(s) for this item and save or 
> validate again.">
>                               <condition 
> xpath="string(@message)='java.lang.Exception: integer_key 
> (null) is not an integer'" 
> <mailto:string...@message%29=%27java.lang.exception:integer_ke
> y%28null%29isnotaninteger%27> />
>                               <condition 
> xpath="string(@message)='cvc-complex-type.4: Attribute 
> ''value'' must appear on element ''integer_key''.'" 
> <mailto:string...@message%29=%27cvc-complex-type.4:Attribute%2
> 7%27value%27%27mustappearonelement%27%27integer_key%27%27.%27> />
>                           </errorCondition>
>                           <errorCondition message="Missing 
> key(s). Please supply key(s) for this item and save or 
> validate again.">
>                               <condition 
> xpath="string(@message)='cvc-complex-type.4: Attribute 
> ''value'' must appear on element ''integer_key''.'" 
> <mailto:string...@message%29=%27cvc-complex-type.4:Attribute%2
> 7%27value%27%27mustappearonelement%27%27integer_key%27%27.%27> />
>                           </errorCondition>
>                       </errorConditions>,
>                   $quotedStatus as xs:string := 
> replace(xdmp:quote($status), "'", "''"),
>                   $matchedExceptions as element()* :=
>                       for $errorCondition as element() in 
> $errorConditions/errorCondition
>                       let $conditions as element()* := 
> $errorCondition/condition,
>                           $combinedXpath as xs:string :=
>                               concat("xdmp:unquote('", 
> $quotedStatus, "')", "/status/exception[",
>                                   string-join(
>                                       for $condition as 
> element() in $conditions
>                                       return 
> string($condition/@xpath),
>                                       " and "
>                                   ),
>                               "]")
>                       return xdmp:eval($combinedXpath)
>               return doSomeThingWithData($quotedStatus, 
> $matchedExceptions)
>               
>               
>               
>               On 3/3/2010 1:39 PM, Geert Josten wrote: 
> 
>                       Hi Wyatt,
>                       
>                       Do you have to use xdmp:unquote for a 
> particular reason? Otherwise you could do something like this:
>                       
>                       <exception message="one of 
> &apos;{{&quot;http://www.w3.org/1998/Math/MathML&quot;:semanti
> cs}}&apos; is expected."/>
>                       
>                       Kind regards,
>                       Geert
>                       
>                         
> 
>                                   
> 
>                       drs. G.P.H. (Geert) Josten
>                       Consultant
>                       
>                       
>                       Daidalos BV
>                       Hoekeindsehof 1-4
>                       2665 JZ Bleiswijk
>                       
>                       T +31 (0)10 850 1200
>                       F +31 (0)10 850 1199
>                       
>                       mailto:geert.jos...@daidalos.nl
>                       http://www.daidalos.nl/
>                       
>                       KvK 27164984
>                       
>                       P Please consider the environment 
> before printing this mail.
>                       De informatie - verzonden in of met dit 
> e-mailbericht - is afkomstig van Daidalos BV en is 
> uitsluitend bestemd voor de geadresseerde. Indien u dit 
> bericht onbedoeld hebt ontvangen, verzoeken wij u het te 
> verwijderen. Aan dit bericht kunnen geen rechten worden ontleend.
>                       
>                         
> 
>                               From: 
> general-boun...@developer.marklogic.com
>                               
> [mailto:general-boun...@developer.marklogic.com] On Behalf Of
>                               Wyatt VanderStucken
>                               Sent: woensdag 3 maart 2010 19:32
>                               To: General Mark Logic 
> Developer Discussion
>                               Subject: [MarkLogic Dev 
> General] Escaping text?
>                               
>                               I've been banging my head 
> trying to figure this out - any
>                               ideas would be much appreciated....
>                               
>                               let $ex as xs:string := 
> '<exception message="One of
>                               
> ''{&quot;http://www.w3.org/1998/Math/MathML&quot;:semantics}''
>                                is expected."/>'
>                               return xdmp:unquote($ex)
>                               
>                               Always gives error "SystemID: 
> XDMP-DOCSTARTTAGCHAR:
>                               xdmp:unquote("<exception 
> message=&quot;One of
>                               
> '{&quot;http://www.w3.org/1998/M...";) -- Unexpected character
>                               "/" in start tag at  line 1"
>                               
>                               I've tried a variety fn:replace 
> calls, but haven't yet found
>                               the magic...
>                               
>                               Thanks,
>                               Wyatt
>                               
>                               
>                                   
> 
>                       _______________________________________________
>                       General mailing list
>                       General@developer.marklogic.com
>                       http://xqzone.com/mailman/listinfo/general
>                         
> 
> 
>       
>       
>       _______________________________________________
>       General mailing list
>       General@developer.marklogic.com
>       http://xqzone.com/mailman/listinfo/general
>         
> 
> 
> _______________________________________________
General mailing list
General@developer.marklogic.com
http://xqzone.com/mailman/listinfo/general

Reply via email to