xsl-list
[Top] [All Lists]

Re: Creating namespace nodes

2005-06-07 06:40:25
<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>
--~--



<Prev in Thread] Current Thread [Next in Thread>