[xsl] matching attribute values with namespaces

Subject: [xsl] matching attribute values with namespaces
From: Stefan Podkowinski <spodxx@xxxxxxxxx>
Date: Tue, 12 Jul 2005 22:46:02 +0200
Hello

I'm currently having a hard time to create a xsl definition for the
following situation:

<document
   xmlns:providerns1="http://somewhere.com/";
   xmlns:providerns2="http://sometimes.com/";>
<entry type="providerns1:header">test</entry>
<entry type="providerns1:paragraph">test</entry>
<entry type="providerns2:paragraph">test</entry>
<entry type="providerns2:footer">test</entry>
</document>

What I basically need to do is to check to which namespace each "type"
attribute value belongs to. Afterwards I'm able to go on to transform
the entry element depending on the type value for the determinated
namespace.

Two problems I'm facing:
1) I do have a list of all ns urls. However, I cannot make any
assumption about the ns prefixes (e.g. provider1:) that are being used
in the document. How can I decide this based on the ns url in my
current document using xslt?

2) If I had the prefix, how can I create different templates that will
match against the content of the type attribute?
<xsl:template match="entry/@type[<does content start with prefix xy>]">

Can anyone help me out? :)

TIA

Current Thread