[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] badly need xsl help


Subject: RE: [xsl] badly need xsl help
From: Rod Humphris - FLPTN <rod.humphris@xxxxxxxxxxxxxx>
Date: Mon, 13 Oct 2003 17:14:59 +0100

So..

Can you say what it is that you actually need. The chances are extremely
high that there is a simple(ish) xlst solution to your problem without
resorting to script if you can distil it down to its essence. If you can ask
the right question then someone here can answer it, even if it's not me. :-)

Rod 

-----Original Message-----
From: Murali Korrapati [mailto:murali.korrapati@xxxxxxxxx]
Sent: 13 October 2003 17:02
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] badly need xsl help


Hi Rod,
	Thanks for your help. 
    But that is not what I exactly want. I store all my formatting info for
my currency and date type data in global variables and call a bunch of
functions later in the transformation to actually format the data. So
	<_Item>
		&lt;DecimalSymbol&gt;.&lt;/DecimalSymbol&gt;
		&lt;GroupingSymbol&gt;,&lt;/GroupingSymbol&gt;
		&lt;DigitGrouping&gt;2&lt;/DigitGrouping&gt;
	</_Item>

is just my debugging output I am producing to see what is going on in the
javascript(in the transformation). So somehow, I have to get to each node in
the currency and date to store that for later. By the way, I am using
MSXML4.

thanks,
~Mur


-----Original Message-----
From: Rod Humphris - FLPTN [mailto:rod.humphris@xxxxxxxxxxxxxx]
Sent: Monday, October 13, 2003 11:47 AM
To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
Subject: RE: [xsl] badly need xsl help


Hi Murali

If what you want is:

	<_Item>
		&lt;DecimalSymbol&gt;.&lt;/DecimalSymbol&gt;
		&lt;GroupingSymbol&gt;,&lt;/GroupingSymbol&gt;
		&lt;DigitGrouping&gt;2&lt;/DigitGrouping&gt;
	</_Item>

then why not throw away your JScript and use:

<xsl:template match="stat:Currency">
 <_Item>
  <xsl:apply-templates mode="Currency"/>
 </_Item>
</xsl:template>
	
<xsl:template match="node()" mode="Currency">
  &lt;<xsl:value-of select="name()"/>&gt;<xsl:value-of
select="."/>&lt;/<xsl:value-of select="name()"/&gt;
</xsl:template>

which gives you that.

Cheers

Rod


-----Original Message-----
From: Murali Korrapati [mailto:murali.korrapati@xxxxxxxxx]
Sent: 13 October 2003 15:48
To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] badly need xsl help


Hi,
  I posted this question here before. But I didn't get any luck. So trying
again with some more details.

In this example, I can't access individual  nodes inside RegOptions in the
script.

xml:

<data xmlns="urn:schemas.abcd-com:layers">
	<Rpt_Inven xmlns="urn:schemas.abcd-com:RepInven" />
	<RegionalOptions xmlns="urn:schemas.abcd-com:Static">
		<Currency>
			<DecimalSymbol>.</DecimalSymbol>
			<GroupingSymbol>,</GroupingSymbol>
			<DigitGrouping>2</DigitGrouping>
		</Currency>
		<Locale>1033</Locale>
		<Date>
			<Calendar>
			<TwoDigitYear>79</TwoDigitYear>
			</Calendar>
			<Separator>-</Separator>
			<ShortFormat>3</ShortFormat>
		</Date>
	</RegionalOptions>
</data>


xsl :

<xsl:stylesheet version="1.0" xmlns=""
xmlns:lay="urn:schemas.abcd-com:layers"
xmlns:rep="urn:schemas.abcd-com:RepInven"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:scrdt="urn:schemas.abcd-com:datatypes" 
xmlns:stat="urn:schemas.abcd-com:Static">
	<xsl:output method="xml" encoding="UTF-8"/>
	<xsl:template match="lay:data">
		<_Ctrl>
			<xsl:call-template name="callInit">
				<xsl:with-param name="regOptNode"
select="stat:RegionalOptions"/>
			</xsl:call-template>
  		</_Ctrl>
	</xsl:template>
	 <xsl:template name="callInit">
		<xsl:param name="regOptNode"/>
		<_Item>
			<xsl:value-of select="scrdt:init($regOptNode)"/>
		</_Item>
	</xsl:template>
	<msxsl:script language="JScript" implements-prefix="scrdt"><![CDATA[

function init(RegOpts)
{
	if( !RegOpts.length) return "length 0";
	for( i = 0; i < RegOpts.length; i++ ) {
		xDate.init(RegOpts(i));
		xNumber.init(RegOpts(i));
		var val = RegOpts(i).selectSingleNode("Currency");
//		var val = RegOpts(i).firstChild;
		
		if(val!=null)
			return val.xml;
	}
	return "End";
}
	]]></msxsl:script>

</xsl:stylesheet>

    With this xml and xsl, I am expecting my out some thing like

<_Ctrl xmlns="" xmlns:lay="urn:schemas.abcd-com:layers"
xmlns:rep="urn:schemas.abcd-com:RepInven"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:scrdt="urn:schemas.abcd-com:datatypes" 
xmlns:stat="urn:schemas.abcd-com:Static">
	<_Item>
		&lt;DecimalSymbol&gt;.&lt;/DecimalSymbol&gt;
		&lt;GroupingSymbol&gt;,&lt;/GroupingSymbol&gt;
		&lt;DigitGrouping&gt;2&lt;/DigitGrouping&gt;
	</_Item>
</_Ctrl>

   But it is always producing something like 

   <_Ctrl xmlns="" xmlns:lay="urn:schemas.abcd-com:layers"
xmlns:rep="urn:schemas.abcd-com:RepInven"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:scrdt="urn:schemas.abcd-com:datatypes" 
xmlns:stat="urn:schemas.abcd-com:Static">
	<_Item>
		End
	</_Item>
</_Ctrl>


      I think this b'cos I am not able to get access to the <Currency/> node
in the script function. And whenever I say RegOpts(i).firstChild , I am
getting the result I want. 

Any ideas about. I am very desperate for this.

thanks,

~Mur




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


________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
http://www.messagelabs.com
________________________________________________________________________


________________________________________________________________
Any opinions expressed in this email are those of the individual and not
necessarily the Company. Unless expressly stated to the contrary, this email
is not intended to give rise to a new, or affect an existing, contractual or
other legal relationship.This email and any files transmitted with it,
including replies and forwarded copies which may contain alterations)
subsequently transmitted from the Company, are confidential and solely for
the use of the intended recipient. The unauthorised use, disclosure or
copying of this email, or any other information contained or attached,is
prohibited and could, in certain circumstances, be a criminal offence.

If you have received this email in error please notify the sender as soon as
possible.

This footnote also confirms that this email message has been swept for the
presence of computer viruses.

www.focusdiy.co.uk
_________________________________________________________________

________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
http://www.messagelabs.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


________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
http://www.messagelabs.com
________________________________________________________________________

________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
http://www.messagelabs.com
________________________________________________________________________

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



Current Thread
Keywords