RE: [xsl] Interesting issue

Subject: RE: [xsl] Interesting issue
From: Nischal Muthana <nischal_muthana@xxxxxxxxx>
Date: Fri, 22 Nov 2002 09:19:17 -0800 (PST)
Mike,

Are you sure that the
> contents of <lxslt:script> are not actually in a
> CDATA section? 
Thanks for your time. I am sorry that was typo from my
end. I did have the CDATA section. 

> There is a deeper question: what on earth inspired
> you to try and solve this problem this way? It would
>be much easier to do  it in pure XSLT, without any
>Javascript, using the substring() function.

I have tried this too. The xml/xsl I sent are repro of
the real problem. I mean to say the <Customers>/<data>
contains more than 5000 bytes. So to process this big
string I didnt had any other option except using
Javascript. In actual the loop in the Javascript code
I sent executes 200 times.

If you think otherwise about my situation, I would
appreciate your valuable suggestions.

Thanks
Nischal



--- Michael Kay <michael.h.kay@xxxxxxxxxxxx> wrote:
> I find it amazing that this does anything at all.
> Are you sure that the
> contents of <lxslt:script> are not actually in a
> CDATA section? The
> <Customers> element has no end tag, so the
> stylesheet isn't well-formed
> XML as written; and if that were corrected, I would
> find it very
> surprising if Xalan allowed the Javascript syntax
> and the XML syntax to
> cut across each other in this way.
> 
> If you put the script in a CDATA section, of course,
> then the things
> that look like tags just become ordinary character
> data, and you end up
> with a string that looks like unparsed XML - which
> matches the behavior
> you describe as "getting a string instead of a
> node-list". Of course you
> will get unparsed XML if you don't parse it.
> 
> There is a deeper question: what on earth inspired
> you to try and solve
> this problem this way? It would be much easier to do
> it in pure XSLT,
> without any Javascript, using the substring()
> function.
> 
> Michael Kay
> Software AG
> home: Michael.H.Kay@xxxxxxxxxxxx
> work: Michael.Kay@xxxxxxxxxxxxxx  
> 
> > -----Original Message-----
> > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On
> Behalf Of 
> > Nischal Muthana
> > Sent: 22 November 2002 06:26
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] Interesting issue
> > 
> > 
> > Hi All
> > 
> > I am transforming xml to xml using an xsl with
> Xalan
> > XSLT processor. But I am getting the resulting xml
> as
> > string instead of 
> > 
> > nodelist.
> > 
> > test.xsl
> > <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> > xmlns:lxslt="http://xml.apache.org/xslt"; 
> > 
> > xmlns:result="http://www.example.com/results";
> > extension-element-prefixes="result" version="1.0">
> > <xsl:output method="xml"/>
> > 	<lxslt:component prefix="result"
> > functions="GetCopyBookData">
> > 	<lxslt:script lang="javascript">
> > 	function GetData(Data)
> > 	{
> > 		var x1 = 0;
> > 		var x2 = 0;
> > 		var result;
> > 		for(var i = 1;i < 3; i++)
> > 		{
> > 			var s = "<Customers><FirstName>";
> > 			x1 = x2;
> > 			x2 = x1 + 15;
> > 			s = s + Data.substring(x1,x2) + "</FirstName>";
> > 			s = s + "<LastName>";
> > 			x1 = x2;
> > 			x2 = x1 + 1;
> > 			s = s + Data.substring(x1,x2) + "</LastName>";
> > 			s = s + "<StreetNum>";
> > 			x1 = x2;
> > 			x2 = x1 + 1;
> > 			s = s + Data.substring(x1,x2) + "</StreetNum>";
> > 			s = s + "<Street>";
> >  			x1 = x2;
> > 			x2 = x1 + 1;
> > 			s = s + Data.substring(x1,x2) + "</Street>";
> > 			s = s + "<City>";
> > 			x1 = x2;
> > 			x2 = x1 + 1;
> > 			s = s + Data.substring(x1,x2) + "</City>";
> > 			s = s + "<State>";
> > 			x1 = x2;
> > 			x2 = x1 + 1;
> > 			s = s + Data.substring(x1,x2) + "</State>";
> > 			s = s + "<Zip>";
> > 			x1 = x2;
> > 			x2 = x1 + 1;
> > 			s = s + Data.substring(x1,x2) + "</Zip>";
> > 			result = result + s;
> > 		}
> > 		return result;
> > 	}
> > 	</lxslt:script>
> > 	</lxslt:component>
> > 	<xsl:template match="/">
> > 		<xsl:variable name="Data" select="data"/>
> > 		<xsl:value-of select="result:GetData($Data)"/>
> > 	</xsl:template>
> > 		
> > test.xml
> > <Customers> 
> >
>
<data>SudhakarJalli030719751809Bigbenddrmilpitasca95035Rajeevk
> >
>
asarabada032719751788lowerbenddrivesanjoseca94523</data>
> > </Customers>
> > 
> > 
> > Result.xml
> > 
> > <Customers>
> > 	<FirstName>Sudhakar</FirstName>
> > 	<LastName>Jalli</LastName>
> > 	<DOB>03071975</DOB>
> > 	<StreetNum>1809</StreetNum>
> > 	<Street>BigBendDr</Street>
> > 	<City>Milpitas</City>
> > 	<State>CA</State>
> > 	<Zip>95035</Zip>
> > </Customers>
> > 	<FirstName>Rajeev</FirstName>
> > 	<LastName>Kasarabada</LastName>
> > 	<DOB>03271975</DOB>
> > 	<StreetNum>1788</StreetNum>
> > 	<Street>lowerbenddrive</Street>
> > 	<City>sanjose</City>
> > 	<State>CA</State>
> > 	<Zip>94523</Zip>
> > </Customers>		
> > 
> > Thanks for your time
> > Nischal
> > 
> > __________________________________________________
> > Do you Yahoo!?
> > Yahoo! Mail Plus - Powerful. Affordable. Sign up
> now. 
> http://mailplus.yahoo.com
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
> 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus ? Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

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


Current Thread