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