xsl-list
[Top] [All Lists]

RE: Wildcards in namespaces ?

2004-07-01 04:56:17
XPath 2.0 allows constructs of the form *:local which will match local in
any namespace, but there's no way of matching a set of namespaces.

I would recommend using a first transformation pass to normalize the
namespace URI, to keep this separate from the "real" transformation logic.
This is just a variant on the identity template:

<xsl:template match="one-uri:*">
  <xsl:element name="{local-name}" namespace="two-uri">
    <xsl:copy-of select="@*"/>
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

Michael Kay 

-----Original Message-----
From: Mick Baggen [mailto:mick(_dot_)baggen(_at_)technolution(_dot_)nl] 
Sent: 01 July 2004 08:30
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Wildcards in namespaces ?

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>