<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: SAX: biggest regrets</title>
	<atom:link href="http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/</link>
	<description>what was</description>
	<pubDate>Sun, 14 Mar 2010 17:10:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Jason Aaron Osgood</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-39</link>
		<dc:creator>Jason Aaron Osgood</dc:creator>
		<pubDate>Tue, 08 Feb 2005 02:58:08 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-39</guid>
		<description>Elliotte Rusty Harold wrote:

&lt;blockquote cite="XML parsing is not I/O, and a SAXException is not a kind of IOException. This one you got right. Consider the case of an XML document stored in a String literal."&gt;

Technically, you are correct.  And yet.  Both ByteArrayInputStream.read() and CharArrayReader.read() throw IOException.  This is done to enable composition and swapping.  For instance, I sometimes use handcoded stuff in unit tests.  The advantages outweigh the minor annoyances.  So I agree with David Megginson on this one.&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>Elliotte Rusty Harold wrote:</p>
<blockquote cite="XML parsing is not I/O, and a SAXException is not a kind of IOException. This one you got right. Consider the case of an XML document stored in a String literal.">
<p>Technically, you are correct.  And yet.  Both ByteArrayInputStream.read() and CharArrayReader.read() throw IOException.  This is done to enable composition and swapping.  For instance, I sometimes use handcoded stuff in unit tests.  The advantages outweigh the minor annoyances.  So I agree with David Megginson on this one.</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elliotte Rusty Harold</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-33</link>
		<dc:creator>Elliotte Rusty Harold</dc:creator>
		<pubDate>Sun, 06 Feb 2005 11:06:40 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-33</guid>
		<description>XML parsing is not I/O, and a SAXException is not a kind of IOException. This one you got right. Consider the case of an XML document stored in a String literal. The XOM unit test suite is loaded with these things. No I/O needs to be performed to parse them. Everything already exists within memory. Parsing is a completely separate operation from input and output, and it should be logically separate. Parsing is defined to operate on a sequence of bytes or characters. We often choose to represent that sequence as a stream for the sake of convenience and efficiency. However, we don't need to. Parsing would work equally well if the data were represented as a byte array, char array, or something else. 

