xsl-list
[Top] [All Lists]

RE: Creating namespace nodes

2005-06-07 06:53:33
Yes, thank you.
tomi

-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk] 
Sent: Tuesday, June 07, 2005 3:40 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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
________________________________________________________________________

--~------------------------------------------------------------------
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>
--~--



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.

--~------------------------------------------------------------------
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>