<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: XML, GMarkup, and all that jazz</title>
	<atom:link href="http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/</link>
	<description>Thomas Thurman does not like cold meals because of broken applications.</description>
	<lastBuildDate>Fri, 30 Oct 2009 10:59:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: ᛏᚦ &#187; Blog Archive &#187; When Wednesday was quiet</title>
		<link>http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/comment-page-1/#comment-7</link>
		<dc:creator>ᛏᚦ &#187; Blog Archive &#187; When Wednesday was quiet</dc:creator>
		<pubDate>Thu, 14 Feb 2008 14:31:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/#comment-7</guid>
		<description>[...] ᛏᚦ Thomas Thurman      &#171; XML, GMarkup, and all that jazz [...]</description>
		<content:encoded><![CDATA[<p>[...] ᛏᚦ Thomas Thurman      &laquo; XML, GMarkup, and all that jazz [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Henstridge</title>
		<link>http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/comment-page-1/#comment-6</link>
		<dc:creator>James Henstridge</dc:creator>
		<pubDate>Thu, 14 Feb 2008 10:44:10 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/#comment-6</guid>
		<description>I guess the reason the SAX APIs are structured like this is so that they can pass through character data directly from the input buffer without copying (returning spans delimited by tags or entities).

In contrast with element start/end tags, the text content can be quite large (unless your XML format does everything through attributes ...) so this makes sense.  If you can avoid having to make a copy of every byte of the input, you probably should ...</description>
		<content:encoded><![CDATA[<p>I guess the reason the SAX APIs are structured like this is so that they can pass through character data directly from the input buffer without copying (returning spans delimited by tags or entities).</p>
<p>In contrast with element start/end tags, the text content can be quite large (unless your XML format does everything through attributes &#8230;) so this makes sense.  If you can avoid having to make a copy of every byte of the input, you probably should &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Thurman</title>
		<link>http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/comment-page-1/#comment-4</link>
		<dc:creator>Thomas Thurman</dc:creator>
		<pubDate>Thu, 14 Feb 2008 04:22:36 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/#comment-4</guid>
		<description>@James: That&#039;s a very good point.

It might be nice if there was a flag you could pass into GMarkup to make it do the buffering for itself, the same way it clearly does for tags it hasn&#039;t seen the whole of.</description>
		<content:encoded><![CDATA[<p>@James: That&#8217;s a very good point.</p>
<p>It might be nice if there was a flag you could pass into GMarkup to make it do the buffering for itself, the same way it clearly does for tags it hasn&#8217;t seen the whole of.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Henstridge</title>
		<link>http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/comment-page-1/#comment-3</link>
		<dc:creator>James Henstridge</dc:creator>
		<pubDate>Thu, 14 Feb 2008 04:02:39 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/#comment-3</guid>
		<description>While your parser functions correctly when you feed the entire file, it won&#039;t necessarily give the right results if the input is fed to the parser in chunks.

If I split the animal name over a chunk boundary, GMarkup may call your text() handler twice, which might lead to output like:

    I am a li and I go roar. Can you do it?
    I am a on and I go roar. Can you do it?

To handle this case correctly, you&#039;d need to accumulate the text (maybe using GString) when you&#039;re inside an interesting element and then print the message from the end_element() handler.</description>
		<content:encoded><![CDATA[<p>While your parser functions correctly when you feed the entire file, it won&#8217;t necessarily give the right results if the input is fed to the parser in chunks.</p>
<p>If I split the animal name over a chunk boundary, GMarkup may call your text() handler twice, which might lead to output like:</p>
<p>    I am a li and I go roar. Can you do it?<br />
    I am a on and I go roar. Can you do it?</p>
<p>To handle this case correctly, you&#8217;d need to accumulate the text (maybe using GString) when you&#8217;re inside an interesting element and then print the message from the end_element() handler.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
