I have a problem with the below templates. The first template
*ideally* displays a bunch of input fields, based on the table's
structure as defined by $invTable.
The second template *ideally* creates a single form control (there are
several besides 'varchar'/'float')
My problem is that when the top template is "Records/Record" I'm
getting infinite recursion loop. When I use match "Records" all is
fine. I suspect its because of a template mismatch.
<xsl:template match="Records/Record">
<xsl:apply-templates select="$invTable[COLUMN_NAME='beginDate']">
<xsl:with-param name="value" select="//beginDate" />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="Record[DATA_TYPE='varchar' or DATA_TYPE='float']">
<appropriateInputBox />
</xsl:template>
Variable $invTable uses select="document('xml.xml')/Records/Record" on
the following XML.
xml.xml
<Records>
<Record>
<COLUMN_NAME>beginDate</COLUMN_NAME>
<DATA_TYPE>varchar</DATA_TYPE>
</Record>
</Records>
On 5/7/07, Abel Braaksma <abel(_dot_)online(_at_)xs4all(_dot_)nl> wrote:
Steve wrote:
> I want a template to match the root node of either default.xml or
> record.xml
>
> Right now it only succesfully matches record.xml
>
> default.xml
>
> <root>
> <stuff />
> </root>
>
> record.xml
>
> <Records>
> <Record />
> </Records>
>
> Current xsl:
>
> <xsl:template match="root | Records">
> hey, hey. We are, in fact, the monkeys.
> </xsl:template>
I suppose you are missing something like:
<xsl:apply-templates select="document('record.xml')/*" />
the match itself in your code is correct for either. Can you send
something more of your code? In addition, look through your stylesheet
for something like match="/Records" or something like
match="Records[(_at_)id]" which both may have a higher precedence which can
be a reason for not matching 'Records' in the first place.
Another way to try your code is (carefully) replacing your
apply-templates with copy-of to see if you really select something in
apply-templates, or that you have some error in the namespace prefix,
the absence of one, or anything else that can be a cause of
non-selection (missing CamelCase?).
Cheers,
-- Abel
--~------------------------------------------------------------------
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>
--~--