<feed xmlns="http://www.w3.org/2005/Atom" xmlns:foaf="http://xmlns.com/foaf/0.1/"><title>norman.walsh.name: Comments on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype"/><id>http://norman.walsh.name/2006/01/06/doctype/comments.atom</id><updated>2012-02-13T04:49:16.233239Z</updated><entry><title>Comment 1 on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype#comment0001"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0001</id><published>2006-01-06T19:45:59Z</published><updated>2006-01-06T19:45:59Z</updated><author><name>Danny</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>The <a rel="nofollow" href="http://structuredblogging.org">StructuredBlogging</a> folks have run into validation issues when including foreign-namespaced XML in a <code>&lt;script&gt;</code> block in XHTML. Might dropping the DOCTYPE sidestep those?
</p>
    <p>
Incidentally, due to the angle brackets in your title, Bloglines does silently drop the <code>&lt;!DOCTYPE&gt;</code> (Phil Ringnalda now includes markup in his titles as a matter of course, waiting for aggregator developers to do the right thing with Atom).</p>
  </div></content></entry><entry><title>Comment 2 on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype#comment0002"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0002</id><published>2006-01-06T21:46:58Z</published><updated>2006-01-06T21:46:58Z</updated><author><name>Norman Walsh</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>Danny, without the &lt;!DOCTYPE, no parser is going to attempt DTD-based validation, so in that sense it would sidestep the issues. On the other hand, you won't find out if you've got &lt;p&gt;'s inside your &lt;h3&gt;'s either.
For data entry, I'd probably build a RELAX NG grammar and validate with that. I certainly would want some sort of validation.
</p>
    <p>
With respect to Bloglines, yeah, I noticed that too. Add it to the pile of rendering bugs in Bloglines, I guess. About once a week now, I'm irritated enough by their bugs to consider switching. But never (yet!) enough to overcome the inertia.
</p>
    <p>
In addition to the broken rendering, I bet my RSS feed is busted as written because I refuse to double-escape the markup. That moves me one step closer to redirecting the RSS feeds to the equivalent Atom feeds and pulling the plug on the RSS.</p>
  </div></content></entry><entry><title>Comment 3 on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype#comment0003"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0003</id><published>2006-01-07T12:18:35Z</published><updated>2006-01-07T12:18:35Z</updated><author><name>Bart Schuller</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>Oh, the irony!</p>
<p>I read this post in <i>Sage</i> from Planet XML. It was titled "Drop the".</p>
<p>Micah Dubinko adds the post to his bookmarks, under the same title "Drop the", but the funny thing is if you view source there's still a hidden &lt;!DOCTYPE&gt; in the link.</p>
<p>Wouldn't it be nice if in 2006 at least Planet <b>XML</b> could get this stuff right?</p>
  </div></content></entry><entry><title>Comment 4 on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype#comment0004"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0004</id><published>2006-01-07T19:48:44Z</published><updated>2006-01-07T19:48:44Z</updated><author><name>Aristotle Pagaltzis</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p><a rel="nofollow" href="#comment0003">Bart</a>: they can’t, not if they consume <abbr>RSS</abbr>. Silent data loss. It’s impossible to fix because the spec is not unambiguous enough. They’d have to consume Atom to be able to stick a fork in this issue.</p>

<p>Norm: <abbr>IMHO</abbr> processing instructions are <em>exactly</em> the right tool for this scenario. They’re not at all aesthetically offensive; they’re just widely misused. But not here. (Which I am guessing is exactly what you’re thinking.)</p>
  </div></content></entry><entry><title>Comment 5 on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype#comment0005"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0005</id><published>2006-01-09T12:21:23Z</published><updated>2006-01-09T12:21:23Z</updated><author><name>David Carlisle</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Yes and No. I could live without doctype (but that's a hard sell in the mathml community which is rather fond of those entities) and in any particular case where you decide to drop entities I think that it often makes more sense to switch to a more structured XML vocabulary rather than add a piplining entity expansion phase.

<p>
If it's a fixed grammar over which you have no control, then a pre-processing expansion stage may be necessary but for xmlspec
I think the reason we all have so many messy date entities is that the header XML elements are not sufficiently structured and the thing to do is fix that and the update the main xmlspec stylesheet to match, rather than to switch the entity processing from dtd to a new PI based syntax.
For example if there were <em>elements</em> in xmlspec that allowed you to specify<br/>
draft.day = "05" , draft.month = "1" draft.year="2006", draft.class="NOTE" and draft.name="example"<br/>

Then the xmlspec stylesheet should be able to figure out for itself what the current-location should be (so this needn't be specified in the XML)
similarly having to specify the month in different places a "1" "01" and "January" is something that the stylesheet cold take care of, and if the date is only specified in one place in the XML file there is no need to make an entity for it.


</p><p>
For the general case of a DTD-replacement macro system I'm not sure that PI's are quite up to the job, unfortunately. Or more exactly a syntax which has the replacement text as PI content rather than between two PIs is not up to the job. Given that character references aren't recognised  as such in a PIContent (and neither are element start tags) what does
text="&lt;x&gt;a&amp;#32;&lt;x&gt;"
expand to, just the character string, or an x element with a space?
I wasn't sure from your description. Either answer has some benefits and some potential confusions....</p></div></content></entry><entry><title>Comment 6 on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype#comment0006"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0006</id><published>2006-02-04T06:50:39Z</published><updated>2006-02-04T06:50:39Z</updated><author><name>John L. Clark</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>In case anyone is interested, <a rel="nofollow" href="http://infinitesque.net/articles/2006/doctype-xslt1/index.xhtml">I modified this script to work under XSLT 1.0 and EXSLT</a>.  Norm, thanks very much for the original idea and implementation.</p>
  </div></content></entry><entry><title>Comment 7 on /2006/01/06/doctype</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2006/01/06/doctype#comment0007"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0007</id><published>2006-02-04T22:06:50Z</published><updated>2006-02-04T22:06:50Z</updated><author><name>John L. Clark</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>After I modified your script, I thought it would be a good idea to have some public macros available for use.  So I put together a set of <a rel="nofollow" href="http://infinitesque.net/articles/2006/doctype-xslt1/entities.xhtml">macro equivalents of the common character entities</a>.</p>

<p>Also, did you mean for that first <code>&lt;xsl:variable/&gt;</code> to be an <code>&lt;xsl:param/&gt;</code>, so that people can pass in a reference to a set of default macros?  I modified my version to work that way.</p>
  </div></content></entry></feed>