There's also the issue that even parsing a string may cause I/O to be done if an external DTD subset needs to be loaded. However, again the parsing of the XML and the input and output of that XML are two different operations. Problems in one are not problems in the other. They are conceptually distinct.</description>
		<content:encoded><![CDATA[<p>XML parsing is not I/O, and a SAXException is not a kind of IOException. This one you got right. Consider the case of an XML document stored in a String literal. The XOM unit test suite is loaded with these things. No I/O needs to be performed to parse them. Everything already exists within memory. Parsing is a completely separate operation from input and output, and it should be logically separate. Parsing is defined to operate on a sequence of bytes or characters. We often choose to represent that sequence as a stream for the sake of convenience and efficiency. However, we don&#8217;t need to. Parsing would work equally well if the data were represented as a byte array, char array, or something else. </p>
<p>There&#8217;s also the issue that even parsing a string may cause I/O to be done if an external DTD subset needs to be loaded. However, again the parsing of the XML and the input and output of that XML are two different operations. Problems in one are not problems in the other. They are conceptually distinct.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Norman Walsh</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-15</link>
		<dc:creator>Norman Walsh</dc:creator>
		<pubDate>Thu, 03 Feb 2005 19:59:34 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-15</guid>
		<description>I wonder if I count as one of the twelve? :-) SAX is a fabulous piece of work, but I so desperately wish that it passed the base URI and original, possibly relative, system identifier to entityResolver() that it almost makes me want to cry when I think about it.</description>
		<content:encoded><![CDATA[<p>I wonder if I count as one of the twelve? <img src='http://www.megginson.com/blogs/quoderat/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> SAX is a fabulous piece of work, but I so desperately wish that it passed the base URI and original, possibly relative, system identifier to entityResolver() that it almost makes me want to cry when I think about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Don Park's Daily Habit - Welcoming David Megginson</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-8</link>
		<dc:creator>Don Park's Daily Habit - Welcoming David Megginson</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-8</guid>
		<description>[...] ginson&lt;/A&gt; who led that effort seemingly effortlessly although not without some noteworthy &lt;A href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"&gt;regrets&lt;/A&gt; which I agree with.&#160;&#160;Wh [...]</description>
		<content:encoded><![CDATA[<p>[...] ginson who led that effort seemingly effortlessly although not without some noteworthy <a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/">regrets</a> which I agree with.&nbsp;&nbsp;Wh [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Don Park's Daily Habit - Welcoming David Megginson</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-10</link>
		<dc:creator>Don Park's Daily Habit - Welcoming David Megginson</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-10</guid>
		<description>[...] ginson&lt;/A&gt; who led that effort seemingly effortlessly although not without some noteworthy &lt;A href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"&gt;regrets&lt;/A&gt; which I agree with.&#160;&#160;Wh [...]</description>
		<content:encoded><![CDATA[<p>[...] ginson who led that effort seemingly effortlessly although not without some noteworthy <a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/">regrets</a> which I agree with.&nbsp;&nbsp;Wh [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quoderat &#187; SAX: biggest satisfactions</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-11</link>
		<dc:creator>Quoderat &#187; SAX: biggest satisfactions</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-11</guid>
		<description>[...] ions 	Filed under:  	programming &#8212; david @ 10:01 pm  	 	 			Recently, I mentioned my &lt;a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"&gt;biggest regrets&lt;/a&gt; about SAX. When we were b [...]</description>
		<content:encoded><![CDATA[<p>[...] ions 	Filed under:  	programming &#8212; david @ 10:01 pm  	 	 			Recently, I mentioned my <a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/">biggest regrets</a> about SAX. When we were b [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quoderat &#187; Blame Larry Wall</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-17</link>
		<dc:creator>Quoderat &#187; Blame Larry Wall</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-17</guid>
		<description>[...] t into SAX, and one that I sometimes wish we had taken up (though it&#8217;s not one of my &lt;a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"&gt;biggest regrets&lt;/a&gt;): represent any XML name [...]</description>
		<content:encoded><![CDATA[<p>[...] t into SAX, and one that I sometimes wish we had taken up (though it&#8217;s not one of my <a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/">biggest regrets</a>): represent any XML name [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quoderat &#187; The complexity of XML parsing APIs</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-40</link>
		<dc:creator>Quoderat &#187; The complexity of XML parsing APIs</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-40</guid>
		<description>[...] ry format then decide to cruft it up by layering a crufty XML API on it is beyond me. 	[0] &lt;a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"&gt;http://www.megginson.com/blogs/quoderat/archi [...]</description>
		<content:encoded><![CDATA[<p>[...] ry format then decide to cruft it up by layering a crufty XML API on it is beyond me. 	[0] <a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"></a><a href="http://www.megginson.com/blogs/quoderat/archi" rel="nofollow">http://www.megginson.com/blogs/quoderat/archi</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quoderat &#187; The complexity of XML parsing APIs</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-41</link>
		<dc:creator>Quoderat &#187; The complexity of XML parsing APIs</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-41</guid>
		<description>[...] ry format then decide to cruft it up by layering a crufty XML API on it is beyond me. 	[0] &lt;a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"&gt;http://www.megginson.com/blogs/quoderat/archi [...]</description>
		<content:encoded><![CDATA[<p>[...] ry format then decide to cruft it up by layering a crufty XML API on it is beyond me. 	[0] <a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"></a><a href="http://www.megginson.com/blogs/quoderat/archi" rel="nofollow">http://www.megginson.com/blogs/quoderat/archi</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Danny Ayers, Raw Blog</title>
		<link>http://www.megginson.com/blogs/quoderat/2005/01/31/sax-the-bad-the-good-and-the-controversial/#comment-47</link>
		<dc:creator>Danny Ayers, Raw Blog</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">/?p=6#comment-47</guid>
		<description>[...] ng for you and give you a predigested view of the information.  	Nearby, Megginson&#8217;s &lt;a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/"&gt;biggest regrets&lt;/a&gt; and biggest satisfactions [...]</description>
		<content:encoded><![CDATA[<p>[...] ng for you and give you a predigested view of the information.  	Nearby, Megginson&#8217;s <a href="http://www.megginson.com/blogs/quoderat/archives/2005/01/31/sax-the-bad-the-good-and-the-controversial/">biggest regrets</a> and biggest satisfactions [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
