|
Subject: Re: Can I use Axes from Attribute Context Node? From: "S.Ramaswamy" <srswamy@xxxxxxxxxxxxxxxxxxxx> Date: Thu, 02 Dec 1999 07:45:47 +0530 |
> Your code is broadly correct. The only thing wrong with it is that
> <browseList> is not, in your example, an ancestor of the relevant attribute
> node. Also I think it would be clearer if you wrote
> ancestor::something/browseList/MxColumn/text().
Yes there is a root element MxDOM which I missed in this post. I have it in my
program however.
> You haven't said what product you are using, as the failure is a ClassCast
> it looks to me like a bug in the product.
I am using LotusXSL 0.18.5. Subsequently, I wrote an intermediate XSL that
converted all the attributes of the node to elements. That is
Old XML
=======
<browseList>
<MxColumn>SUBCODE</MxCOlumn>
<MxColumn>SUBDESC</MxColumn>
</browseList>
...............
...............
<bookhouse>
<SUBJECT>
<row SUBCODE="ANM" SUBDESC="Animal Science" CREATEDATE="1999-10-10"
CREATEBY"BABY" />
<row SUBCODE="COM" SUBDESC="Computer Science" CREATEDATE="1998-12-10"
CREATEBY"XYZ" />
<row SUBCODE="BIO" SUBDESC="Biology" CREATEDATE="1999-01-05" CREATEBY"ABC"
/>
<row SUBCODE="GEO" SUBDESC="Geography" CREATEDATE="1999-08-13"
CREATEBY"BABY" />
</SUBJECT>
</bookhouse>
New XML
=======
<browseList>
<MxColumn>SUBCODE</MxCOlumn>
<MxColumn>SUBDESC</MxColumn>
</browseList>
...............
...............
<bookhouse>
<SUBJECT>
<row>
<SUBCODE>ANM</SUBCODE>
<SUBDESC>Animal Science</SUBDESC>
<CREATEDATE>1999-10-10</CREATEDATE>
<CREATEBY>BABY</CREATEBY>
</row>
<row>
<SUBCODE>COM</SUBCODE>
<SUBDESC>Computer Science</SUBDESC>
<CREATEDATE>1998-12-10</CREATEDATE>
<CREATEBY></CREATEBY>
</row>
.... other rows .....
</SUBJECT>
</bookhouse>
With the new XML, Now I am able to select
bookhouse/SUBJECT/row/SUBCODE and
bookhouse/SUBJECT/row/SUBDESC
because these occur under
/bookhouse/MxColumn
using
<xsl:for-each select="/bookhouse/SUBJECT/row">
<xsl:for-each select="*">
<!-- @* gives error and This works -->
<xsl:variable name="columnName"
select="ancestor::MxDOM/browseList/MxColumn/." />
<xsl:if test='name()=$columnName'>
<xsl:value-of select=current() />
</xsl:if>
</xsl:for-each>
</xsl:for-each>
Is it a bug (that you cannot traverse the Document using Axes when the context
node is an attribute). then in LotusXSL 0.18.5?
> > -----Original Message-----
> > From: S.Ramaswamy [mailto:srswamy@xxxxxxxxxxxxxxxxxxxx]
> > Sent: 25 November 1999 23:34
> > To: xsl-list@xxxxxxxxxxxxxxxx
> > Subject: Can I use Axes from Attribute Context Node?
> >
> >
> > I have the following XML fragment
> >
> > <browseList>
> > <MxColumn>SUBCODE</MxCOlumn>
> > <MxColumn>SUBDESC</MxColumn>
> > </browseList>
> > ...............
> > ...............
> > <bookhouse>
> > <SUBJECT>
> > <row SUBCODE="ANM" SUBDESC="Animal Science"
> > CREATEDATE="1999-10-10"
> > CREATEBY"BABY" />
> > <row SUBCODE="COM" SUBDESC="Computer Science"
> > CREATEDATE="1998-12-10" CREATEBY"XYZ" />
> > <row SUBCODE="BIO" SUBDESC="Biology" CREATEDATE="1999-01-05"
> > CREATEBY"ABC" />
> > <row SUBCODE="GEO" SUBDESC="Geography" CREATEDATE="1999-08-13"
> > CREATEBY"BABY" />
> > </SUBJECT>
> > </bookhouse>
> >
> > What I am trying to do
> > ======================
> >
> > I want to select
> >
> > bookhouse/SUBJECT/row/@SUBCODE and
> > bookhouse/SUBJECT/row/@SUBDESC
> >
> > because these occur under
> > /bookhouse/MxColumn
> >
> > Code I have tried
> > =================
> >
> > <xsl:for-each select="/bookhouse/SUBJECT/row">
> > <xsl:for-each select="@*">
> > <xsl:variable name="columnName"
> > select="ancestor::browseList/MxColumn/." />
> > <!-- error on the above line ClassCast cannot cast to
> > TXAttribute -->
> >
> > <xsl:if test='name()=$columnName'>
> > <xsl:value-of select=current() />
> > </xsl:if>
> > </xsl:for-each>
> > </xsl:for-each>
> >
> >
> > Am I not allowed to use ancestor from within Attribute
> > Context Node? If
> > not what will be the solution for the above?
> ==--==--==--==--==--==--==--==--==--==--==--==--==--==
S.Ramaswamy
Matrix Infotech Syndicate
D-7, Poorti, Vikaspuri, New Delhi, 110018, India
PHONE: +91-11-5610050, FAX: +91-11-5535103
WEB http://MatrixInfotech.HyperMart.Net
==--==--==--==--==--==--==--==--==--==--==--==--==--==
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| How to unsubscribe (and other usefu, XSL-List Owner | Thread | Transforming XML to HTML, Low Kiam Imm |
| Re: Oracle parser, Steve Muench | Date | Transforming XML to HTML, Low Kiam Imm |
| Month |