Re: [xsl] Selecting First Direct Sibling

Subject: Re: [xsl] Selecting First Direct Sibling
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 22 Aug 2007 11:52:09 -0400
Andrew,

At 05:03 AM 8/22/2007, you wrote:
It all makes sense, and I suppose it must be worthwhile otherwise why bother?

Well like I said earlier, the tradeoff is between the functionality on the one hand, and on the other the intelligibility and predictability of the simpler treatment without it.


Personally I'm fine with the feature as long as I know it's there, but I know others who find it confusing. It's the usual risk of having a processor that's smarter than the user. :->

(Of course David just showed that at least till a few minutes ago, I didn't know when it's there, which may prove my point about the risk. :-)

The gotcha case would be something like:

<!DOCTYPE p [
  <!ELEMENT p    (b|i)*>
  <!ELEMENT b    (#PCDATA)>
  <!ELEMENT i    (#PCDATA)>
]>
<p>
        <b>hello</b> <i>world</i>
</p>

With the DTD the output is: "helloworld"

Without the DTD the output is "hello world"

DTDs canst both addeth, and taketh awayeth :)

Indeed. Presumably, however, if you meant that whitespace to be taken as content, you have a bug in your DTD.


The gotcha I see is when things like count(node()) and especially position() return different results when a DTD/schema is or is not in play, maybe because the DTD moved or something.

Cheers,
Wendell


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