[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: checking sequential element

Subject: Re: checking sequential element
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 31 Dec 2008 11:21:22 -0500
Re:  checking sequential element
Hi,

Personally, I'd put the test on the citau element itself:

<xsl:template match="citau">
  <xsl:if test="not(following-sibling::*[1]/self::delim)">
    <xsl:message>citau does not followed by delim</xsl:message>
  </xsl:if>
</xsl:template>

This has the following advantages:

* It expresses the requirement directly (a 'citau' must be followed by a 'delim')
and therefore more legibly
* It is more robust (it doesn't matter where the citau is; it doesn't
report a false positive if a 'citau' is not found; it doesn't fail
to report if two are found and one has a 'delim')


As so often, the theoretical and the practical advantages reflect one another.

Cheers,
Wendell

At 02:29 AM 12/31/2008, it was written:
I think, you should do

<xsl:template match="citref">
  <xsl:if test="not(citaug/citau/following-sibling::*[1]/self::delim)">
    <xsl:message>citau does not followed by delim</xsl:message>
  </xsl:if>
</xsl:template>

you were missing a 'not' and one missing level.

On Wed, Dec 31, 2008 at 12:00 PM, Ganesh Babu N <nbabuganesh@xxxxxxxxx> wrote:
> Dear All,
>
> I want to test the presence of <delim/> tag after </citau> in the
> below example. If it is missing the XSL should raise an error.
>
> <citref id="bib12">
>  <citaug>
>  <citau>
>   <citsname>Ferri</citsname>
>   <delim/>
>   <citfnames>E</citfnames>
>  </citau>
>  <delim/>
>  <cittext>(ed.).</cittext>
> </citaug>
>
> I have tried the following code but i am not getting the required result.
>
> <xsl:template match="citref">
>  <xsl:if test="citau/following-sibling::*[1]/self::delim">
>  <xsl:message>citau does not followed by delim</xsl:message>
>  </xsl:if>
> </xsl:template>
>
> Please help me in getting the desired result.


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
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
======================================================================

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.