RE: [xsl] <xsl:template match="*"/>

Subject: RE: [xsl] <xsl:template match="*"/>
From: "Holk, David A" <david_a_holk@xxxxxxxxxxxxxxxxx>
Date: Thu, 17 Jul 2003 12:30:26 -0400
This is what I am trying to remove(unwanted text between tags) These come
from the protocol, stability-condition, and column-title elements in the
input xml:

<fo:table-body>
    2001/0003
    
    25C / 60% RH UPRIGHT
    New Column 1New Column 2New Column 3<fo:table-row>

As well as similar stuff you'll see if you run the transformation.

Thanks for your help.


Here's the stylesheet:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:fo="http://www.w3.org/1999/XSL/Format"; version="1.0">
	<xsl:variable name="page-header-height"
select="concat(count(/report/header/header-row)*4,'mm')"/>
	<xsl:template match="report">
		<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
			<fo:layout-master-set>
				<fo:simple-page-master master-name="page"
page-height="21cm" page-width="29.7cm" margin-top="10mm"
margin-bottom="10mm" margin-left="20mm" margin-right="10mm">
					<fo:region-body margin-top="30mm"
margin-bottom="10mm" margin-left="0mm" margin-right="0mm"/>
					<fo:region-before extent="30mm"/>
					<fo:region-after extent="10mm"/>
				</fo:simple-page-master>
				<fo:simple-page-master
master-name="footnotes-page" page-height="21cm" page-width="29.7cm"
margin-top="10mm" margin-bottom="10mm" margin-left="20mm"
margin-right="10mm">
					<fo:region-body
margin-top="{$page-header-height}" margin-bottom="10mm" margin-left="0mm"
margin-right="0mm"/>
					<fo:region-before
extent="{$page-header-height}"/>
					<fo:region-after extent="10mm"/>
				</fo:simple-page-master>
			</fo:layout-master-set>
			<fo:page-sequence master-reference="page">
				<fo:static-content
flow-name="xsl-region-before">
					<fo:table>
						<fo:table-column
column-width="35mm"/>
						<fo:table-column
column-width="55mm"/>
						<fo:table-column
column-width="35mm"/>
						<fo:table-column
column-width="55mm"/>
						<fo:table-column
column-width="35mm"/>
						<fo:table-column
column-width="55mm"/>
						<fo:table-body>
							<xsl:apply-templates
mode="page-header"/>
						</fo:table-body>
					</fo:table>
				</fo:static-content>
				<fo:flow flow-name="xsl-region-body">
					<fo:table>
						<fo:table-column
column-width="73mm"/>
						<fo:table-column
column-width="15mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-column
column-width="24mm"/>
						<fo:table-body>
	
<xsl:apply-templates/>
						</fo:table-body>
					</fo:table>
				</fo:flow>
			</fo:page-sequence>
			<fo:page-sequence master-reference="footnotes-page">
				<fo:static-content
flow-name="xsl-region-before">
				</fo:static-content>
				<fo:flow flow-name="xsl-region-body">
					<xsl:apply-templates
mode="footnotes"/>"
				</fo:flow>
			</fo:page-sequence>
		</fo:root>
	</xsl:template>
	<xsl:template match="body" mode="column-header">
		<xsl:apply-templates mode="column-header"/>
	</xsl:template>
	<xsl:template match="/report/body/column-titles"
mode="column-header">
		<fo:table-row>
			<xsl:apply-templates mode="column-header"/>
		</fo:table-row>
	</xsl:template>
	<xsl:template match="/report/body/column-titles/title"
mode="column-header">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="7pt" font-weight="bold">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="body">
		<xsl:apply-templates/>
	</xsl:template>
	<xsl:template match="body-row">
		<fo:table-row>
			<xsl:choose>
				<xsl:when test="./@pagebreak='true'">
					<xsl:attribute
name="break-before">page</xsl:attribute>
					<xsl:apply-templates
mode="table-header"/>
				</xsl:when>
				<xsl:when test="./@first-row='true'">
					<xsl:apply-templates
