Understood. I'll keep an eye on it, but the underlying data is highly
unlikely to change.
Thanks again, Geert.
Eric
Geert Josten wrote:
Yes, using *: is more compact, and most often will result in the same, but it
doesn't mean the same..
;-)
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Eric Palmitesta
Sent: maandag 23 maart 2009 19:29
To: General Mark Logic Developer Discussion
Subject: Re: [MarkLogic Dev General] quick namespace question
Both of those options result in at least twice the number of
lines as just using '*:' inline. If <a> is large, this
becomes unmanageable. I guess I'll stick to '*:' for now.
Thanks,
EP
Geert Josten wrote:
Or alternatively, and with less typing, do the evaluation
outside the element constructor with the default namespace:
let $doc := doc('/blah.xml')
let $mytext := $doc/one/two/text()
return
<a xmlns="http://myns">
<b>{ $text }</b>
</a>
Kind regards,
Geert
Drs. G.P.H. Josten
Consultant
http://www.daidalos.nl/
Daidalos BV
Source of Innovation
Hoekeindsehof 1-4
2665 JZ Bleiswijk
Tel.: +31 (0) 10 850 1200
Fax: +31 (0) 10 850 1199
http://www.daidalos.nl/
KvK 27164984
De informatie - verzonden in of met dit emailbericht - 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 Danny
Sokolsky
Sent: maandag 23 maart 2009 18:51
To: General Mark Logic Developer Discussion
Subject: RE: [MarkLogic Dev General] quick namespace question
You can put your XPath in a function call--that way it
will not have
a parent namespace to inherit. Something like this:
xquery version "1.0-ml";
declare function local:get-xpath($node as node()) as node()* {
$node/one/two/text() };
let $doc := doc('/blah.xml')
return
<a xmlns="http://myns">
<b>{ local:get-xpath($doc) }</b>
</a>
-Danny
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Eric
Palmitesta
Sent: Monday, March 23, 2009 10:38 AM
To: General Mark Logic Developer Discussion
Subject: Re: [MarkLogic Dev General] quick namespace question
Typo, <a xmlns="http://some/namespace"><b/></a> should be <a
xmlns="http://myns"><b/></a>.
EP
Eric Palmitesta wrote:
I feel like I've seen this on the list already, but I
can't seem to
find
the discussion.
The document '/blah.xml' contains no namespaces.
xquery version "1.0-ml";
let $doc := doc('/blah.xml')
return
<a xmlns="http://myns">
<b>{ $doc/one/two/text() }</b>
</a>
This query statement will result in <a
xmlns="http://some/namespace"><b/></a>, because the xpath
is looking
for
one and two in the "http://myns" namespace.
I could (have) declare(d) an empty namespace (pre-ML4, I think),
something like...
declare namespace none = ""
...and do $doc/none:one/none:two/text(). However, I believe since
ML4,
I'd get an "XDMP-UNBPRFX: (err:XPST0081) Prefix none has no
namespace
binding" error.
How can I get at the no-namespace elements of a document,
within an
element with a default namespace? Is $doc/*:one/*:two/text() the
Right
Way (tm)?
Cheers,
Eric
_______________________________________________
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
_______________________________________________
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
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general