XML News from Monday, November 17, 2003

My e-mail's on the fritz at the moment, apparently due to a change in the IBiblio root certificate. If you absolutely have to contact me right now, use the telephone. (Anyone who absolutely has to contact me right now already knows the number.)


Word of the day: Boundary Whitespace. I just discovered this in the XQuery working draft. It's something we've needed a good term for for a long time. For example, consider this element:

<name>
  <first>Jada</first>
  <middle>Pinkett</middle>
  <last>Smith</last>
</name>

Boundary white space is the space between the end of one tag and the beginning of the next, when the text between those tags does not contain anything except white space. Traditionally, this has been called ignorable white space, which is wrong because it isn't ignorable, or white space in element content, which only really applies when a DTD specifies that the element should not contain anything except child elements.

Technically, XQuery also uses this term to include whitespace between tags and query braces, as in this example:

<name>  
  { for $name in //name/text()
    return $name
} </name>

However, outside XQueries (which aren't XML documents) the braces have no particular meaning, so in that case I feel justified in saying boundary whitespace occurs exclusively between tags.

Kudos to the XQuery working group for coming up with this. I'm not very fond of XQuery itself, but this is at least one useful contribution to emerge form that group.


Altova has released XMLSpy 2004, a $399 payware XML editor for Windows. New features in this release include:


Tal Rotbart has written a java.sql.ResultSet DOM Wrapper. Th wrapper implements the DOM Document interface on top of a JDBC result set. The ResultSetDocument does not contain the actual result-set data and meta-data, but instead contains references to row and column indices. THis makes it very memory efficient, but it requires that the result-set be created with scroll capabilities. However, the wrapper is read-only. Interesting idea. I've seen this done with SAX (I've done that myself.) but this is the first time I've seen this done with DOM. This is published under the LGPL.