mode="table-header"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:apply-templates/>
				</xsl:otherwise>
			</xsl:choose>
		</fo:table-row>
	</xsl:template>
	<xsl:template match="method">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="7pt">
				<xsl:value-of select="."/>
				<fo:inline font-size="5"
vertical-align="super">
					<xsl:value-of
select="../method-footnote"/>
				</fo:inline>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="method-version">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="7pt">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="attribute">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="7pt">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="specification">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="7pt">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="timepoint">
		<xsl:apply-templates/>
	</xsl:template>
	<xsl:template match="result-value">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="7pt">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="method" mode="table-header">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="8pt" font-weight="bold">
				<xsl:value-of select="."/>
				<fo:inline font-size="5"
vertical-align="super">
					<xsl:value-of
select="../method-footnote"/>
				</fo:inline>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="method-version" mode="table-header">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="8pt" font-weight="bold">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="attribute" mode="table-header">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="8pt" font-weight="bold">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="specification" mode="table-header">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="8pt" font-weight="bold">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="timepoint" mode="table-header">
		<xsl:apply-templates mode="table-header"/>
	</xsl:template>
	<xsl:template match="result-value" mode="table-header">
		<fo:table-cell border-width="0.5mm">
			<fo:block font-size="8pt" font-weight="bold">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="header-row" mode="page-header">
		<fo:table-row>
			<xsl:apply-templates mode="page-header"/>
		</fo:table-row>
	</xsl:template>
	<xsl:template match="header-column" mode="page-header">
		<xsl:apply-templates mode="page-header"/>
	</xsl:template>
	<xsl:template match="header-name" mode="page-header">
		<fo:table-cell border-width="0.5mm" text-align="right">
			<fo:block font-size="7pt">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="header-value" mode="page-header">
		<fo:table-cell border-width="0.5mm" text-align="left">
			<fo:block font-size="7pt">
				<xsl:value-of select="."/>
			</fo:block>
		</fo:table-cell>
	</xsl:template>
	<xsl:template match="footnote" mode="footnotes">
		<fo:block font-size="7pt">
			<fo:inline font-size="5" vertical-align="super">
				<xsl:value-of select="./footnote-number"/>
			</fo:inline>
			<xsl:value-of select="./note"/>
		</fo:block>
	</xsl:template>
	<xsl:template mode="table-header" match="/report/protocol"/>
	<xsl:template match="*"/>
	<xsl:template mode="column-header" match="*"/>
	<xsl:template mode="table-header" match="*"/>
</xsl:stylesheet>

Here's some example XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<report>
	<protocol>
    2001/0003
    </protocol>
	<stability-condition>
    25C / 60% RH UPRIGHT
    </stability-condition>
	<header>
		<column-title>
			<title>New Column 1</title>
		</column-title>
		<column-title>
			<title>New Column 2</title>
		</column-title>
		<column-title>
			<title>New Column 3</title>
		</column-title>
		<header-row>
			<header-column>
				<header-name>Stability Lot:</header-name>
				<header-value>whatever</header-value>
			</header-column>
		</header-row>
		<header-row>
			<header-column>
				<header-name>:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Batch Number - Tertiary
Lot:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Container Description -
Primary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Desiccant Supplier -
Primary:</header-name>
				<header-value/>
			</header-column>
		</header-row>
		<header-row>
			<header-column>
				<header-name>:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Batch Size - Primary
Lot:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Container Description -
Secondary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Desiccant Supplier -
Secondary:</header-name>
				<header-value/>
			</header-column>
		</header-row>
		<header-row>
			<header-column>
				<header-name>:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Batch Size - Secondary
Lot:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Container Supplier -
Primary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>FID Number - Primary
Lot:</header-name>
				<header-value/>
			</header-column>
		</header-row>
		<header-row>
			<header-column>
				<header-name>:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Blister Backing -
Primary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Container Supplier -
Secondary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Fill Volume -
Primary:</header-name>
				<header-value/>
			</header-column>
		</header-row>
		<header-row>
			<header-column>
				<header-name>:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Blister Backing Supplier -
