<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Messages in a Bottle</title>
	<atom:link href="http://cmsmcq.com/mib/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://cmsmcq.com/mib</link>
	<description>CMSMcQ's klog</description>
	<lastBuildDate>Mon, 09 Apr 2012 22:35:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Regular approximations (again)</title>
		<link>http://cmsmcq.com/mib/?p=1214</link>
		<comments>http://cmsmcq.com/mib/?p=1214#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:35:07 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[formal methods]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1214</guid>
		<description><![CDATA[[9 April 2012] For a while it has seemed to me interesting and potentially useful that any context-free language L can be approximated by regular languages which accept either a subset or a superset of L. (See earlier posts from 2008 and 2009.) Apart from the intrinsic interest of the fact, this means that it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>[9 April 2012]</p>
<p>For a while it has seemed to me interesting and potentially useful that any context-free language L can be approximated by regular languages which accept either a subset or a superset of L.  (See earlier posts from <a href="?p=49">2008</a> and <a href="?p=582">2009</a>.)</p>
<p>Apart from the intrinsic interest of the fact, this means that it&#8217;s possible in principle to define XSD simple types using those regular approximation languages, which in turn means it&#8217;s possible to use XSD validation to catch at least some syntactic errors in strings which should be members of L.</p>
<p>Some time ago, I had occasion to translate the ABNF of RFC 3986 and RFC 3987 into XSD regular expressions (possible in that case without an approximation, since the languages defined by those to RFCs are all regular).  The mechanism I used was simple:  each ABNF production turned into an entity declaration, and each non-terminal on the right-hand side of a rule turned into an entity reference.  </p>
<p>Today I was reviewing that work and it occurred to me that if we could find a regular approximation by algebraic manipulation of the grammar (without any detour through finite-state automata), it would make it much simpler to write the necessary XSD patterns.</p>
<p>But how?</p>
<p>Given a context-free grammar for L, can we identify algebraic rules which would allow us to derive a regular grammar for a regular approximation to L?</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1214</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Balisage 2012: deadline approaches</title>
		<link>http://cmsmcq.com/mib/?p=1212</link>
		<comments>http://cmsmcq.com/mib/?p=1212#comments</comments>
		<pubDate>Thu, 05 Apr 2012 17:59:09 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[Balisage]]></category>
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1212</guid>
		<description><![CDATA[[5 April 2012] The deadline for submissions to Balisage 2012 is 20 April. Fifteen days. Time to get in gear and get that paper written!]]></description>
			<content:encoded><![CDATA[<p>[5 April 2012]</p>
<p>The deadline for submissions to <a href="http://www.balisage.net/">Balisage 2012</a> is 20 April.</p>
<p>Fifteen days.  Time to get in gear and get that paper written!</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1212</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team work, specialization, fact-checking</title>
		<link>http://cmsmcq.com/mib/?p=1204</link>
		<comments>http://cmsmcq.com/mib/?p=1204#comments</comments>
		<pubDate>Fri, 27 Jan 2012 01:33:57 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[harrumph]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1204</guid>
		<description><![CDATA[[26 January 2012] This week&#8217;s New Yorker has an interesting essay on brainstorming (doesn&#8217;t work, it says). It brought my evil twin Enrique running, waving his copy in the air. &#8220;Look at this. Look at this!&#8221; he shouted. I looked at the passage he pointed out. Pursuing the observation that &#8220;like it or not, human [...]]]></description>
			<content:encoded><![CDATA[<p>[26 January 2012]</p>
<p>This week&#8217;s <em>New Yorker</em> has an interesting <a href="http://www.newyorker.com/reporting/2012/01/30/120130fa_fact_lehrer">essay on brainstorming</a> (doesn&#8217;t work, it says).  It brought my evil twin Enrique running, waving his copy in the air.  &ldquo;Look at this.  Look at this!&rdquo; he shouted.</p>
<p>I looked at the passage he pointed out.  Pursuing the observation that &ldquo;like it or not, human creativity has increasingly become a group process&rdquo;, the author quotes one Ben Jones, a professor at the Kellogg School of Management at Northwestern University, who has quantified the trend away from solo work and towards work in teams.</p>
<p>&ldquo;&lsquo;A hundred years ago, the Wright brothers could build an airplane all by themselves,&rsquo; Jones says.  &lsquo;Now Boeing needs hundreds of engineers just to design and produce the engines.&rsquo;&rdquo;</p>
<p>&ldquo;Well,&rdquo; I said to Enrique, &ldquo;no question that teams are bigger today.&rdquo;  &ldquo;But &#8230;&rdquo; he spluttered.  &ldquo;But what?&rdquo;  I said. &ldquo;But Boeing doesn&#8217;t make engines.&rdquo;  &ldquo;They don&#8217;t?&rdquo;   (I love to play dumb; it drives Enrique speechless with frustration.  But he seems to be right.  If I&#8217;m reading their <a href="http://www.boeing.com/history/boeing/502turbine.html">Web site</a> correctly, Boeing hasn&#8217;t manufactured an engine since 1968, and those weren&#8217;t aircraft engines in any case.)  &ldquo;But what makes the airplane go, then?&rdquo;  &ldquo;GE makes engines,&rdquo; Enrique snarled.  &ldquo;Rolls-Royce makes engines.  Pratt and Whitney makes engines.  Boeing makes <em>airframes</em>&rdquo; (along with many other things, I hasten to add, none of them engines).  &ldquo;How can someone be interested in specialization and not know that?&rdquo;</p>
<p>Didn&#8217;t the <em>New Yorker</em> use to have a fact-checking department? </p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1204</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Copyright and other unwelcome issues</title>
		<link>http://cmsmcq.com/mib/?p=1194</link>
		<comments>http://cmsmcq.com/mib/?p=1194#comments</comments>
		<pubDate>Thu, 10 Nov 2011 19:22:10 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1194</guid>
		<description><![CDATA[[10 November 2011] One of the unwelcome side effects of recent trends in copyright (I mean the gradual shift, over the last fifty years, towards more and more protection for commercial interests and less and less protection of the public benefit) is that while it used to be easy to make one&#8217;s own work readily [...]]]></description>
			<content:encoded><![CDATA[<p>[10 November 2011]</p>
<p>One of the unwelcome side effects of recent trends in copyright (I mean the gradual shift, over the last fifty years, towards more and more protection for commercial interests and less and less protection of the public benefit) is that while it used to be easy to make one&#8217;s own work readily available for reuse by others, it now requires more careful planning.  It used to be, for example, that if you didn&#8217;t care to claim or protect copyright in something you wrote, all you had to do was nothing:  if you didn&#8217;t claim copyright, and the work was public, then it was in the public domain.  </p>
<div style="font-size: 80%;">[&ldquo;Hmm.  How sure of you are that?&rdquo; asked my evil twin Enrique, with a suspicious look.  &ldquo;Well, kind of sort of sure, I think.&rdquo;  &ldquo;Better add a disclaimer, then, don't you think?&rdquo;  &ldquo;OK, right you are.&rdquo;]</div>
<p>At least, that&#8217;s how I understand it, at a first approximation.  (I am not a lawyer and have never much wanted to be, though a friend of mine who did go to law school once told me I&#8217;d enjoy the mysteries and mystique of tax law.  So no reader should take anything I write as providing guidance about the law of the U.S. or any other country.)  If you want good information about copyright, go find something by Pamela Samuelson.</p>
<div style="font-size: 80%;">[&ldquo;OK, that'll do, I guess.  Is Pamela Samuelson really a good source?&rdquo;  &ldquo;The best.  Thank heavens she's writing that column for <i>Communications of the ACM</i> again.&rdquo;]</div>
<p>Nowadays, of course, in the U.S. this is no longer true:  from the moment you write anything down, you own copyright in it, whether you want it or not, unless you do something to avoid it.  </p>
<p>Of course, many people ignore this and behave as if the old legal regime were still in place.  I&#8217;ve had representatives of U.S. universities say &#8220;Oh, feel free to reuse that stylesheet we wrote&#8221; &#8212; as if, because it carried no copyright statement, it were available for reuse by anyone interested.  On the contrary! Since the stylesheet didn&#8217;t carry any licensing information or dedication to the public domain, it was certainly copyright either by the individual who wrote it or by the institution for which it was written.  And since it didn&#8217;t carry any copyright information, it was impossible to know with any confidence who actually did (or does) own the copyright, and whom to contact for permission.  </p>
<div style="font-size: 80%;">[&ldquo;And these people who were trying to give you permission to reuse that stylesheet, were they legally empowered to enter into binding agreements on behalf of their institutions?&rdquo;  Enrique asked. &ldquo;Dunno. I doubt it.&rdquo;  &ldquo;So, tell me, do you have a barge pole handy?&rdquo; &ldquo;A barge pole? No, why?&rdquo;  &ldquo;Because I want to warn you not to touch that code with a barge pole, that's why.  And if you don't have a barge pole, it just feels kind of pointless.  Do you have an eleven-foot pole, maybe?&rdquo;  &ldquo;Oh, hush.&rdquo;]</div>
<p>End result:  I politely ignored (at least, I hope my silence was polite) their invitation to reuse that code, and I wrote new code from scratch.  </p>
<div style="font-size: 80%;">[&ldquo;Oh, come on,&rdquo; Enrique hissed.  &ldquo;You know perfectly well you wouldn't have reused that code anyway!  It was full of <code>xsl:for-each</code> elements.&rdquo;  (New readers may need to be informed that I seem to have an issue with <code>xsl:for-each</code> elements; I'm sure it's a perfectly fine construct and there's nothing wrong with it.  I only know that when I have a stylesheet with a bug and discover that it has <code>for-each</code> constructs, rewriting the <code>for-each</code> as an <code>apply-templates</code> always seems to make the bug disappear.  Go figure.)  &ldquo;Well, yeah.  But even if I had loved the code, I would not have felt able to reuse it.&rdquo;]</div>
<p>Of course, there are plenty of open-source and Creative Commons licenses to choose from, if you want to ensure that work you do can be re-used.  </p>
<p>But who, in a collaborative project, is &ldquo;you&rdquo;?</p>
<p>If you write code or prose as an individual, outside the course and scope of your normal employment duties, then it&#8217;s straightforward to assert copyright in your own name.  But if you are collaborating with others in a project, and you want to apply an appropriate license, in whose name should copyright be claimed?  If only one person works on a given item (a program or a document) it&#8217;s easy to say that person should assert copyright and grant the license.  But if more than one person works on it?  </p>
<p>Some people incline to claim copyright in the name of the project, which feels plausible at some level:  <i>project</i> is a name we sometimes give to the intentional collaboration of individuals to achieve some goal, and work done in furtherance of that goal can plausibly said to be done for &ldquo;the project&rdquo;.</p>
<p>But can a project which is not a legal entity actually be the owner of a copyright?  If there&#8217;s a legal entity involved, it&#8217;s possible in principle to figure out, in case of disputes, who speaks for the entity and who makes decisions.  But if there&#8217;s no legal entity?  </p>
<p>Can copyright usefully be claimed by a research project, in the name of the research project?</p>
<div style="font-size: 80%;">[&ldquo;Well, wouldn't a research project be legally a form of partnership?&rdquo; asked Enrique.  &ldquo;A partnership doesn't have to be incorporated to be a legal person, right?&rdquo;  &ldquo;Maybe,&rdquo; I equivocated.  &ldquo;But remember, I am not a lawyer.  And <em>a fortiori</em> you, as a figment of my imagination, are also not a lawyer.&rdquo;  &ldquo;Oh, go soak your head.  Whom are you calling a figment ... ?&rdquo;]</div>
<p>I notice that W3C, for example, which is not a legal entity, claims copyright in the name of W3C, but immediately after adds, in parentheses, the names of the three host institutions of W3C, which are legal entities.</p>
<p>It would be nice, wouldn&#8217;t it, if intellectual property rights served to promote the useful arts and sciences, instead of being an unproductive drain on the time and effort of creative people and a barrier to normal intellectual work?  Oh, well, maybe someday.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1194</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Day of the dead 2011</title>
		<link>http://cmsmcq.com/mib/?p=1190</link>
		<comments>http://cmsmcq.com/mib/?p=1190#comments</comments>
		<pubDate>Tue, 08 Nov 2011 03:31:19 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1190</guid>
		<description><![CDATA[7 November 2011 Last week&#8217;s celebration of the Day of the Dead (aka All Souls&#8217; Day, 2 November) was a little more thoughtful for me than it is in some years. Partly this was because John McCarthy had just died, and partly because this year seems to have taken an unusually high toll in people [...]]]></description>
			<content:encoded><![CDATA[<p>7 November 2011</p>
<p>Last week&#8217;s celebration of the Day of the Dead (aka All Souls&#8217; Day, 2 November) was a little more thoughtful for me than it is in some years.  Partly this was because John McCarthy had just died, and partly because this year seems to have taken an unusually high toll in people whose work I have had occasion to value.  </p>
<p>News of McCarthy&#8217;s death came through when I was on the phone with John Cowan and my brother Roger Sperberg.  We paused for a few moments, and then we spent half an hour thinking about technical topics, which seemed like a good way to mark the occasion.  (For example: if the original plan was for Lisp programs to be written not in S-expressions but in an Algol-like syntax called M-expressions, is that a sign that McCarthy was less far-sighted than he might have been?  How could he not have seen the importance of the idea that Lisp data and Lisp programs should use the same primitive data structures?  Perhaps he had feet of clay, so to speak? Or on the contrary should we infer, from the fact that the plan for M-expressions was abandoned and that Lisp became what it became, that McCarthy was astute enough to recognize great ideas when he saw them, and nimble enough to change his plans to capture them?  On the whole, I guess I lean toward the latter view.) </p>
<p>This year, Father Roberto Busa also died.  Many people (including me) regard him as the founder of the field of digital humanities, because of his work, beginning in 1948, on a machine-readable text of the work of Thomas Aquinas.  The <i>Index Thomisticus</i> was completed in 1978, several IT revolutions later.  Busa, too, was astute enough to adjust his plans in mid-project:  his initial plans involved clever use of punched cards and sorters, and it was only after the project had been going for some years that it began to use computers instead of unit-record equipment.  I met Busa only briefly, once as a young man at my first job in humanities computing, and once years later when I chaired the committee which voted to award him what became the Busa Award for contributions to the application of information technology to humanistic scholarship.  But he made a strong impression on me with his sweetness of temper and his intelligence.  He made an even stronger impression on me indirectly:  Antonio Zampolli worked with Busa as a student.  And without Antonio, I think my life would have had a rather different shape.  </p>
<p>Oh, well.  Nobody gets out of here alive, anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1190</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Another reason to use the microphone</title>
		<link>http://cmsmcq.com/mib/?p=1187</link>
		<comments>http://cmsmcq.com/mib/?p=1187#comments</comments>
		<pubDate>Thu, 29 Sep 2011 09:02:23 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1187</guid>
		<description><![CDATA[[Hamburg, 29 September 2011] Every now and then conference speakers want to avoid using a microphone; they dislike the introduction of technology into the speaker/audience relation, perhaps, and sometimes they are so confident of their ability to be heard in the room that any suggestion that they might use a mike is almost an affront [...]]]></description>
			<content:encoded><![CDATA[<p>[Hamburg, 29 September 2011]</p>
<p>Every now and then conference speakers want to avoid using a microphone; they dislike the introduction of technology into the speaker/audience relation, perhaps, and sometimes they are so confident of their ability to be heard in the room that any suggestion that they might use a mike is almost an affront to their lung power.  (Are these last class of speaker always male?  Well, usually, I think.)</p>
<p>I have been told on good authority that users of hearing aids benefit a good deal from amplification of the speaker&#8217;s voice; that&#8217;s a good reason to use the microphone.</p>
<p>But sitting here listening to a very interesting speaker who is completely ignoring the microphone, I am reminded of a different reason:  for purposes of speaker amplification, non-native speakers are effectively hard of hearing.  When the speaker strays into range of the podium&#8217;s microphone and happens to be facing the audience, I can understand every word he says; when he faces away from the audience or wanders over to the side of the room, I am missing at least every fifth word, which makes the talk into a kind of aural cloze test.  That&#8217;s OK for me (I pass the test, more or less, though I missed that nice joke everyone else laughed at).  But for my neighbor (for whom German is not a second but a fourth or fifth language), the experience is clearly a real trial.</p>
<p>If you are attending an international conference and want to be understood by people who are not native speakers of your language, then there is a simple piece of advice:</p>
<p><b>Use the microphone.</b>  </p>
<p>Enough said.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1187</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XQuery in the cloud</title>
		<link>http://cmsmcq.com/mib/?p=1177</link>
		<comments>http://cmsmcq.com/mib/?p=1177#comments</comments>
		<pubDate>Thu, 11 Aug 2011 00:24:07 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[XQuery]]></category>
		<category><![CDATA[28msec]]></category>
		<category><![CDATA[Sausalito]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1177</guid>
		<description><![CDATA[[10 August 2011] Recently I had occasion to build a small web application (feedback forms for the Balisage conference) using XForms. I used XForms since XForms delivers the information from the user in an XML document, which makes it easier for me to work with the data later. As an experiment, I developed the app [...]]]></description>
			<content:encoded><![CDATA[<p>[10 August 2011]</p>
<p>Recently I had occasion to build a small web application (feedback forms for the <a href="http://www.balisage.net/">Balisage</a> conference) using XForms.  I used XForms since XForms delivers the information from the user in an XML document, which makes it easier for me to work with the data later.  As an experiment, I developed the app using Sausalito, the XQuery engine in the cloud developed by <a href="http://www.28msec.com/">28msec</a>.  Quick summary:  Cool!  Thumbs UP!</p>
<p>[Obligatory hand-waving and disclaimer:  Sausalito is not the only way to deploy XQuery in the cloud:  MarkLogic has defined Amazon machine instances with MarkLogic Server pre-installed, and I'm sure there are, or will be, other options as well.  I will continue to make a point of working with as many different XQuery implementations as I can, just to know what's out there.  But I had a lot of fun with Sausalito, and if you have a use for a Web-based XML application, Sausalito is definitely worth a look.]</p>
<p>The basic structure of a Sausalito project is fairly straightforward, and well documented on their site:  the URIs you want to serve are matched either against static resources in a public subdirectory of the project, or against a directory of XQuery modules containing handlers for requests.  For example, in the Balisage feedback application, the URI <code>/reviews/single</code> is handled by the <code>single()</code> function in the module <code>reviews.xq</code>; it can call library functions defined elsewhere.  Sausalito has all the functions usual in XQuery, and also some fairly extensive libraries of things you may want for web applications (to query aspects of the incoming HTTP request, for example, and to set properties in the response).  They have an Eclipse-based IDE that&#8217;s reasonably nice (though I still missed Emacs from time to time), and also a command-line interface (so I can shift to that and use Emacs, if I want to).</p>
<p>Unsurprisingly, I found it very pleasant to be able to write the core of the application in XQuery, with no Javascript, returning XML to the browser and using XSLT and CSS to render it there.  What did surprise me a little, because I had not expected it, was the exhilarating speed with which I was able to move from idea to deployed application.  I&#8217;ve deployed XForms applications on the Web before, and I have an eight-point checklist for setting up a WebDAV server using Subversion and Apache.  It&#8217;s not particularly difficult or strenuous, but it&#8217;s tedious and takes few hours each time I have to do it.  And developing the checklist was very painful; it took a long time to find configurations that worked for me, in the environment provided by my service providers.</p>
<p>The developer configures a collection of documents in Sausalito by declaring the collection:</p>
<p><code>declare ordered collection my:docs as node()*;</code></p>
<p>Then they deploy the application.  And it&#8217;s &#8230; just &#8230; there.  Instant gratification, or as close to instant as your network latency and bandwidth will allow.</p>
<p>As I wrote to the developers at 28msec:</p>
<blockquote><p>
I&#8217;m &#8230; very taken with the convenience of deploying to the cloud; having an XML database on demand is a lot like having running water on demand &#8212; those who have never had it may think it&#8217;s a luxury anyone should be able to live without, but once you&#8217;ve had it, it can be hard to go back. </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1177</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vocabulary specialization and generalization, use and interchange:  things our schema languages should make easier than they do</title>
		<link>http://cmsmcq.com/mib/?p=1171</link>
		<comments>http://cmsmcq.com/mib/?p=1171#comments</comments>
		<pubDate>Sun, 23 Jan 2011 14:54:49 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[schema languages]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1171</guid>
		<description><![CDATA[[23 January 2011] Perhaps it&#8217;s because the call for participation in the 2011 Balisage Pre-conference Symposium on XML Document Interchange has just come out, or perhaps it&#8217;s for other reasons, but I found myself thinking today about the problem of specialized uses of generalized vocabularies. There are lots of vocabularies defined in fairly general terms: [...]]]></description>
			<content:encoded><![CDATA[<p>[23 January 2011]</p>
<p>Perhaps it&#8217;s because the call for participation in the <a href="http://www.balisage.net/interchange/index.html">2011 Balisage Pre-conference Symposium on XML Document Interchange</a> has just come out, or perhaps it&#8217;s for other reasons, but I found myself thinking today about the problem of specialized uses of generalized vocabularies.</p>
<p>There are lots of vocabularies defined in fairly general terms:  HTML, TEI, DocBook, the NLM article tag set, you can surely think of plenty yourself.</p>
<p>Often, for a specific purpose in a specific organization or project, it would be handy to have a much tighter, much more specific vocabulary (and thus one that&#8217;s semantically richer, easier to process, and easier to validate tightly).  For example, consider writing and managing an issues list (or a list of use cases, or any other list containing items of a specialized genre), in a generic vocabulary. It&#8217;s easy enough:  you just have a section for each issue and with that section you have standard sections on where the issue came from, what part of the project it relates to, its current status, and the history of your work on it.  Easy enough.  And if you&#8217;re the kind of person who write macros in whatever editor you use, you can write a macro to set up a new issue by adding a section of type &#8216;issue&#8217; with subsections with appropriate types and headings.  But isn&#8217;t that precisely what a markup-aware editor typically does?  Well, yes, typically:  any schema-aware editor can look at the schema, and as soon as you say &#8220;add a new issue&#8221; they can populate it with all of the required subelements.  Or, they could, if you had an element type called &#8216;issue&#8217;, with appropriately named sub-elements.  If instead you are using a generic &#8216;div&#8217; element, your editor is going to have a hard time helping you, because you haven&#8217;t said what you really mean.  You want an issue, but what you&#8217;ve said is &#8216;add a div&#8217;.</p>
<p>Some schemas, and some schema languages, try to make this easier by allowing you to say, essentially, that an issue element is kind of div, and that the content model for issue is a specialization of that for div (and so on).  This is better than nothing, but I&#8217;m probably not the only person who fails to use these facilities in all the cases where they would be helpful.  And when I do, I have to extend the standard stylesheets for my generic vocabulary to handle my new elements, because even when the stylesheet language supports the specialization mechanisms of the schema language (as XSLT 2.0 supports element substitution groups in XSD), most stylesheets are not written to take advantage of it.  And if I&#8217;m exchanging documents with someone else, they may or may not want to have to deal with my extensions to the schema.  </p>
<p>I wonder if we might get a better answer if (a) in our schema languages it were as easy to write a rule for <code>div type='issue'</code> as for <code>issue</code>, and (b) in our validation tools it were as easy to apply multiple grammars to a document as a single grammar, and to specify that the class of documents we are interested in is given by the intersection of the grammars, or by their union, or (for grammars A, B, C) by A &cup; (B &cap; &not; C).  Also (c) if for any schema extension mechanism it were easy to generate a transformation to take documents in the extended schema into the base schema, and vice versa.</p>
<p>Perhaps NVDL may be in a position to help with (b), though I&#8217;ve never learned it well enough to know and it seems to be more heavily freighted with unacknowledged assumptions about schema languages and validation than I&#8217;d like.</p>
<p>And perhaps Relax NG already can handle both (a) and (b).</p>
<p>Homework to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1171</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Giants and the KISS principle</title>
		<link>http://cmsmcq.com/mib/?p=1159</link>
		<comments>http://cmsmcq.com/mib/?p=1159#comments</comments>
		<pubDate>Wed, 12 Jan 2011 21:38:07 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[Information modeling]]></category>
		<category><![CDATA[Recreations]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1159</guid>
		<description><![CDATA[[12 January 2011] From time to time, my evil twin Enrique runs across passages in literature that seem to him to provide useful illustrations of important principles in information management. I don&#8217;t know, maybe he&#8217;s saving them up for the next time he teaches a class or something. The other day, he came by and [...]]]></description>
			<content:encoded><![CDATA[<p>[12 January 2011]</p>
<p>From time to time, my evil twin Enrique runs across passages in literature that seem to him to provide useful illustrations of important principles in information management.  I don&#8217;t know, maybe he&#8217;s saving them up for the next time he teaches a class or something.  </p>
<p>The other day, he came by and pointed me to a passage in J.K. Rowling&#8217;s <em>Harry Potter and the Order of the Phoenix</em> ([New York]:  Scholastic; London:  Bloomsbury, 2003):</p>
<div style="margin-left: 2em;">
&ldquo;In any case, giants &#8230; &mdash; overload &#8216;em with information an&#8217; they&#8217;ll kill yeh jus&#8217; to simplify things.&rdquo;
</div>
<p>&ldquo;That&#8217;s nice,&rdquo; I said.  &ldquo;The KISS principle in a nutshell.&rdquo;</p>
<p>&ldquo;What I want to know.&rdquo; Enrique said, &ldquo;is:  Where were the giants when they were needed in the [<em>WG name suppressed</em>] working group?&rdquo;</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1159</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to XForms, 14-15 February 2011</title>
		<link>http://cmsmcq.com/mib/?p=1157</link>
		<comments>http://cmsmcq.com/mib/?p=1157#comments</comments>
		<pubDate>Wed, 05 Jan 2011 20:20:41 +0000</pubDate>
		<dc:creator>cmsmcq</dc:creator>
				<category><![CDATA[Courses]]></category>
		<category><![CDATA[XForms]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://cmsmcq.com/mib/?p=1157</guid>
		<description><![CDATA[[5 January 2011] It&#8217;s official; on Monday and Tuesday, 14 and 15 February, I&#8217;ll be teaching a two-day hands-on course on XForms in Rockville, Maryland. Thanks to Mulberry Technologies for allowing me the use of their facilities. If you use XML seriously, particularly in a multi-person project or organization (but even if you are on [...]]]></description>
			<content:encoded><![CDATA[<p>[5 January 2011]</p>
<p>It&#8217;s official; on Monday and Tuesday, 14 and 15 February, I&#8217;ll be teaching a <a href="http://www.blackmesatech.com/2011/02/XForms/">two-day hands-on course</a> on XForms in Rockville, Maryland.  Thanks to <a href="http://www.mulberrytech.com/index.html" >Mulberry Technologies</a> for allowing me the use of their facilities.</p>
<p>If you use XML seriously, particularly in a multi-person project or organization (but even if you are on your own), and you don&#8217;t use XForms, then I think you owe it to yourself to look into the possibilities XForms offers for developing special-purpose editing interfaces for your XML documents.  Sometimes, you want a specialized tool to perform one particular task on your documents.  Consistency in some matters is a lot easier to achieve if you go over an entire body of material checking just the one thing in all documents.  Special-purpose interfaces can help here.</p>
<p>For example:  after long drawn-out battles, your project finally agrees on how to capitalize words in section headings:  sentence case or title case?  It would be nice to have a specialized editor that just showed you the section headings and let you edit them.  Or suppose you decide it&#8217;s time to make a pass over your entire Web site to improve accessibility.  As one task, you want to ensure that all of your images have <code>alt</code> text.  That will be easier if you have an interface in which you can pull up each Web page and have a text widget next to each image allowing you to type in the description.</p>
<p>If you&#8217;re interested in the course, see the <a href="http://www.blackmesatech.com/2011/02/XForms/">course Web page</a>.  If you&#8217;re interested in email announcements of courses (and other events at Black Mesa), subscribe to our (new!) <a href="http://lists.blackmesatech.com/blackmesatech-announce-l/">announcements list</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmsmcq.com/mib/?feed=rss2&#038;p=1157</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

