xsl-list
[Top] [All Lists]

Re: [xsl] Avoiding boneheaded mistakes in XSLT?

2011-01-03 10:49:15
Hi,

On 12/29/2010 8:49 PM, Piet van Oostrum wrote:
Michael Kay wrote:

It would however be possible to make a guess that this is wrong, and
  >  issue a warning. Incorrect warnings are always very irritating, so
  >  this is not something to be done lightly, but it's something I've
  >  wanted to attempt for a long time.
  >
That's why I suggested this would be a debug option.

Another approach would be an XSLT that processes your XSLT and generates another one, which embeds diagnostic analytics. The new XSLT could even be an enhanced version of the old one.

Something like:

(input)

<xsl:template match="book">
  <xsl:value-of select="book[1]/author"/>
</xsl:template>

(output)

<xsl:template match="book"
 xmlns:d="http://www.mulberrytech.com/xslt/diagnostic";>
  <xsl:value-of select="book[1]/author"/>
  <xsl:variable name="d:selected" select="book[1]/author">
  <xsl:if test="empty($d:selected)">
<xsl:message>value-of path "book[1]/author" in template matching "book" selects nothing</xsl:message>
  </xsl:if>
</xsl:template>


Cheers,
Wendell


--
======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

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