xsl-list
[Top] [All Lists]

Re: Wildcards in namespaces ?

2004-07-01 01:45:16
You can use the local-name [1] function to ignore the namespace:
  UML:targetElement changes to
  *[local-name()='targetElement']

Alternativelly if you have only a couple of possible namespaces you can declare them all and use or constructs to cover all the cases:
  UML:targetElement changes to
  *[self::UML1:targetElement or self::UML2:targetElement]
where UML1 and UML2 are mapped to the corresponding namespaces.

[1] http://www.w3.org/TR/xpath#function-local-name

Hope that helps,
George
-----------------------------------------------
George Cristian Bina
<oXygen/> XML Editor & XSLT Editor/Debugger
http://www.oxygenxml.com

Mick Baggen wrote:
Hello,

I would appreciate some help with the following problem:

I'm writing a XSLT stylesheet for processing of UML XMI files. Alas,
depending on the UML tool, the elements in the XMI file are placed in a
different namespace. E.g. Poseidon (www.gentleware.com) uses the
namespace-URI xmlns:UML = "org.omg.xmi.namespace.UML", and Rational Rose
uses xmlns:UML = "href://org.omg/UML/1.3". However, all of them generate a
prefix UML: for their XMI elements.

Now my problem is: how can I define a namespace in my XSLT stylesheet so
that I can process all XMI files with the SAME stylesheet ? I came across a
remark on the XSLT FAQ suggesting that it is possible to use wildcards in
the namespace, eg <xsl:stylesheet xmlns:UML="*UML*">. And indeed, it seems
that Xalan 2.6.0 recognizes this notation. However, libxslt 1.1.6
(xmlsoft.org) does not.

I tried to look it up in the XSLT and XML Namespace specifications, but I
couldn't find whether this is valid. Could someone help me out on this one ?
If it is NOT valid XSLT, is there another way to achieve the same result ?

Regards,

Mick Baggen
Principal Consultant
Technolution B.V.
E-mail:          mick(_dot_)baggen(_at_)technolution(_dot_)nl


--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--


<Prev in Thread] Current Thread [Next in Thread>