RE: [xsl] Creating namespace nodes

Subject: RE: [xsl] Creating namespace nodes
From: <tomas.vanek@xxxxxxxxxxxxx>
Date: Tue, 7 Jun 2005 15:53:33 +0200
Yes, thank you.
tomi

-----Original Message-----
From: David Carlisle [mailto:davidc@xxxxxxxxx]
Sent: Tuesday, June 07, 2005 3:40 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Creating namespace nodes

<example>
	<start-here xmlns:bar="www.super.org/bb" type="bar:foo"/>

	<types xmlns:aa="www.super.org/aa" xmlns:bb="www.super.org/bb">
		<type name="aa:foo"/>
		<type name="bb:foo"/>
	</types>
</example>



<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
	<xsl:output method="xml" indent="yes" version="1.0" />

	<xsl:template match="/">
		<xsl:apply-templates select="//start-here"/>
	</xsl:template>

	<xsl:template match="start-here">
  <xsl:variable name="ns"
select="namespace::*[name()=substring-before(current()/@type,':')]"/>
  <xsl:variable name="l" select="substring-after(@type,':')"/>
		<xsl:copy-of
select="//type[substring-after(@name,':')=$l and
   substring-before(@name,':')=name(namespace::*[.=$ns ])]"/>
	</xsl:template>
</xsl:stylesheet>



$ saxon qn.xml qn.xsl
<?xml version="1.0" encoding="utf-8"?>
<type xmlns:aa="www.super.org/aa" xmlns:bb="www.super.org/bb"
name="bb:foo"/>

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. For more information on a proactive anti-virus
service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________



This message is for the designated recipient only and may contain privileged,
proprietary, or otherwise private information.  If you have received it in
error, please notify the sender immediately and delete the original.  Any
other use of the email by you is prohibited.

Current Thread