[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Namespace Problem


Subject: [xsl] Namespace Problem
From: "Bommineni, Venkateshwar" <vbommineni@xxxxxxxxxxxxxx>
Date: Thu, 7 Oct 2004 15:51:18 -0400

Hi,
I have trouble with following xsl snippet. There are elements at 3 level
and I need to get namespace assigned at 2nd level.

Input XML :
-------------------------------------------------------
<?xml version="1.0"?>
<Test>
 <People>
  <Person>
   <FName>Fname1</FName>
   <LName>Lname1</LName>
  </Person>
  <Person>
   <FName>Fname2</FName>
   <LName>Lname2</LName>
  </Person>
 </People>
</Test>

Input XSL :
-------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Test">
 <Organization>
  <xsl:element name="Members"
namespace="htp://www.foo.com/namespace/v1">
   <xsl:apply-templates select="People" />
  </xsl:element>
 </Organization>
</xsl:template>
<xsl:template match="People">
 <xsl:for-each select="Person">
  <Member>
   <xsl:value-of select="concat(substring(LName,1,1),'.',FName)"/>
  </Member>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>


Output is:
-------------------------------------------------------
<?xml version="1.0" encoding="UTF-16"?>
<Organization>
 <Members xmlns="htp://www.foo.com/namespace/v1">
  <Member xmlns="">L.Fname1</Member>
  <Member xmlns="">L.Fname2</Member>
 </Members>
</Organization>

Desired Output is:
------------------------------------------------------------------------
-----------
<?xml version="1.0" encoding="UTF-16"?>
<Organization>
 <Members xmlns="htp://www.foo.com/namespace/v1">
  <Member>L.Fname1</Member>
  <Member>L.Fname2</Member>
 </Members>
</Organization>

So I dont want to move namespace to top <Organization> or not any empty
namespaces to <Member> elements.

thanks in adavance
Venkat



Current Thread
Keywords