xsl-list
[Top] [All Lists]

RE: badly need xsl help

2003-10-13 09:46:57
  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>
              &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



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



<Prev in Thread] Current Thread [Next in Thread>