<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>About oXygen XML Editor</title>
</head>
<body>
<style type="text/css">
h1 a:hover {background-color:#888;color:#fff ! important;}
div#emailbody table#itemcontentlist tr td div ul {
list-style-type:square;
padding-left:1em;
}
div#emailbody table#itemcontentlist tr td div blockquote {
padding-left:6px;
border-left: 6px solid #dadada;
margin-left:1em;
}
div#emailbody table#itemcontentlist tr td div li {
margin-bottom:1em;
margin-left:1em;
}
table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {
color:#000099;
font-weight:bold;
text-decoration:none;
}
img {border:none;}
</style>
<div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;">
<table style="border:0;padding:0;margin:0;width:100%">
<tr>
<td style="vertical-align:top" width="99%">
<h1 style="margin:0;padding-bottom:6px;">
<a style="color:#888;font-size:22px;font-family:Arial,Helvetica,Sans-Serif;font-weight:normal;text-decoration:none;" href="http://blog.oxygenxml.com/" title="(http://blog.oxygenxml.com/)">About oXygen XML Editor</a>
</h1>
</td>
<td width="1%" />
</tr>
</table>
<hr style="border:1px solid #ccc;padding:0;margin:0" />
<table id="itemcontentlist">
<tr xmlns="">
<td style="margin-bottom:0;line-height:1.4em;">
<p style="margin:1em 0 3px 0;">
<a name="1" style="font-family:Arial,Helvetica,Sans-Serif;font-size:18px;" href="http://feedproxy.google.com/~r/AboutOxygenXmlEditor/~3/eQSoXbR5Vjg/schematron-checks-to-help-technical.html?utm_source=feedburner&utm_medium=email">Schematron Checks to help Technical Writing</a>
</p>
<p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;">
<span>Posted:</span> 21 May 2015 03:56 AM PDT</p>
<div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"><div class="body"> <p class="p">The Oxygen XML Editor User's Manual is written in DITA. In an older post I described <a class="xref" href="http://blog.oxygenxml.com/2014/11/collaboration-for-documenting-software.html" target="_blank">in more detail </a> how we collaborate internally on our User's Guide Project. And we also made available a copy of our User's Manual as a <a class="xref" href="https://github.com/oxygenxml/userguide" target="_blank">project on GitHub</a>.</p> <p class="p">During these years on working on it, we progressively developed a set of simple rules which were originally kept in a plain text document. The problem is that nobody can really remember all these rules when actually writing. So recently we started to migrate these rules to Schematron and have them reported automatically has validation warnings and errors while editing the topics. And with the release of Oxygen 17 we can now also add <a class="xref" href="http://www.oxygenxml.com/doc/ug-oxygen/#topics/schematron-quick-fixes.html" target="_blank">quick fixes</a> for each of these problems.</p> <p class="p">So below I will try to tell you what each rule imposes and what it's Schematron implementation looks like. If you want to quickly test these rules on your side, you can add them to the Schematron file which is used by default to validate DITA topics located in: <span class="ph filepath">OXYGEN_INSTALL_DIR/frameworks/dita/resources/dita-1.2-for-xslt2-mandatory.sch</span>.</p> <ol class="ol" id="topic_hkx_gzc_cs__ol_zkg_vfj_cs"> <li class="li">Try as much as possible to add at least an <span class="keyword">indexterm</span> element in each topic. This is useful when the <strong class="ph b">Index</strong> page is created for the PDF output or the <strong class="ph b">Index</strong> tab is created for the WebHelp output. As this is not a requirement, we wanted to report this issue as an error. The end result looks like this:<br/><img class="image" id="topic_hkx_gzc_cs__image_y11_ckj_cs" src="data:image/png;base64,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"/><br/> And the Schematron pattern looks like this:<pre class="pre codeblock language-xml"><strong class="hl-tag" style="color:#000096"><pattern</strong> <span class="hl-attribute" style="color: #ff7935">xmlns:sqf</span>=<span class="hl-value" style="color: #993300">"http://www.schematron-quickfix.com/validator/process"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><rule</strong> <span class="hl-attribute" style="color: #ff7935">context</span>=<span class="hl-value" style="color: #993300">"/*"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><assert</strong> <span class="hl-attribute" style="color: #ff7935">test</span>=<span class="hl-value" style="color: #993300">"prolog/metadata/keywords/indexterm"</span> <span class="hl-attribute" style="color: #ff7935">role</span>=<span class="hl-value" style="color: #993300">"warn"</span> <span class="hl-attribute" style="color: #ff7935">sqf:fix</span>=<span class="hl-value" style="color: #993300">"addFragment"</span><strong class="hl-tag" style="color:#000096">></strong><br /> It is recommended to add an 'indexterm' in the current '<strong class="hl-tag" style="color:#000096"><name/></strong>' element.<br /> <strong class="hl-tag" style="color:#000096"></assert></strong><br /> <em class="hl-comment" style="color:#006400"><!-- Quick fix to add the indexterm element element and its parents --></em><br /> <strong class="hl-tag" style="color:#000096"><sqf:fix</strong> <span class="hl-attribute" style="color: #ff7935">id</span>=<span class="hl-value" style="color: #993300">"addFragment"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:description></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:title></strong>Add the 'indexterm' element<strong class="hl-tag" style="color:#000096"></sqf:title></strong><br /> <strong class="hl-tag" style="color:#000096"></sqf:description></strong> <br /> <strong class="hl-tag" style="color:#000096"><sqf:add</strong> <span class="hl-attribute" style="color: #ff7935">match</span>=<span class="hl-value" style="color: #993300">"(title | titlealts | abstract | shortdesc)[last()]"</span> <span class="hl-attribute" style="color: #ff7935">position</span>=<span class="hl-value" style="color: #993300">"after"</span> <span class="hl-attribute" style="color: #ff7935">use-when</span>=<span class="hl-value" style="color: #993300">"not(prolog)"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><prolog</strong> <span class="hl-attribute" style="color: #ff7935">xmlns</span>=<span class="hl-value" style="color: #993300">""</span><strong class="hl-tag" style="color:#000096">></strong><strong class="hl-tag" style="color:#000096"><metadata></strong><strong class="hl-tag" style="color:#000096"><keywords></strong><strong class="hl-tag" style="color:#000096"><indexterm></strong> <strong class="hl-tag" style="color:#000096"></indexterm></strong><strong class="hl-tag" style="color:#000096"></keywords></strong> <strong class="hl-tag" style="color:#000096"></metadata></strong><strong class="hl-tag" style="color:#000096"></prolog></strong><br /> <strong class="hl-tag" style="color:#000096"></sqf:add></strong><br /> <strong class="hl-tag" style="color:#000096"></sqf:fix></strong><br /> <strong class="hl-tag" style="color:#000096"></rule></strong><br /><strong class="hl-tag" style="color:#000096"></pattern></strong></pre></li> <li class="li">The ID of each topic must be equal to the file name (minus the extension). One of the outputs we produce (I think CHM) had a limitation when building the context mapping between help IDs and actual HTML content so this was an important rule for us, thus an error is reported on this. Also a quick fix is added to auto-correct the topic ID based on the file name. The end result looks like this: <br/><img class="image" id="topic_hkx_gzc_cs__image_jms_lkj_cs" src="data:image/png;base64,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"/><br/>and the Schematron pattern is:<pre class="pre codeblock language-xml"><em class="hl-comment" style="color:#006400"><!-- Topic ID must be equal to file name --></em><br /><strong class="hl-tag" style="color:#000096"><sch:pattern></strong><br /> <strong class="hl-tag" style="color:#000096"><sch:rule</strong> <span class="hl-attribute" style="color: #ff7935">context</span>=<span class="hl-value" style="color: #993300">"/*[1][contains(@class, ' topic/topic ')]"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><sch:let</strong> <span class="hl-attribute" style="color: #ff7935">name</span>=<span class="hl-value" style="color: #993300">"reqId"</span> <span class="hl-attribute" style="color: #ff7935">value</span>=<span class="hl-value" style="color: #993300">"replace(tokenize(document-uri(/), '/')[last()], '\.dita', '')"</span><strong class="hl-tag" style="color:#000096">/></strong><br /> <strong class="hl-tag" style="color:#000096"><sch:assert</strong> <span class="hl-attribute" style="color: #ff7935">test</span>=<span class="hl-value" style="color: #993300">"@id = $reqId"</span> <span class="hl-attribute" style="color: #ff7935">sqf:fix</span>=<span class="hl-value" style="color: #993300">"setId"</span><strong class="hl-tag" style="color:#000096">></strong><br /> Topic ID must be equal to file name.<br /> <strong class="hl-tag" style="color:#000096"></sch:assert></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:fix</strong> <span class="hl-attribute" style="color: #ff7935">id</span>=<span class="hl-value" style="color: #993300">"setId"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:description></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:title></strong>Set "<strong class="hl-tag" style="color:#000096"><sch:value-of</strong> <span class="hl-attribute" style="color: #ff7935">select</span>=<span class="hl-value" style="color: #993300">"$reqId"</span><strong class="hl-tag" style="color:#000096">/></strong>" as a topic ID<strong class="hl-tag" style="color:#000096"></sqf:title></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:p></strong>The topic ID must be equal to the file name.<strong class="hl-tag" style="color:#000096"></sqf:p></strong><br /> <strong class="hl-tag" style="color:#000096"></sqf:description></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:replace</strong> <span class="hl-attribute" style="color: #ff7935">match</span>=<span class="hl-value" style="color: #993300">"@id"</span> <span class="hl-attribute" style="color: #ff7935">node-type</span>=<span class="hl-value" style="color: #993300">"attribute"</span> <span class="hl-attribute" style="color: #ff7935">target</span>=<span class="hl-value" style="color: #993300">"id"</span> <span class="hl-attribute" style="color: #ff7935">select</span>=<span class="hl-value" style="color: #993300">"$reqId"</span><strong class="hl-tag" style="color:#000096">/></strong><br /> <strong class="hl-tag" style="color:#000096"></sqf:fix></strong><br /> <strong class="hl-tag" style="color:#000096"></sch:rule></strong><br /><strong class="hl-tag" style="color:#000096"></sch:pattern></strong></pre></li> <li class="li">Report when plain links or related links to web resources have the same text inside them as the value of the <strong class="ph b">@href</strong> attribute. We had cases in which writers would input web links like this:<pre class="pre codeblock language-xml"><strong class="hl-tag" style="color:#000096"><xref</strong> <span class="hl-attribute" style="color: #ff7935">href</span>=<span class="hl-value" style="color: #993300">"http://www.google.com"</span> <span class="hl-attribute" style="color: #ff7935">format</span>=<span class="hl-value" style="color: #993300">"html"</span> <span class="hl-attribute" style="color: #ff7935">scope</span>=<span class="hl-value" style="color: #993300">"external"</span><strong class="hl-tag" style="color:#000096">></strong>http://www.google.com<strong class="hl-tag" style="color:#000096"></xref></strong></pre>which is redundant because when you set no text to the link, the publishing uses the<strong class="ph b"> @href</strong> attribute value as the link text. So we wanted to report such cases as warnings and to have a quick fix which removes the link text:<br/><img class="image" id="topic_hkx_gzc_cs__image_kcb_5kj_cs" src="data:image/png;base64,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"/><br/>The Schematron pattern looks like this:<pre class="pre codeblock language-xml"><strong class="hl-tag" style="color:#000096"><sch:pattern></strong><br /> <strong class="hl-tag" style="color:#000096"><sch:rule</strong> <span class="hl-attribute" style="color: #ff7935">context</span>=<span class="hl-value" style="color: #993300">"*[contains(@class, ' topic/xref ') or contains(@class, ' topic/link ')]"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><sch:report</strong> <span class="hl-attribute" style="color: #ff7935">test</span>=<span class="hl-value" style="color: #993300">"@scope='external' and @href=text()"</span> <span class="hl-attribute" style="color: #ff7935">sqf:fix</span>=<span class="hl-value" style="color: #993300">"removeText"</span><strong class="hl-tag" style="color:#000096">></strong><br /> Link text is same as @href attribute value. Please remove.<br /> <strong class="hl-tag" style="color:#000096"></sch:report></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:fix</strong> <span class="hl-attribute" style="color: #ff7935">id</span>=<span class="hl-value" style="color: #993300">"removeText"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:description></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:title></strong>Remove redundant link text, text is same as @href value.<strong class="hl-tag" style="color:#000096"></sqf:title></strong><br /> <strong class="hl-tag" style="color:#000096"></sqf:description></strong><br /> <strong class="hl-tag" style="color:#000096"><sqf:delete</strong> <span class="hl-attribute" style="color: #ff7935">match</span>=<span class="hl-value" style="color: #993300">"text()"</span><strong class="hl-tag" style="color:#000096">/></strong><br /> <strong class="hl-tag" style="color:#000096"></sqf:fix></strong><br /> <strong class="hl-tag" style="color:#000096"></sch:rule></strong><br /><strong class="hl-tag" style="color:#000096"></sch:pattern></strong></pre></li> <li class="li">Avoid using the <strong class="ph b">@scale</strong> attribute on images. We wanted to smooth scale images in an external image editor so it was prohibited to use the <strong class="ph b">@scale</strong> attribute on images. The Schematron pattern for this:<pre class="pre codeblock language-xml"><strong class="hl-tag" style="color:#000096"><pattern></strong><br /> <strong class="hl-tag" style="color:#000096"><rule</strong> <span class="hl-attribute" style="color: #ff7935">context</span>=<span class="hl-value" style="color: #993300">"*[contains(@class, ' topic/image ')]"</span><strong class="hl-tag" style="color:#000096">></strong><br /> <strong class="hl-tag" style="color:#000096"><assert</strong> <span class="hl-attribute" style="color: #ff7935">test</span>=<span class="hl-value" style="color: #993300">"not(@scale)"</span><strong class="hl-tag" style="color:#000096">></strong><br /> Dynamically scaled images are not properly displayed, you<br /> should scale the image with an image tool and keep it within<br /> the recommended with and height limits.<br /> <strong class="hl-tag" style="color:#000096"></assert></strong><br /> <strong class="hl-tag" style="color:#000096"></rule></strong><br /><strong class="hl-tag" style="color:#000096"></pattern></strong></pre></li> </ol> <p class="p">We have an upcoming webinar dedicated to <a class="xref" href="http://www.oxygenxml.com/events/2015/webinar_oxygen_17_xml_quick_fixes.html" target="_blank">Schematron Quick Fixes</a>. There is a W3C working group for <a href="https://www.w3.org/community/quickfix/">XML Quick Fixes</a> and you calso read the <a href="http://schematron-quickfix.github.io/sqf">SQF Quick Fix specification</a> if you want to become more familiar with the technology. <br />We also have a <a class="xref" href="https://github.com/oxygenxml/dim" target="_blank">GitHub project</a> which tries to combine the notion of a style guide for writing documentation inside a company with a very simple manner of defining checks which can be applied to impose the styleguide rules. </p> <p class="p">I would be interested in your feedback, especially if you have checks that you perform right now on your content and you consider that they might benefit others.</p> </div><img src="http://feeds.feedburner.com/~r/AboutOxygenXmlEditor/~4/eQSoXbR5Vjg?utm_source=feedburner&utm_medium=email" height="1" width="1" alt=""/></div>
</td>
</tr>
</table>
<table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer">
<tr>
<td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;">You are subscribed to email updates from <a href="http://blog.oxygenxml.com/">About oXygen XML Editor</a>
<br />To stop receiving these emails, you may <a href="https://feedburner.google.com/fb/a/mailunsubscribe?k=y_tRXtumvTurKTedh51JnlYsGXw">unsubscribe now</a>.</td>
<td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top">Email delivery powered by Google</td>
</tr>
<tr>
<td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;">Google Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States</td>
</tr>
</table>
</div>
</body>
</html>