On Wed, 29 Dec 2010 10:31:21 -0500
"G. Ken Holman" <gkholman(_at_)CraneSoftwrights(_dot_)com> wrote:
Again you're assuming the presence of a schema?
I am not, Dave. My claim is that given only the input XML instance
it is unwarranted to emit any kind of error or warning for an XPath
address that does not resolve to the instance.
Review that given an input XML instance only.
That is my original intent of what I wrote above.
The lack of a trigger for the xpath provides information
that is useful IMHO.
I wholeheartedly disagree. It is misleading information. That an
element allowed to be absent is absent is not worthy of any message
at all.
"allowed"? I'd interpret that as a validity statement wrt some schema?
It is entirely an expected condition of the input instance
that my stylesheet may test for, or get the value for, or select
without an error.
For example, rather than:
<xsl:if test="c">
<newC>This is a new c: <xsl:value-of select="c"/></newC>
</xsl:if>
I usually will type:
<xsl:for-each select="c">
<newC>This is a new c: <xsl:value-of select="."/></newC>
</xsl:for-each>
There are three examples of addressing the absent <c> in my instance,
with a test, a value-of and a select, and just because <c> isn't in
my instance the processor has no license to issue any error or
warning message. The next instance may, very well, have a <c>
element in it.
So for some C you will have errors/unmatched xpaths
others you won't.
I'd prefer to know of them rather than 'assume'
they are OK.
just that in many cases such a schema may not be available,
an instance being used is more usually available.
Absolutely an instance is more available, but because an instance
knows nothing of absent items that are allowed to be absent, the
processor cannot make an assumption that addressing something that is
absent is worthy of an error or warning message.
I hope this has finally convinced you.
No Ken, I'm looking at it as a means of getting more from the processor.
If as in your example/Schematron, the warning is something that I can
tick off, then great. Otherwise it's likely I've done something wrong
in writing that xpath expression.
Same problem, different perspectives.
--
regards
--
Dave Pawson
XSLT XSL-FO FAQ.
http://www.dpawson.co.uk
--~------------------------------------------------------------------
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>
--~--