<?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>Elovirta.com &#187; Programming</title>
	<atom:link href="http://www.elovirta.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.elovirta.com</link>
	<description></description>
	<lastBuildDate>Sat, 04 Dec 2010 13:05:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Change history in code comments considered harmful</title>
		<link>http://www.elovirta.com/2010/11/20/change-history-in-code-comments-considered-harmful/</link>
		<comments>http://www.elovirta.com/2010/11/20/change-history-in-code-comments-considered-harmful/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 06:11:52 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://www.elovirta.com/?p=1087</guid>
		<description><![CDATA[I really dislike seeing code comments that say // Changed by X on date Y for bug Z start ... // Changed by X on date Y for bug Z end That is what revision control is for. Use commit &#8230; <a href="http://www.elovirta.com/2010/11/20/change-history-in-code-comments-considered-harmful/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.elovirta.com/wp-content/uploads/2010/11/x-l-150x150.gif" alt="" title="Harmful" width="150" height="150" class="alignright size-thumbnail wp-image-1090" />I really dislike seeing code comments that say</p>
<pre>// Changed by <var>X</var> on date <var>Y</var> for bug <var>Z</var> start
...
// Changed by <var>X</var> on date <var>Y</var> for bug <var>Z</var> end</pre>
<p>That is what <a href="http://en.wikipedia.org/wiki/Revision_control">revision control</a> is for. Use commit messages that describe the reason for the change and generally make commits that change only one thing at a time. That&#8217;s my preference over change history in code comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2010/11/20/change-history-in-code-comments-considered-harmful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choose your package carefully</title>
		<link>http://www.elovirta.com/2010/11/19/choose-your-package-carefully/</link>
		<comments>http://www.elovirta.com/2010/11/19/choose-your-package-carefully/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 09:27:31 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[dita-ot]]></category>

		<guid isPermaLink="false">http://www.elovirta.com/?p=1082</guid>
		<description><![CDATA[I don&#8217;t know what the situation was back when the project started, but if you now look at the DITA-OT Java package org.dita.dost, it makes you think why didn&#8217;t they choose something else. The package org.dita looks correct, but if &#8230; <a href="http://www.elovirta.com/2010/11/19/choose-your-package-carefully/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know what the situation was back when the project started, but if you now look at the DITA-OT Java package <code>org.dita.dost</code>, it makes you think why didn&#8217;t they choose something else. The package <code>org.dita</code> looks correct, but if you visit <a href="http://www.dita.org/" rel="nofollow">dita.org</a> you&#8217;ll see that the domain is used to host a personal website.</p>
<p>There is no real reason to change the current package name, but you have to admit that e.g. <code>net.sf.dita-ot</code> or <code>org.xml.dita</code> would have been more suitable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2010/11/19/choose-your-package-carefully/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DITA-OT version numbers</title>
		<link>http://www.elovirta.com/2010/11/10/dita-ot-version-numbers/</link>
		<comments>http://www.elovirta.com/2010/11/10/dita-ot-version-numbers/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 19:10:49 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[dita-ot]]></category>

		<guid isPermaLink="false">http://www.elovirta.com/?p=1074</guid>
		<description><![CDATA[I&#8217;ve never been a fan of the way DITA-OT versions its releases. When I see a version number 1.5.2, I assume the numbering scheme is major.minor.micro, i.e. it&#8217;s the second bug release to version 1.5. DITA-OT, however, uses a scheme &#8230; <a href="http://www.elovirta.com/2010/11/10/dita-ot-version-numbers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never been a fan of the way DITA-OT versions its releases. When I see a version number <code>1.5.2</code>, I assume the numbering scheme is <em>major.minor.micro</em>, i.e. it&#8217;s the second bug release to version <code>1.5</code>. DITA-OT, however, uses a scheme which is more or less <em>dita-major.ot-major.ot-minor</em> or you can think of the first number as a constant that doesn&#8217;t mean anything. In addition to this, the development releases use the version number <code>1.5.2 M6</code>, using a space character as the separator.</p>
<p>The version scheme I&#8217;d prefer to see is what e.g. OSGi uses. That is, <em>major.minor.micro.qualifier</em>. Thus the current DITA-OT version number would be something like <code>5.2.0.M6</code>. I naturally wouldn&#8217;t change version numbering at this release, but instead of making the next release <code>1.5.3</code> I would make that <code>2.0.0</code>. It would have made sense to do it at this stage to coincide with DITA 1.2 support, but it&#8217;s too late now. Anyhow, then the releases could reserve the third version number for bug releases (which DITA-OT doesn&#8217;t really ever release), and use the milestone version as the fourth part.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2010/11/10/dita-ot-version-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant RELAX NG schema</title>
		<link>http://www.elovirta.com/2009/04/13/ant-relax-ng-schema/</link>
		<comments>http://www.elovirta.com/2009/04/13/ant-relax-ng-schema/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 16:36:17 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[relax ng]]></category>

		<guid isPermaLink="false">http://www.elovirta.com/?p=297</guid>
		<description><![CDATA[I use oXygen to edit Ant build files and it uses a DTD for the schema. While that works well, the DTD has a few bugs and AFAICT does not support Ant 1.7. So, I wrote a RELAX NG schema &#8230; <a href="http://www.elovirta.com/2009/04/13/ant-relax-ng-schema/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.oxygenxml.com/">oXygen</a> to edit <a href="http://ant.apache.org/">Ant</a> build files and it uses a DTD for the schema. While that works well, the DTD has a few bugs and AFAICT does not support Ant 1.7. So, I wrote a <a href="http://relaxng.org/">RELAX NG</a> schema for Ant.</p>
<p>The choice between schema languages was easy, RELAX NG has everything I need and is pleasant to write. In addition, oXygen can use the documentation in the schema, so all the better. I used <a href="http://code.google.com/p/jing-trang/">Trang</a> to convert the original DTD to RELAX NG, then just edited the filed manually and occasionally with XSLT.</p>
<p>The code is hosted at <a href="http://github.com/jelovirt/ant-relaxng">GitHub</a>, licensed under GPL. It&#8217;s very much a work in progress, but it works for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2009/04/13/ant-relax-ng-schema/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Normalized DITA 1.1 DTD</title>
		<link>http://www.elovirta.com/2009/01/31/normalized-dita-11-dtd/</link>
		<comments>http://www.elovirta.com/2009/01/31/normalized-dita-11-dtd/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 09:49:37 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[dtd]]></category>
		<category><![CDATA[normalize]]></category>

		<guid isPermaLink="false">http://www.elovirta.com/?p=242</guid>
		<description><![CDATA[The DITA DTD files are highly modularized and while most XML processors have no problems dealing with nested parameter entities, in production environments this may introduce redundant complexity. In addition, because of the way DTD files are build, topic specializations &#8230; <a href="http://www.elovirta.com/2009/01/31/normalized-dita-11-dtd/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The DITA DTD files are highly modularized and while most XML processors have no problems dealing with nested parameter entities, in production environments this may introduce redundant complexity. In addition, because of the way DTD files are build, topic specializations contain elements from base types that cannot be used; for example, <code>body</code> element cannot be used if the root element is <code>concept</code>. One solution is to normalize the DTD files by resolving all parameter entities and removing their declarations, and removing comments and redundant elements.</p>
<ul>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/topic.dtd'>topic.dtd</a></li>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/concept.dtd'>concept.dtd</a></li>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/task.dtd'>task.dtd</a></li>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/reference.dtd'>reference.dtd</a></li>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/glossary.dtd'>glossary.dtd</a></li>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/ditabase.dtd'>ditabase.dtd</a></li>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/map.dtd'>map.dtd</a></li>
<li><a href='http://www.elovirta.com/wp-content/uploads/2009/01/bookmap.dtd'>bookmap.dtd</a></li>
</ul>
<p><a href='http://www.elovirta.com/wp-content/uploads/2009/01/ditadtd.zip'>All in ZIP file</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2009/01/31/normalized-dita-11-dtd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unicode, I like it</title>
		<link>http://www.elovirta.com/2008/07/30/unicode-i-like-it/</link>
		<comments>http://www.elovirta.com/2008/07/30/unicode-i-like-it/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 10:10:06 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://www.elovirta.com/?p=285</guid>
		<description><![CDATA[I&#8217;m a software developer and I like Unicode. I think I would like it if I wasn&#8217;t, but still. I just realized Unicode contains the characters used for Apple modifier keys: ⌥ option ⌘ command ⌃ control Will that make &#8230; <a href="http://www.elovirta.com/2008/07/30/unicode-i-like-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a software developer and I like Unicode. I think I would like it if I wasn&#8217;t, but still. I just realized Unicode contains the characters used for Apple modifier keys:</p>
<dl>
<dt>⌥</dt>
<dd><a href="http://en.wikipedia.org/wiki/Option_key">option</a></dd>
<dt>⌘</dt>
<dd><a href="http://en.wikipedia.org/wiki/Command_key">command</a></dd>
<dt>⌃</dt>
<dd><a href="http://en.wikipedia.org/wiki/Control_key">control</a></dd>
</dl>
<p>Will that make a difference in my life, ever? Probably not, but I think it&#8217;s still cool that I could use those characters in text if I wanted to. As in, instead of writing <q>press <strong>Option-Command-Esc</strong></q>, I would write <q>press <strong>⌥ ⌘ Esc</strong></q>. Yey!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2008/07/30/unicode-i-like-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DITA Authoring DTD Generator</title>
		<link>http://www.elovirta.com/2008/03/18/dita-authoring-dtd-generator/</link>
		<comments>http://www.elovirta.com/2008/03/18/dita-authoring-dtd-generator/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 08:54:23 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[authoring]]></category>
		<category><![CDATA[domain specialization]]></category>
		<category><![CDATA[generator]]></category>

		<guid isPermaLink="false">http://dita.elovirta.com/2008/03/18/dita-authoring-dtd-generator/</guid>
		<description><![CDATA[A DITA authoring DTD generator for creating DTDs that are not valid specialization, but can be used for authoring purposes. See DITA Architectural Specification for limits of specialization, in particular chapter &#8220;Customized subset document types for authoring&#8221; for description of &#8230; <a href="http://www.elovirta.com/2008/03/18/dita-authoring-dtd-generator/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A DITA authoring DTD generator for creating DTDs that are <em>not</em> valid specialization, but can be used for authoring purposes.<span id="more-16"></span> See <a href="http://docs.oasis-open.org/dita/v1.1/OS/archspec/speclimits.html">DITA Architectural Specification</a> for limits of specialization, in particular chapter &#8220;<a href="http://docs.oasis-open.org/dita/v1.1/OS/archspec/speclimits.html#customsubset">Customized subset document types for authoring</a>&#8221; for description of specialization possibilities. For valid specializations, see <a href="/2007/12/09/dita-specialization-generator/">DITA Specialization Generator</a>.</p>
<div class="note">
<p><strong>Note</strong>: There is a new version of the generator at <a href="/dita-generator/">DITA DTD Generator</a>. It does not enable all the possibilities offered here, but is more robust and support DITA 1.2.</p>
</div>
<p><script type="application/javascript" src="/wp-content/uploads/2008/03/form.js"></script></p>
<form action="/cgi-bin/dtdgenerator.py" method="get" onsubmit="return validateForm(event);" style="text-align: left" target="_blank">
<table>
<tbody>
<tr>
<th><label for="type">Base type</label>*</th>
<td colspan="2">
<select name="type" id="type" class="required">
<option value=""></option>
<option value="topic">topic</option>
<option value="concept">concept</option>
<option value="task">task</option>
<option value="reference">reference</option>
</select>
</td>
<td></td>
</tr>
<tr valign="top">
<th rowspan="6">Domains</th>
<td>
<input type="checkbox" name="domain" value="ui" /></td>
<td>User interface</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="hi" /></td>
<td>Highlight</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="pr" /></td>
<td>Programming</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="sw" /></td>
<td>Software</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="ut" />
  </td>
<td>Utilities</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="indexing" /></td>
<td>Indexing</td>
<td></td>
</tr>
<tr valign="top">
<th rowspan="2">Content-model rewrite</th>
<td>
<input type="checkbox" name="remove" value="separate" /></td>
<td>Block-inline separation</td>
<td></td>
</tr>
<tr valign="top">
<td>
<input type="checkbox" name="remove" value="foreigndata" />
  </td>
<td>foreign and data element removal</td>
<td></td>
</tr>
<tr>
<th><label for="root">Root element</label></th>
<td colspan="2">
<input type="text" name="root" id="root" class="xrequired" /></td>
<td>Leave empty to override base topic root element.</td>
</tr>
<tr>
<th><label for="nested">Nested topics</label></th>
<td colspan="2">
<input type="checkbox" name="nested" id="nested" value="true" /></td>
<td></td>
</tr>
<tr>
<th>Global attributes</th>
<td colspan="2"><textarea name="attribute">xtrc CDATA #IMPLIED&#xA;xtrf CDATA #IMPLIED</textarea></td>
<td>Attributes that are added globally by integrating into <code>%global-atts;</code>. Contents of the field are used as is in the DTD files.</td>
</tr>
<tr>
<th><label for="owner"><abbr title="Public Formal Identifier">PFI</abbr> owner</label></th>
<td colspan="2">
<input type="text" name="owner" id="owner" disabled="disabled" /></td>
<td>For example a domain. PFI will not be used if empty.</td>
</tr>
<tr valign="top">
<th rowspan="2">Download</th>
<td colspan="2"><button type="submit" name="file" value="dtd">dtd</button> <button type="submit" name="file" value="mod">mod</button></td>
<td></td>
</tr>
<tr valign="top">
<td colspan="2"><button type="submit" name="file" value="tgz">all files</button></td>
<td></td>
</tr>
</tbody>
</table>
<p>* denotes required fields
</p></form>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2008/03/18/dita-authoring-dtd-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MIME Media Type for DITA</title>
		<link>http://www.elovirta.com/2007/12/23/mime-media-type-for-dita/</link>
		<comments>http://www.elovirta.com/2007/12/23/mime-media-type-for-dita/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 08:45:50 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[mime-type]]></category>

		<guid isPermaLink="false">http://dita.elovirta.com/2007/12/23/mime-media-type-for-dita/</guid>
		<description><![CDATA[I&#8217;ve been wondering for a while now that why wasn&#8217;t registration of MIME Media Type for DITA included into the 1.1 spec? Methinks it would look something like this. MIME media type name: application MIME subtype name: dita+xml Required parameters: &#8230; <a href="http://www.elovirta.com/2007/12/23/mime-media-type-for-dita/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wondering for a while now that why wasn&#8217;t registration of MIME Media Type for DITA included into the 1.1 spec?<span id="more-14"></span> Methinks it would look something like this.</p>
<blockquote>
<dl>
<dt><strong>MIME media type name</strong>:</dt>
<dd>application</dd>
<dt><strong>MIME subtype name</strong>:</dt>
<dd>dita+xml</dd>
<dt><strong>Required parameters</strong>:</dt>
<dd>None.</dd>
<dt><strong>Optional parameters</strong>:</dt>
<dd>
<dl>
<dt>charset:</dt>
<dd>This parameter has identical semantics to the charset parameter of the application/xml media type as specified in [RFC3023].</dd>
</dl>
</dd>
<dt><strong>Encoding considerations</strong>:</dt>
<dd>By virtue of DITA content being XML, it has the same considerations when sent as &#8220;application/dita+xml&#8221; as does XML. See <a href="http://rfc.net/rfc3023.html#s3.2">RFC 3023, section 3.2</a>.</dd>
<dt><strong>Security considerations</strong>:</dt>
<dd>[<i>Something about conref.</i>]</dd>
<dt><strong>Interoperability considerations</strong>:</dt>
<dd>[<i>Haven't thought about this yet.</i>]</dd>
<dt><strong>Additional information</strong>:</dt>
<dd>
<dl>
<dt>Magic number(s):</dt>
<dd>There is no single initial octet sequence that is always present in DITA documents.</dd>
<dt>File extension(s):</dt>
<dd>DITA documents are most often identified with the extensions &#8220;.dita&#8221; or &#8220;.ditamap&#8221;.</dd>
<dt>Macintosh File Type Code(s):</dt>
<dd>TEXT</dd>
</dl>
</dd>
<dt><strong>Intended usage</strong>:</dt>
<dd>COMMON</dd>
<dt><strong>Author/Change controller</strong>:</dt>
<dd>The DITA  specification is a work product of the OASIS&#8217; DITA TC. The OASIS has change control over these specifications.</dd>
</dl>
</blockquote>
<p>This would allow us to change the definition of the <code>format</code> attribute e.g. in links into being a MIME Media Type, not a file extension.</p>
<h2>Update</h2>
<p>Three years later a MIME Type was added in <a href="http://docs.oasis-open.org/dita/v1.2/os/spec/non-normative/DITA-mime-type.html">DITA 1.2</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2007/12/23/mime-media-type-for-dita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DITA Specialization Generator</title>
		<link>http://www.elovirta.com/2007/12/09/dita-specialization-generator/</link>
		<comments>http://www.elovirta.com/2007/12/09/dita-specialization-generator/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 18:02:59 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[domain specialization]]></category>
		<category><![CDATA[generator]]></category>

		<guid isPermaLink="false">http://dita.elovirta.com/2007/12/09/dita-specialization-generator/</guid>
		<description><![CDATA[A DITA structural specialization generator for creating working DTDs that can be used as such or as stubs for further topic type development. All DTDs generated by the tool will be valid DITA specializations. Note: There is a new version &#8230; <a href="http://www.elovirta.com/2007/12/09/dita-specialization-generator/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A DITA structural specialization generator for creating working DTDs that can be used as such or as stubs for further topic type development. All DTDs generated by the tool will be valid DITA specializations.<span id="more-8"></span></p>
<p><strong>Note</strong>: There is a new version of the generator at <a href="/dita-generator/">DITA DTD Generator</a>.</p>
<p><script type="application/javascript" src="/wp-content/uploads/2008/03/form.js"></script></p>
<form action="/cgi-bin/dtdgenerator.py" method="get" onsubmit="return validateForm(event);" style="text-align: left" target="_blank">
<table>
<tbody>
<tr>
<th><label for="type">Base type</label>*</th>
<td colspan="2">
<select name="type" id="type" class="required">
<option value=""></option>
<option value="topic">topic</option>
<option value="concept">concept</option>
<option value="task">task</option>
<option value="reference">reference</option>
</select>
</td>
<td></td>
</tr>
<tr valign="top">
<th rowspan="6">Domains</th>
<td>
<input type="checkbox" name="domain" value="ui" /></td>
<td>User interface</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="hi" /></td>
<td>Highlight</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="pr" /></td>
<td>Programming</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="sw" /></td>
<td>Software</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="ut" />
  </td>
<td>Utilities</td>
<td></td>
</tr>
<tr>
<td>
<input type="checkbox" name="domain" value="indexing" /></td>
<td>Indexing</td>
<td></td>
</tr>
<tr>
<th><label for="root">Root element</label>*</th>
<td colspan="2">
<input type="text" name="root" id="root" class="required" value="" /></td>
<td></td>
</tr>
<tr>
<th><label for="nested">Nested topics</label></th>
<td colspan="2">
<input type="checkbox" name="nested" id="nested" value="true" /></td>
<td></td>
</tr>
<tr>
<th><label for="owner"><abbr title="Public Formal Identifier">PFI</abbr> owner</label></th>
<td colspan="2">
<input type="text" name="owner" id="owner" value="" /></td>
<td>For example a domain. PFI will not be used if empty.</td>
</tr>
<tr valign="top">
<th rowspan="2">Download</th>
<td colspan="2"><button type="submit" name="file" value="dtd">dtd</button> <button type="submit" name="file" value="mod">mod</button></td>
<td>Opens in new window</td>
</tr>
<tr valign="top">
<td colspan="2"><button type="submit" name="file" value="tgz">all files</button></td>
<td></td>
</tr>
</tbody>
</table>
<p>* denotes required fields
</p></form>
<h3>Change History</h3>
<table border="1">
<tr>
<th>Version</th>
<th>Date</th>
<th>Description</th>
</tr>
<tr>
<td>1.0.0</td>
<td>2007-12-09</td>
<td>Initial release.</td>
</tr>
<tr>
<td>1.1.0</td>
<td>2008-03-17</td>
<td>Added restriction not to override DITA root elements.</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2007/12/09/dita-specialization-generator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ISO Schematron schema for DITA 1.1 and 1.2</title>
		<link>http://www.elovirta.com/2007/10/27/iso-schematron-schema-for-dita-11/</link>
		<comments>http://www.elovirta.com/2007/10/27/iso-schematron-schema-for-dita-11/#comments</comments>
		<pubDate>Sat, 27 Oct 2007 08:47:17 +0000</pubDate>
		<dc:creator>Jarno Elovirta</dc:creator>
				<category><![CDATA[DITA]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[schematron]]></category>

		<guid isPermaLink="false">http://test.elovirta.com/2007/10/27/iso-schematron-schema-for-dita-11/</guid>
		<description><![CDATA[NOTE: See GitHub project pages for current information. This page is retained as legacy placeholder. ISO Schematron schema for DITA 1.1 and 1.2 that handles cases that DTDs or XML Schemas cannot control. The current implementation covers for example: nesting &#8230; <a href="http://www.elovirta.com/2007/10/27/iso-schematron-schema-for-dita-11/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>NOTE</strong>: See <a href="http://wiki.github.com/jelovirt/dita-schematron/">GitHub project pages</a> for current information. This page is retained as legacy placeholder.</p>
<p>ISO Schematron schema for DITA 1.1 and 1.2 that handles cases that DTDs or XML Schemas cannot control. The current implementation covers for example:</p>
<ul>
<li>nesting links inside links or titles</li>
<li>deprecated attributes and attributes</li>
<li>attributes not intended for author use.</li>
</ul>
<p>Download <a href="http://github.com/jelovirt/dita-schematron/downloads" title="Schematron for DITA distribution">latest version</a> from GitHub. The schema is released under <a href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a>.</p>
<p><span id="more-5"></span></p>
<h3>Usage</h3>
<p>The schema comes in two parts,</p>
<ul>
<li>dita-1.1.sch</li>
<li>dita-1.2.sch</li>
</ul>
<p>for different DITA versions. The schema has three phases:</p>
<dl>
<dt><code>specificationMandates</code></dt>
<dd>constraints in the DITA language specification prose</dd>
<dt><code>recommendations</code></dt>
<dd>constraints and recommendations in the DITA language specification prose</dd>
<dt><code>authoringRecommendations</code></dt>
<dd>recommendations for authors</dd>
</dl>
<h3>Change History</h3>
<p>See <a href="http://github.com/jelovirt/dita-schematron/downloads">GitHub downloads</a> for latest releases.</p>
<table border="1">
<tr>
<th>Version</th>
<th>Date</th>
<th>Description</th>
<th>Download</th>
</tr>
<tr>
<td>1.0.0</td>
<td>2007-08-31</td>
<td>Initial release.</td>
<td><a href="/wp-content/uploads/2007/10/dita_100.sch" title="Schematron for DITA version 1.0.0">dita_100.sch</a></td>
</tr>
<tr>
<td>1.1.0</td>
<td>2007-09-17</td>
<td>Added deprecations.</td>
<td><a href="/wp-content/uploads/2007/10/dita_110.sch" title="Schematron for DITA version 1.1.0">dita_110.sch</a></td>
</tr>
<tr>
<td>1.1.1</td>
<td>2007-12-09</td>
<td>Added GNU LGPL.</td>
<td><a href="/wp-content/uploads/2007/12/dita_111.sch" title="Schematron for DITA version 1.1.1">dita_111.sch</a></td>
</tr>
<tr>
<td>1.2.0</td>
<td>2007-12-18</td>
<td>Added id attribute for elements with a title.</td>
<td><a href="/wp-content/uploads/2007/12/dita-120.sch" title="Schematron for DITA version 1.2.0">dita-120.sch</a></td>
</tr>
<tr>
<td>1.3.0</td>
<td>2007-04-01</td>
<td>Added indextermref. Corrected deprecated element message.</td>
<td><a href="/wp-content/uploads/2008/04/dita-130.sch" title="Schematron for DITA version 1.3.0">dita-130.sch</a></td>
</tr>
<tr>
<td>1.4.0</td>
<td>2008-04-02</td>
<td>Added rule for single paragraph.</td>
<td><a href="/wp-content/uploads/2008/04/dita-140.sch" title="Schematron for DITA version 1.4.0">dita-140.sch</a></td>
</tr>
<tr>
<td>1.5.0</td>
<td>2008-04-08</td>
<td>Added rule for spectitle in simpletable.</td>
<td><a href="/wp-content/uploads/2008/04/dita-150.sch" title="Schematron for DITA version 1.5.0">dita-150.sch</a></td>
</tr>
<tr>
<td>1.5.1</td>
<td>2008-04-08</td>
<td>Made spectitle rule more general and added specentry and no-topic-nesting rules.</td>
<td><a href="/wp-content/uploads/2008/04/dita-151.sch" title="Schematron for DITA version 1.5.1">dita-151.sch</a></td>
</tr>
<tr>
<td>1.6.0</td>
<td>2008-04-24</td>
<td>Added phased. Added patterns.</td>
<td><a href="/wp-content/uploads/2008/04/dita-160.sch" title="Schematron for DITA version 1.6.0">dita-160.sch</a></td>
</tr>
<tr>
<td>1.6.1</td>
<td>2008-06-09</td>
<td>Reorganized to remove Oxygen NVDL invalid error message.</td>
<td><a href="/wp-content/uploads/2008/06/dita-161.sch" title="Schematron for DITA version 1.6.1">dita-161.sch</a></td>
</tr>
<tr>
<td>1.7.0</td>
<td>2008-06-09</td>
<td>Changed phase name to clear that not all recommendations come from the spec.<br />
Added source comments.<br />
Added pre exclusions from HTML 4.</td>
<td><a href="/wp-content/uploads/2008/06/dita-170.sch" title="Schematron for DITA version 1.7.0">dita-170.sch</a></td>
</tr>
<tr>
<td>1.8.0</td>
<td>2008-07-16</td>
<td>Added tests for role attribute.</td>
<td><a href='/wp-content/uploads/2008/07/dita-180.sch' title="Schematron for DITA version 1.8.0">dita-180.sch</a></td>
</tr>
<tr>
<td>2.0.0</td>
<td>2008-12-18</td>
<td>Added 1.2 recommendations.</td>
<td><a href='/wp-content/uploads/2007/10/dita-200.sch' title="Schematron for DITA version 2.0.0">dita-200.sch</a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.elovirta.com/2007/10/27/iso-schematron-schema-for-dita-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

