RE: [xsl] copying empty svg nodes (no child nodes)

Subject: RE: [xsl] copying empty svg nodes (no child nodes)
From: Pieter Reint Siegers Kort <pieter.siegers@xxxxxxxxxxx>
Date: Mon, 17 May 2004 13:03:32 -0500
Take a look at this example, it may help answering your questions:

<?xml version='1.0' ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:j="http://ns.real.com/tools/job.2.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
version="1.0">

	<xsl:output method="xml" indent="yes" encoding="Windows-1252" />

	<xsl:param name="strSourceFileNamePath" />
	<xsl:param name="strDestinationFileNamePath" />

	<xsl:template match="node()|@*">
		<xsl:copy>
			<xsl:apply-templates select="node()|@*"/>
		</xsl:copy>
	</xsl:template>

	<xsl:template match="/j:job/j:inputs/j:input/j:filename" >
		<filename type="string"><xsl:value-of
select="$strSourceFileNamePath" /></filename>
	</xsl:template>

	<xsl:template
match="/j:job/j:parOutputs/j:output/j:destinations/j:destination/j:filename"
>
		<filename type="string"><xsl:value-of
select="$strDestinationFileNamePath" /></filename>
	</xsl:template>

</xsl:stylesheet>


<prs/>

-----Original Message-----
From: ah49@xxxxxxxxxx [mailto:ah49@xxxxxxxxxx] 
Sent: Monday, May 17, 2004 12:52 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] copying empty svg nodes (no child nodes)

Hey guys this is my 1st post... Havent done XSL templating for a while now,
got too rusty, so need some help...

I want to be able to copy this document... I have an XSL stylesheet that
just sets the output to indent (i add Nodes unformatted to this in a program
i wrote and would like to format it). But my XSL skills have been lacking. 

1. first of all, i just need to declare the default namespace in the XSL to
be the SVG namespace? so i can refer to svg nodes like this 'child::rect'
instead of 'child::svg:rect'
The default namespace in original document is the svg namespace, not sure if
that makes a difference.

2.i want to be able to copy the 'empty' rect nodes that look like this <rect
x="0" y="0" width="50" height="50"/> without it copying it to look like a
<rect x="0" y="0" width="50" height="50"></rect> 

my stylesheet just does look for all and copy. and it doesnt do anything
fancy. thanx guys if u can help...
<xsl:output method="html" indent="yes"/>


  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>  

for this document http://www.pages.drexel.edu/~ah49/mySchedule.svg

Current Thread