RE: [xsl] XSL: Error Detection?

Subject: RE: [xsl] XSL: Error Detection?
From: "Martinez, Brian" <brian.martinez@xxxxxxxx>
Date: Tue, 11 Mar 2003 08:20:47 -0700
> From: Bhandari, Ashish [mailto:Ashish.Bhandari@xxxxxx]
> Sent: Tuesday, March 11, 2003 7:23 AM
> Subject: [xsl] XSL: Error Detection?
> 
> Hi,
> 
> Now: I have these constraints:
> 	- The Stylesheet is already done and it is an overkill 
> for each node
> translation to check for the node in the "ERROR" subtree.
> 	- Since I am translating only a subset , I will not be 
> interested in
> the "ERROR" subtree if the nodes that I am translating are 
> not specified in
> the subtree.
> 	- NOTE: It IS possible to change the way,means and mode 
> the input
> XML reports the error.
> 
> Goal:
> 	 Is it possible , with minimum invasion, to make the styleesheet
> capable of such error detection ?. 

I'm not sure I understand your question fully, but I'll assume that your
stylesheets each look for a single node in the input tree to transform.  If
so, then you could check for the presence of an error condition at the
beginning of the transformation:

<xsl:template match="/">
  <xsl:choose>
    <!-- you may need to use "ERROR//some-node" instead -->
    <xsl:when test="ERROR/some-node">
      <!-- report error condition -->
    </xsl:when>
    <xsl:otherwise>
      <!-- perform transformation as usual -->
    </xsl:otherwise>
  <xsl:choose>
</xsl:template>

If an error in the XML formatting occurs, does it move the problem node to
the ERROR node-set so that it doesn't appear in its normal place in the
tree?  If so, you could have two matching templates--one which outputs
whatever your error message is, and one to transform the normal input:

<!-- Error handling -->
<xsl:template match="/document/ERROR/some-node">
  <!-- etc. -->
</xsl:template>

<!-- Normal operation -->
<xsl:template match="/document/some-node">
  <!-- etc. -->
</xsl:template>

Even if your node-set still appears in the rest of the input tree, you could
add the error-handling template to the beginning of your current stylesheet,
which would allow you to output error messages and meet your "minimum
invasion" criterion.

hth,
b.

| brian martinez                              brian.martinez@xxxxxxxx |
| lead gui programmer                                    303.708.7248 |
| trip network, inc.                                 fax 303.790.9350 |
| 6436 s. racine cir.                             englewood, co 80111 |
| http://www.cheaptickets.com/                   http://www.trip.com/ |

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread