OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Application Design

On Mon, 13 Aug 2001, Frank Richards wrote:

> Well, I've hit one thing I couldn't see how to do in XSLT:
> I had a situation where the RDBMS guys had taken a perfectly good tree and
> turned it into a
> table with an extra column identifying the parent record. In order to
> convert it back, I needed
> a stack to push the parents on to. A list would have worked, but I couldn't
> figure out any way
> to get dynamic temporary storage in XSLT.

Assuming the XML format out is something like:

 <table name="treething">
  <row id="1" column1="foo" column2="bar"/>
  <row id="2" parent_id="1" column1="a" column2="b"/>

Couldn't you just do:

<xsl:template match="row">

 <xsl:variable name="current_id" select="@id"/>

   <column1><xsl:value-of select="@column1"/></column1>
   <column2><xsl:value-of select="@column2"/></column2>


<xsl:template match="/">
   <xsl:apply-templates select="/database/table/row[not @parent_id]"/>

In XSLT, the call stack is your temporary storage.

Now I'm probably going to find out why the above XSLT wouldn't work :-)


    /||    ** Founder and CTO  **  **   http://axkit.com/     **
   //||    **  AxKit.com Ltd   **  ** XML Application Serving **
  // ||    ** http://axkit.org **  ** XSLT, XPathScript, XSP  **
 // \\| // ** mod_perl news and resources: http://take23.org  **
    //  \\