> But isn't adding illogical behaviour to XML processing playing with the
> strict compliance philosophy of XML?

I think this is a bit specious because by the time we're seeing what
we're talking about here, it's not XML, it's an object in memory.  And
any "strict compliance philosophy" that XML might have is no longer
relevant.

The compliance thing would come into play if the parsing engine
decided to capitalise all node names, or not respect the ordering of
nodes within a parent or something.  THAT would go against what's
accepted as how XML should be handled.

However once the XML has been parsed and loaded into whatever platform-
specific implementation of "an XML object" is being used, it's a
different story.


> The example here is a very CF specific example here has a historic reason -
> CF was built to speed up simple dynamic web applications. So #query_x#
> inside cfoutput has something almost like a convenience hack.

I was going to cite a variation on the query-column example Alex
mentioned, but he beat me to it.  There is a precedent set in CF that
in some cases query.columnName refers to the entire column (eg:
valueList()), and others - where the surrounding code is expected a
simple value - that query.column refers to the value in the first row
of that column.  CFOUTPUT has nothing to do with this, btw.  What
CFOUTPUT brings to the party is that one doesn't need to specify the
query name when referencing the column name.  That is something
different.  It also obviously manages the internal row iterator, but
that too is not really the same as what we're discussing here.

To be honest, I am surprised that the code I posted works in ANY of
the platforms.  I would not have implemented it that way, and it would
not surprise me if it's a quirk of CF's implementation (that Railo
then copied for compat reasons) than necessarily something done by
design.

But there is a similar precedent set elsewhere in CFML, and the rest
of the engines follow suit (except BD.NET, which behaves the same way
as OpenBD here), so I think the best outcome here would be if OBD
falls into step with CF and Railo.

That said, I'd never use the syntax I offered above, so from a
practical POV (as opposed to a dogmatic one), I'd be content if the
incompatibility was merely clearly documented.  However if it was an
easy fix, then fixing it would be the best outcome.

Cheers.

--
Adam

-- 
official tag/function reference: http://openbd.org/manual/
 mailing list - http://groups.google.com/group/openbd?hl=en

Reply via email to