Subject: RE: [xsl] badly need xsl help From: "Michael Kay" <mhk@xxxxxxxxx> Date: Mon, 13 Oct 2003 17:46:57 +0100 |
> I posted this question here before. > But I didn't get any > luck. So trying again with some more details. You clearly aren't listening to advice. Didn't you see the post a few days ago about choosing good subject lines that will make people look at your questions? > > In this example, I can't access individual nodes inside > RegOptions in the script. I assume you mean RegionalOptions. > > 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"); You need to do something to tell MSXML what namespace the Currency element is in (it is in urn:schemas.abcd-com:Static). I don't remember enough the Microsoft APIs to tell you how to do this, though. Michael Kay > // 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> > <DecimalSymbol>.</DecimalSymbol> > <GroupingSymbol>,</GroupingSymbol> > <DigitGrouping>2</DigitGrouping> > </_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 > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] badly need xsl help, Murali Korrapati | Thread | RE: [xsl] badly need xsl help, Bruce Rojas-Rennke |
RE: [xsl] generation of flat file f, Michael Kay | Date | RE: [xsl] String comparison, Michael Kay |
Month |