This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: MSXML Script Enable, syntax for child of chil of parent of parent that has same name and has some attribute
- To: xsl-list at lists dot mulberrytech dot com
- Subject: RE: [xsl] MSXML Script Enable, syntax for child of chil of parent of parent that has same name and has some attribute
- From: Nathan Zhou <nazhou_2000 at yahoo dot com>
- Date: Mon, 27 Aug 2001 14:52:11 -0700 (PDT)
- Reply-To: xsl-list at lists dot mulberrytech dot com
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"?><?xml
> version="1.0"?>
> <?xml-stylesheet type="text/xsl"
> href="stylesheet01.xsl" ?>
> <test>
> <te>this is a test</te>
> </test>
>
> 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