xsl-list
[Top] [All Lists]

RE: [xsl] XSL omit part of a text inside TAG

2008-03-09 20:24:09
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[(_at_)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(_dot_)mukul(_at_)gmail(_dot_)com] 
Sent: Friday, March 07, 2008 7:15 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] 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(_at_)nag(_dot_)co(_dot_)uk> 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[(_at_)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

--~------------------------------------------------------------------
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>
--~--


--~------------------------------------------------------------------
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>
--~--