Re: [xsl] Creating namespace nodes

Subject: Re: [xsl] Creating namespace nodes
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 7 Jun 2005 14:40:25 +0100
<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
________________________________________________________________________

Current Thread