xsl-list
[Top] [All Lists]

Re: Repeating Code

2005-10-09 14:57:41
On 08/10/2005, at 4:17 PM, Ragulf Pickaxe wrote:

It sounds to me like you do not know the mechanics of XSLT.



Well that's probably part of the problem (it's new to me, but I'm learning), but also I don't think I explained it well enough. My xslt file contains :

<xsl:for-each select="/FMPReport/File/descendant::Chunk [(_at_)type='FieldRef']">
                <xsl:call-template name="EXPORTDATA"/>
            </xsl:for-each>


and then later on :

    <xsl:template name="EXPORTDATA">
                <ROW>
                    <xsl:attribute name="MODID">0</xsl:attribute>
                    <xsl:attribute name="RECORDID">0</xsl:attribute>
                    <COL>
                        <DATA>
                            <xsl:value-of select="./@type"/>
                        </DATA>
                    </COL>
                    <COL>
                        <DATA>
                            <xsl:value-of select="./Field/@id"/>
                        </DATA>
                    </COL>
...
                </ROW>
    </xsl:template>

So essentially it's going through each of the FieldRef's in the XML and generating a <ROW> with a whole bunch of <COL> data. The selects that I've got take into account a whole raft of either parent nodes, child nodes and ancestor nodes as well. So any solution has to be flexible in that sense.

What I was thinking it would be neat to do (from my filemaker programming perspective was have some way of having all of the lists of xsl:value-of in one place,

                            <xsl:value-of select="./@type"/>
                            <xsl:value-of select="./Field/@id"/>
...

and then

                    <COL>
                        <DATA>
                            <repeat here>
                        </DATA>
                    </COL>

in one place as well. That way I'm not only reducing the lines of code, but also separating the output XML from the xsl.

Have I made more sense this time. This is using XALAN, so it's all xsl 1.0 too.

Thanks,
Nick

--~------------------------------------------------------------------
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>