- From: Georges Schmitz <georges.schmitz@arcor.de>
- Date: Thu, 13 Oct 2011 09:30:53 +0200
- To: xproc-dev@w3.org
Hi All,
I can't get namespaces working in the XPath expression of the label
attribute.
What I did and also worked:
A) Declaration of namespace for the step:
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
xmlns:ns2="http://www.empic.aero/ns/empic-eap/oas"
version="1.0" name="clean-up-ratings">
B) Using the namespace in match pattern
<p:delete match="ns2:*[@lang and not(@lang='en')]" name="clean-up-lang"/>
C) Using string functions in the XPath expression of the label
attribute, accessing parent and child elements of the current node,...
<p:label-elements match="ns2:rating-entry" attribute="synchro-id"
label="string-join(('eap-145',parent::*:rating-entry/*:code,*:code),'-')" replace="true"
name="init-synchro-id"/>
This already produces the desired result, but you can imagine that I'm
not happy with it. I did it just this way round to check for other
obvious mistakes.
Because the following doesn't work:
<p:label-elements match="ns2:rating-entry" attribute="synchro-id"
label="string-join(('eap-145',parent::ns2:rating-entry/ns2:code,ns2:code),'-')"
replace="true" name="init-synchro-id"/>
Apparently saxon doesn't see the namespace declaration I made under (A),
I get the following error message:
Underlying exception: net.sf.saxon.s9api.SaxonApiException: Prefix
ns2 has not been declared
Any extra declaration of the namespace needed (where and how?) or just a
bug? I'm using calabash 0.9.36 (same problem with 0.9.32).
Thanks for clarification,
Georges
Received on Friday, 14 October 2011 22:11:49 UTC