Primary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Container Volume -
Primary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Manufacture Date - Primary
Lot:</header-name>
				<header-value/>
			</header-column>
		</header-row>
		<header-row>
			<header-column>
				<header-name>:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Blister Material -
Primary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Container Volume -
Secondary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Manufacture Date - Secondary
Lot:</header-name>
				<header-value/>
			</header-column>
		</header-row>
		<header-row>
			<header-column>
				<header-name>:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Manufacture Site - Secondary
Lot:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Desiccant Description -
Primary:</header-name>
				<header-value/>
			</header-column>
			<header-column>
				<header-name>Manufacture Date - Tertiary
Lot:</header-name>
				<header-value/>
			</header-column>
		</header-row>
	</header>
	<body>
		<column-titles>
			<title>Test Method</title>
			<title>Procedure</title>
			<title>Attribute</title>
			<title>Specification</title>
			<title>1 MONTH</title>
			<title>2 MONTH</title>
			<title>3 MONTHS</title>
			<title>4 MONTHS</title>
			<title>6 MONTHS</title>
		</column-titles>
		<body-row pagebreak="false" first-row="true">
			<method>Test Method</method>
			<method-footnote/>
			<method-version>Procedure</method-version>
			<attribute>Attribute</attribute>
			<specification>Specification</specification>
			<timepoint tp="null">
				<result-value>1 MONTH</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="null">
				<result-value>2 MONTH</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="null">
				<result-value>3 MONTHS</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="null">
				<result-value>4 MONTHS</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="null">
				<result-value>6 MONTHS</result-value>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>APPEARANCE OF SOMETHING POWDER</method>
			<method-footnote/>
			<method-version>A 28.7</method-version>
			<attribute>Appearance</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>Pass</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value>Pass</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>APPEARANCE OF BLAH BLAH</method>
			<method-footnote/>
			<method-version>A 28.7</method-version>
			<attribute>Test Date</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>20Feb2002</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value>20-Feb-20002</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>SOMETHING OR OTHER</method>
			<method-footnote/>
			<method-version>M 9.3</method-version>
			<attribute>Individual &amp;lt;/= 1.5%</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>1.00</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>LAH DEE DAH</method>
			<method-footnote/>
			<method-version>M 9.3</method-version>
			<attribute>Mean HMWP &amp;lt;/= 1.5%</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>1.00</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>OK RIGHT UH HUH</method>
			<method-footnote/>
			<method-version>M 9.3</method-version>
			<attribute>Test Date</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>20Feb2002</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>IDENTIFICATION AND CONTENT</method>
			<method-footnote/>
			<method-version>I 4.78</method-version>
			<attribute>As Is Individuals</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>600</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value>600</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>IDENTIFICATION AND CONTENT OF
SOMETHING</method>
			<method-footnote/>
			<method-version>I 4.78</method-version>
			<attribute>Mean Doo Dah Content</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>605</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value>600</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>IDENTIFICATION AND CONTENT OF
SOMETHING</method>
			<method-footnote/>
			<method-version>I 4.78</method-version>
			<attribute>Mean As Is</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>600</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value>595</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
		<body-row pagebreak="false">
			<method>IDENTIFICATION AND CONTENT OF
SOMETHING</method>
			<method-footnote/>
			<method-version>I 4.78</method-version>
			<attribute>TEST DATE</attribute>
			<specification/>
			<timepoint tp="1 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="2 MONTH">
				<result-value/>
				<footnote-number/>
			</timepoint>
			<timepoint tp="3 MONTHS">
				<result-value>20Feb2002</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="4 MONTHS">
				<result-value>20-Feb-2002</result-value>
				<footnote-number/>
			</timepoint>
			<timepoint tp="6 MONTHS">
				<result-value/>
				<footnote-number/>
			</timepoint>
		</body-row>
	</body>
</report>



LEGAL NOTICE
Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this E-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents of this E-mail or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread