On 18.01.2010 02:10, G. Ken Holman wrote:
You say "it didn't work" but you don't say how or why you think so. I
suspect you have something else wrong in your stylesheet.
Or in the data. "My template doesn't match" is a classic. Typical
reasons include:
- not including the namespace prefix
- typo in the namespace URI
- processing the document in a different mode than the template is
supposed to match in
- other typos (in predicates, element names, modes)
- skipping intermediate elements, e.g., formulating predicates for <td>s
when the template is supposed to match <tr>
- other templates have higher priority
- this template is an imported one, and there is a matching template of
whatever priority in the importing stylesheet
- logical misconceptions in the predicates (ok, this shouldn't apply
here when just comparing an attribute value)
- if the template is supposed to match a result of a previous
transformation: the output of the previous tranformation is not as expected
- ...
My way of debugging is
- to make the non-matching template increasingly less specific (dropping
terms in the predicate),
- increase the priority to insane values,
- make the template output debugging info such as "I'm here", or
count(*) and count(B) in the context of A (first make sure that the
template matches A -- 'I'm A'),
- output intermediate processing steps to a file (<xsl:result-document
href="_debug.35.fooify-bar.xml"><xsl:copy-of
select="$foo"/></xsl:result-document>)
I'm sure that other people will contribute to this non-matching top ten
or will share their debugging tricks, such as "always transform
Schema-aware"...
-Gerrit
--~------------------------------------------------------------------
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>
--~--