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: [email protected]
> [mailto:[email protected]] 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: [email protected]
> [mailto:[email protected]] On Behalf Of
> Wyatt VanderStucken
> Sent: woensdag 3 maart 2010 19:56
> To: [email protected]
> 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
> '{{"http://www.w3.org/1998/Math/MathML":semanti
> cs}}' 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:[email protected]
> 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:
> [email protected]
>
> [mailto:[email protected]] 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
>
> ''{"http://www.w3.org/1998/Math/MathML":semantics}''
> is expected."/>'
> return xdmp:unquote($ex)
>
> Always gives error "SystemID:
> XDMP-DOCSTARTTAGCHAR:
> xdmp:unquote("<exception
> message="One of
>
> '{"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
> [email protected]
> http://xqzone.com/mailman/listinfo/general
>
>
>
>
>
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general
>
>
>
> _______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general