[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: New camt54 namespace
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 12 May 2026 00:46:40 -0000
On 12/05/2026 02:16, Leo Studer leo.studer@xxxxxxxxxxx wrote:
> The bank renewed the camt54 standard.
>
> In my stylesheet I need to access old and new bank statements
> simultaneously.
>
> With
> xpath-default-namespace="urn:iso:std:iso:20022:tech:xsd:camt.054.001.04b
> my stylesheet works for the old documents and
>
withxpath-default-namespace="urn:iso:std:iso:20022:tech:xsd:camt.054.001.08b
> it does the job for the new documents.
>
> Is there an easy way to use either of the two namespaces so that my
> stylesheet works for old and new bank statements?
>
>

Saxon allows you to set the -ns: command line option to e.g.
-ns:urn:iso:std:iso:20022:tech:xsd:camt.054.001.04 see
https://www.saxonica.com/html/documentation12/using-xsl/commandline/index.html


-ns:(uri|##any|##html5)



Defines the handling of unprefixed element names appearing as name tests
in path expressions and match patterns in the stylesheet.

  * Supplying a URI sets the default namespace for elements and types
    (effectively a default value for|xpath-default-namespace|b note that
    an explicit value for this attribute takes precedence).

API wise Saxon allows you to use
https://www.saxonica.com/html/documentation12/javadoc/net/sf/saxon/s9api/Xslt
Compiler.html#setDefaultElementNamespace(java.lang.String)
and
https://www.saxonica.com/html/documentation12/javadoc/net/sf/saxon/s9api/Xslt
Compiler.html#setUnprefixedElementMatchingPolicy(net.sf.saxon.s9api.Unprefixe
dElementMatchingPolicy)

Thus if you use Saxon and run with the command line or with the s9api
you can match onB  e.g.

 B  xsl:template match="foo"

and with the -ns or the setDefaultElementNamespace you can choose the
wanted namespace.

Current Thread
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member