[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: XSL omit part of a text inside TAG

Subject: RE: XSL omit part of a text inside TAG
From: "Buddhi D. Mahindarathne" <buddhi@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 10 Mar 2008 08:56:46 +0530
RE:  XSL omit part of a text inside TAG
I modified XSL as follows..

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<xsl:template match="/">
		<xsl:apply-templates select="*"/>
	</xsl:template>
	<xsl:template
match="VisualObject[@xsi:type='CBarCode']/FontFace">
		<xsl:copy>
			<xsl:variable name="fontface" select = '.'/>
			<xsl:call-template name="while">
				<xsl:with-param name="param"
select="$fontface"/>
			</xsl:call-template>
		</xsl:copy>
	</xsl:template>

<xsl:template name="while">
	<xsl:param name="param"/>
	<xsl:choose>
		<xsl:when test="contains($param,'\')">
			<xsl:variable name="newparam"
select="substring-after($param,'\')"/>
			<xsl:call-template name="while">
				<xsl:with-param name="param"
select="$newparam"/>
			</xsl:call-template>
		</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="$param"/>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>
</xsl:stylesheet>

But I am not getting results I expected...

I am only getting following... :(

2.2.14.3Inches000500Laser JobLaser
Jobtruetruetruec8d98990-36d0-4ecc-bae8-c5faee8ea3d9121410050170007005001
00500500011false50000UnknownfalseNoAperturePulsedfalsefalse0false0Middle
Center00falsefalsefalse00000Default0Default100true100100truefalse00false
falsefalseShortYearStringSystem529falseTextBox00falsefalsefalseDayOfWeek
StringSystem507falseTextBox00falsefalsefalseWeekOfYearStringSystem508fal
seTextBox00falsefalsefalseShortMonthStringSystem525falseTextBox00falsefa
lsefalseLongMonthNameStringSystem528falseTextBox00falsefalsefalseLongDay
StringSystem521falseTextBox00falsefalsefalseTenthOfSecondStringSystem506
falseTextBox00falsefalsefalseMinutesStringSystem504falseTextBox00falsefa
lsefalseUnformatCycleTimeStringSystem150falseTextBox00falsefalsefalseLon
gYearStringSystem530falseTextBox00falsefalsefalseHoursStringSystem503fal
seTextBox00falsefalsefalseShortDayNameStringSystem522falseTextBox00false
falsefalseErrorBufferStringSystem100falseTextBox00falsefalsefalseLongMon
thStringSystem526falseTextBox00falsefalsefalseShortMonthNameStringSystem
527falseTextBox00falsefalsefalseLongDayNameStringSystem523falseTextBox00
falsefalsefalseSecondsStringSystem505falseTextBox00falsefalsefalseShortD
ayStringSystem520falseTextBox00falsefalsefalseDayOfYearStringSystem524fa
lseTextBox00falsefalsefalseFormatCycleTimeStringSystem151falseTextBox00f
alsefalsefalsezvar01CmpStringUserfalseTextBox00falsefalsefalsezvar02CmpS
tringUserfalseTextBox00falsefalsefalsezvar03CmpStringUserfalseTextBox00f
alsefalsefalsezvar04CmpStringUserfalseTextBox00falsefalsefalseivar05CmpI
ntegerUserfalseTextBox00falsefalsefalseivar06CmpIntegerUserfalseTextBox0
0falsefalsefalseivar07CmpIntegerUserfalseTextBox00falsefalsefalseivar08C
mpIntegerUserfalseTextBox00falsefalsefalsedvar09CmpDoubleUserfalseTextBo
x00falsefalsefalsedvar10CmpDoubleUserfalseTextBox00falsefalsefalsedvar11
CmpDoubleUserfalseTextBox00falsefalsefalsedvar12CmpDoubleUserfalseTextBo
x00falsefalsefalsecounterCmpIntegerUserfalseTextBox00falsefalseNonefalse
Terminator500Laser
Job.LayerLayertruetruetruecc90fd5d-242f-4a90-a0ed-af3bf46594d11214100601
2000700500100500500011false50000UnknownfalseNoAperturePulsedfalsefalse0f
alse0MiddleCenter00falsefalsefalse00000Default0Default100true100100truef
alse00falsefalseLayer133Laser
Job.Layer.Barcode1Barcode1truetruetrueaed80865-9e23-4693-8e93-5d3afd5110
7512141005017000700500100500500011false50000UnknownfalseNoAperturePulsed
falsefalse0cc90fd5d-242f-4a90-a0ed-af3bf46594d1false0MiddleCenter0-1fals
efalsefalse-2.86951.8904-2.86951.89040Default0Default100false100100truef
alse00falsefalse000.5false2.8144999999999953CODE 39
TEXT0.52.81449999999999530.0130.01300000000000020.00550BCD_3OF9BCD_SUBTY
PE_NONEBCD_CDMOD43BCD_DMSZ_DEFAULTBCD_DMFRMT_DEFAULT000000000000BCD_QRSZ
_DEFAULTBCD_QRFRMT_DEFAULTQREC_LOWQRMSK_00000012.50000000000000000000000
0012.5000000000000000000000000CODE 39 TEXTtrue
<FontFace xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">STDFONT.FNT</FontF
ace>falsefalse0.080.02falseVisualElementtrue133Laser
Job.Layer.Barcode2Barcode2truetruetrue08643fcb-9076-417f-8354-259e6cda31
2012141005017000700500100500500011false50000UnknownfalseNoAperturePulsed
falsefalse0cc90fd5d-242f-4a90-a0ed-af3bf46594d1false0MiddleCenter0-1fals
efalsefalse-3.04251.1342-3.04251.13420Default0Default100false100100truef
alse00falsefalse000.5false2.8144999999999953CODE 39
TEXT0.52.81449999999999530.0130.01300000000000020.00550BCD_3OF9BCD_SUBTY
PE_NONEBCD_CDMOD43BCD_DMSZ_DEFAULTBCD_DMFRMT_DEFAULT000000000000BCD_QRSZ
_DEFAULTBCD_QRFRMT_DEFAULTQREC_LOWQRMSK_00000012.50000000000000000000000
0012.5000000000000000000000000CODE 39 TEXTtrue
<FontFace xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">STORGFNT.FNT</Font
Face>falsefalse0.080.02falseVisualElementtrue133Laser
Job.Layer.Barcode3Barcode3truetruetruee7fbac54-bebd-46d1-addf-813e629b28
aa12141005017000700500100500500011false50000UnknownfalseNoAperturePulsed
falsefalse0cc90fd5d-242f-4a90-a0ed-af3bf46594d1false0MiddleCenter0-1fals
efalsefalse-0.27760.3988-0.27760.39880Default0Default100false100100truef
alse00falsefalse000.5false2.8144999999999953CODE 39
TEXT0.52.81449999999999530.0130.01300000000000020.00550BCD_3OF9BCD_SUBTY
PE_NONEBCD_CDMOD43BCD_DMSZ_DEFAULTBCD_DMFRMT_DEFAULT000000000000BCD_QRSZ
_DEFAULTBCD_QRFRMT_DEFAULTQREC_LOWQRMSK_00000012.50000000000000000000000
0012.5000000000000000000000000CODE 39 TEXTtrue
<FontFace xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Swis721B.FNT</Font
Face>falsefalse0.080.02falseVisualElementtrue133Laser
Job.Layer.Barcode4Barcode4truetruetrue28c20b6f-2b67-4e2d-877a-e6f1040458
4b12141005017000700500100500500011false50000UnknownfalseNoAperturePulsed
falsefalse0cc90fd5d-242f-4a90-a0ed-af3bf46594d1false0MiddleCenter0-1fals
efalsefalse-2.3777-0.9306-2.3777-0.93060Default0Default100false100100tru
efalse00falsefalse000.5false2.8144999999999953CODE 39
TEXT0.52.81449999999999530.0130.01300000000000020.00550BCD_3OF9BCD_SUBTY
PE_NONEBCD_CDMOD43BCD_DMSZ_DEFAULTBCD_DMFRMT_DEFAULT000000000000BCD_QRSZ
_DEFAULTBCD_QRFRMT_DEFAULTQREC_LOWQRMSK_00000012.50000000000000000000000
0012.5000000000000000000000000CODE 39 TEXTtrue
<FontFace xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">SYMATH.FNT</FontFa
ce>falsefalse0.080.02falseVisualElementtrue133Laser
Job.Layer.Barcode5Barcode5truetruetrue2e259a5c-2fd6-4c14-827b-17323ace4d
2b12141005017000700500100500500011false50000UnknownfalseNoAperturePulsed
falsefalse0cc90fd5d-242f-4a90-a0ed-af3bf46594d1false0MiddleCenter0-1fals
efalsefalse-0.9674-2.0617-0.9674-2.06170Default0Default100false100100tru
efalse00falsefalse000.5false2.8144999999999953CODE 39
TEXT0.52.81449999999999530.0130.01300000000000020.00550BCD_3OF9BCD_SUBTY
PE_NONEBCD_CDMOD43BCD_DMSZ_DEFAULTBCD_DMFRMT_DEFAULT000000000000BCD_QRSZ
_DEFAULTBCD_QRFRMT_DEFAULTQREC_LOWQRMSK_00000012.50000000000000000000000
0012.5000000000000000000000000CODE 39 TEXTtrue
<FontFace xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WGOTHIC.FNT</FontF
ace>falsefalse0.080.02falseVisualElementtruetruetrue


- Buddhi -

-----Original Message-----
From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx]
Sent: Friday, March 07, 2008 7:15 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re:  XSL omit part of a text inside TAG

Please see my remarks below ...

On Fri, Mar 7, 2008 at 5:03 PM, David Carlisle <davidc@xxxxxxxxx> wrote:
> <xsl:template match="/">
>  <xsl:apply-templates select="*"/>
> </xsl:template>

I think we can avoid this template. The built in rule for root node
can take care of this.

> <xsl:template match="VisualObject[@xsi:type='CBarCode']/FontFace">
>  <xsl:copy>
>    <xsl:call-template name="while">
>      <xsl:with-param name="foo" select="."/>
>    </xsl:call-template>
>  </xsl:copy>
> </xsl:template>

I think this is better design. By this way, you can reduce the
(cyclomatic) complexity of the code, and make the code easily
testable.


--
Regards,
Mukul Gandhi

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.