xsl-list
[Top] [All Lists]

Re: [xsl] Re: building a hierarchical classification out of flat and redundant data

2006-07-26 06:09:47
Yes, I found this problem too.

<unit>
  <subunit/>
     <sub-subunit/>
     <sub-sub-subunit/>
</unit>

<unit>
  <subunit>
        <sub-subunit>
               <sub-sub-subunit>
                </sub-sub-subunit>
         </sub-subunit>
  </subunit>
</unit>

I ask myself if it would be possible to be generalized?
Creating a general template that resolve this common problem.
Always is the same, but with different name of tags.


2006/7/26, mnews-xsl(_at_)gmx(_dot_)de <mnews-xsl(_at_)gmx(_dot_)de>:
Albert Juhé wrote:
> Hi,
>
> I have been trying the code, and the output it's not that I expect
> because the tag subunit is identet inside another subunit like this
>
> </sub-sub-subunit>
> </sub-subunit>
> </sub-subunit>
> </sub-subunit>
> </sub-subunit>
> </sub-subunit>
> </sub-subunit>


> And there are duplicated nodes

The duplicated nodes could be explained if there are indeed
sub-sub-subunit's that are not preceeded by a matching sub-subunit,

I wrote templates that could point to this case, by showing the
preceeding subunit's:

<xsl:template match="/modul">
       <xsl:apply-templates/>
</xsl:template>

<xsl:template match="unit">
       <xsl:apply-templates select="subunit"/>
</xsl:template>

<xsl:template match="subunit">
       <xsl:apply-templates select="following-sibling::node()[1]" mode="check"/>
</xsl:template>

<xsl:template match="node()" mode="check">
       <xsl:apply-templates select="following-sibling::node()[1]" mode="check"/>
</xsl:template>

<xsl:template match="sub-sub-subunit" mode="check">
       <xsl:text>&#10;inproper nesting starting with node &#10;</xsl:text>
       <xsl:copy-of select="preceding-sibling::subunit[1]"/>
       <xsl:copy-of select="current()"/>
</xsl:template>

<xsl:template match="sub-subunit" mode="check"/>


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--