This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: MSXML Script Enable, syntax for child of chil of parent of parent that has same name and has some attribute


Hi Chris:
Thanks for your reply.  
1) Yes, I am running in MSXSML 3.0 in replacement
mode.  The reason is that I am using xsl:import and
xsl:include and if I don't use replacement mode, the
page somehow will not show up.   Is that the reason
that the browser is complaining about 
"function not in user namespace"?  Or in replacement
mode I cannot have scripts?  
   I am using the script to help me perform additional
transformation that the XSL transform template cannot
handle.  For example, it will be nice if I can keep an
array which saves the earlier processd elements, and
output them later when I encounter some other xml
elements.  
   MSXSML 4.0 has come out already and in it
replacement is got rid off.  When I installed it, the
the xsl:scripts that has import/include does not show
up.  What is the general approach here?

2) <xsl:when test="../../meta/a[@isSquare='Y']">...
    What if I do not know the name meta and a?  I just
know it is a child and child of "../.." that has the
same name as the context/current node and has
[@isSquare='Y']?

Thanks for you help again.  
  






<xsl:when test="../../meta/a[@isSquare='Y']">...
> 
--- Chris Bayes <chris@bayes.co.uk> wrote:
> Nathan,
> Works fine here.
> 
> <?xml version="1.0" ?>
> <?xml-stylesheet type="text/xsl"
> href="stylesheet01.xsl" ?>
> <test>
>  <te>this is a test</te>
> </test>
> 
> With your stylesheet
> 
> <?xml version='1.0'?>
> <xsl:stylesheet version="1.0"
>      
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>       xmlns:msxsl="urn:schemas-microsoft-com:xslt"
>       xmlns:user="http://mycompany.com/mynamespace";>
> 
> <msxsl:script language="JScript"
> implements-prefix="user">
>    function xml(nodelist) {
>       return nodelist.nextNode().xml;
>    }
> </msxsl:script>
> 
> <xsl:template match="/">
>    <xsl:value-of select="user:xml(.)"/>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> Gives
> 
> <?xml version="1.0" encoding="UTF-16"?>&lt;?xml
> version="1.0"?&gt;
> &lt;?xml-stylesheet type="text/xsl"
> href="stylesheet01.xsl" ?&gt;
> &lt;test&gt;
>  &lt;te&gt;this is a test&lt;/te&gt;
> &lt;/test&gt;
> 
> As expected thought why you would want to do that...
> Are you in replace mode?
> 
> <xsl:when test="../../meta/a[@isSquare='Y']">...
> 
> Ciao Chris
> 
> XML/XSL Portal
> http://www.bayes.co.uk/xml
> 
> 
> > -----Original Message-----
> > From: owner-xsl-list@lists.mulberrytech.com 
> > [mailto:owner-xsl-list@lists.mulberrytech.com] On
> Behalf Of 
> > Nathan Zhou
> > Sent: 27 August 2001 17:40
> > To: XSL-List@lists.mulberrytech.com
> > Subject: [xsl] MSXML Script Enable, syntax for
> child of chil 
> > of parent of parent that has same name and has
> some attribute
> > 
> > 
> > Hi:
> > 1)  I am trying to translate the xml data to html
> in a
> > table format.  The xml data format is something
> like
> > <cell rpos="1" cpos="1"></cell>
> > <cell rpos="1" cpos="2"></cell>
> > <cell rpos="2" cpos="1"></cell>
> > <cell rpos="2" cpos="2"></cell>
> > 
> > and would like the final html format to render the
> > html to appear correctly.  
> > 
> > I am trying to use the MXSML:SCRIPT tag and use my
> own
> > user space, as in the example posted by microsoft.
> > 
> > <?xml version='1.0'?>
> > <xsl:stylesheet version="1.0"
> >      
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> >       xmlns:msxsl="urn:schemas-microsoft-com:xslt"
> >      
> xmlns:user="http://mycompany.com/mynamespace";>
> > 
> > <msxsl:script language="JScript"
> > implements-prefix="user">
> >    function xml(nodelist) {
> >       return nodelist.nextNode().xml;
> >    }
> > </msxsl:script>
> > 
> > <xsl:template match="/">
> >    <xsl:value-of select="user:xml(.)"/>
> > </xsl:template>
> > 
> > </xsl:stylesheet>
> > 
> > but the browser is complaining that user namespace
> > doesnot have the function.  Can anyone help?
> > 2) What is the syntax to refer to the child of
> child
> > of parent of parent of the current node that has
> the
> > same name as the current node but has a certain
> > attribute?
> > 
> > for example:
> > <sec>
> > <meta>
> > <a isSquare='Y'>
> > <b>
> > <c>
> > </meta>
> > 
> > <data>
> > <a>
> > <b>
> > <c>
> > </data>
> > <sec>
> > Let's the current node is <a> in <data>, how do I
> > write my (xsl:when> expression based on <a> in
> > <meta>'s attribute equal to something?  
> > 
> > thanks in advance.
> > 
> > 
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Make international calls for as low as $.04/minute
> with 
> > Yahoo! Messenger http://phonecard.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!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]