-----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
_______________________________________________