<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Structured Authoring</title>
	
	<link>http://structuredauthoring.org</link>
	<description>Learning Structured Authoring - Tools and Processes</description>
	<lastBuildDate>Sun, 21 Feb 2010 16:38:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/StructuredAuthoring" /><feedburner:info uri="structuredauthoring" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Arbortext Editor Tip – More on Collapsing and Expanding</title>
		<link>http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-collapsing-expanding/</link>
		<comments>http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-collapsing-expanding/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 16:38:42 +0000</pubDate>
		<dc:creator>JeffStein</dc:creator>
				<category><![CDATA[Arbortext Editor]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=483</guid>
		<description><![CDATA[In an earlier post, Douglas Wade reviewed the basics of collapsing and expanding in Arbortext Editor. I would like to add a few thoughts about this feature as it relates to tables. ﻿
I recently started working on some SGML files that have large tables. I&#8217;m talking really large. I found that the performance of Arbortext [...]]]></description>
			<content:encoded><![CDATA[<p>In an earlier post, Douglas Wade reviewed the basics of <a href="http://structuredauthoring.org/arbortext-editor/arbortext-tip-collapse-expand-elements/">collapsing and expanding</a> in Arbortext Editor. I would like to add a few thoughts about this feature as it relates to tables. ﻿</p>
<p>I recently started working on some SGML files that have large tables. I&#8217;m talking really large. I found that the performance of Arbortext Editor slowed considerably whenever I encountered one of these tables.</p>
<p>Then I received a great piece of advice: If you&#8217;re not working on tables, collapse them.</p>
<p>You can start by closing all of the tables in your file. Go to the View menu and select Collapse/Expand Divisions. Select the table element and click Collapse.<a rel="attachment wp-att-489" href="http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-collapsing-expanding/attachment/collapse-expand-divisions/"><img class="alignnone size-full wp-image-489" src="http://structuredauthoring.org/wp-content/uploads/2010/02/collapse-expand-divisions.png" alt="Collapse/Expand Divisions" width="303" height="221" /></a></p>
<p>Now when you need to work on a specific table, expand that table, do whatever you need to do, and collapse it again when you&#8217;re done.</p>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-collapsing-expanding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arbortext Editor Tip – Identifying Text Entities</title>
		<link>http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-identifying-text-entities/</link>
		<comments>http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-identifying-text-entities/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 21:25:15 +0000</pubDate>
		<dc:creator>JeffStein</dc:creator>
				<category><![CDATA[Arbortext Editor]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=456</guid>
		<description><![CDATA[In Arbortext Editor, a text entity is a named piece of content. For example, you could create a text entity called Product Name with the content Widget Analyzer 2010. Text entities help you to achieve consistency both within and across documents. Simple enough, right?
Let&#8217;s assume that you have an SGML file open and you know [...]]]></description>
			<content:encoded><![CDATA[<p>In Arbortext Editor, a text entity is a named piece of content. For example, you could create a text entity called <strong>Product Name</strong> with the content <strong>Widget Analyzer 2010</strong>. Text entities help you to achieve consistency both within and across documents. Simple enough, right?</p>
<p>Let&#8217;s assume that you have an SGML file open and you know that a particular phrase or sentence is already a text entity &#8212; but you don&#8217;t know the unique name of the text entity. How can you easily figure out the name?</p>
<p>One of my co-workers said that she goes to the View menu and selects Text Entities. The content of the text entity is replaced by a tag that displays the name.</p>
<p><a rel="attachment wp-att-455" href="http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-identifying-text-entities/attachment/text-entities-tag/"><img class="alignnone size-medium wp-image-455" src="http://structuredauthoring.org/wp-content/uploads/2010/01/text-entities-tag-300x40.png" alt="text entity tag" width="300" height="40" /></a></p>
<p>Then I told her my approach. Place your cursor inside the phrase or sentence and choose Entities &gt; Text. The Text Entities dialog box appears with the entity highlighted.</p>
<p><a rel="attachment wp-att-454" href="http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-identifying-text-entities/attachment/text-entities-db/"><img class="alignnone size-full wp-image-454" src="http://structuredauthoring.org/wp-content/uploads/2010/01/text-entities-db.png" alt="Text Entities Dialog Box" width="456" height="176" /></a></p>
<p>My co-worker said that she liked my approach better. Sweet!</p>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/arbortext-editor/arbortext-editor-tip-identifying-text-entities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PubWright Podcast</title>
		<link>http://structuredauthoring.org/sa/pubwright-podcast/</link>
		<comments>http://structuredauthoring.org/sa/pubwright-podcast/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 15:00:26 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[Arbortext Editor]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=417</guid>
		<description><![CDATA[My friend Liz Fraley of Single-Sourcing Solutions asked to interview me in a podcast. We have chatted over the last few months on how we wanted to do this. I knew I want to, I needed to learn that medium. So, we played with some technology, and using Skype, and recorders on both ends and [...]]]></description>
			<content:encoded><![CDATA[<p>My friend Liz Fraley of <a href="http://www.single-sourcing.com/">Single-Sourcing Solutions</a> asked to interview me in a podcast. We have chatted over the last few months on how we wanted to do this. I knew I want to, I needed to learn that medium. So, we played with some technology, and using Skype, and recorders on both ends and we hammered out the first podcast.</p>
<p>Liz took the raw recordings and enhanced them and the conversation sounded good. The podcast collection is called PubWright Podcasts; it is mostly about the Arbortext community. The PubWright <span>podcast</span> interviews Arbortext implementers, customers, and experts in an attempt to share knowledge with the greater Arbortext community. The first podcast featured me. I wanted few more episodes to be released, before I mentioned anything,  (the quality of the guest can only go up). So check out the podcast.</p>
<div id=":14">This is a <span>Podcast</span> series available <a href="http://podcast.single-sourcing.com/" target="_blank">here</a> and on iTunes <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=333381845" target="_blank">here</a>.</p>
<p><a href="http://podcast.single-sourcing.com/" target="_blank">http://<span>podcast</span>.<span>single</span>-sourcing.com</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/pubwright-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiki Help Files</title>
		<link>http://structuredauthoring.org/sa/wiki-help-file/</link>
		<comments>http://structuredauthoring.org/sa/wiki-help-file/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 15:00:15 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[ACL]]></category>
		<category><![CDATA[Arbortext Editor]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=409</guid>
		<description><![CDATA[One thing that I think about all the time is how to improve documentation. One thing I would like to have is documentation that is context sensitive in Arbortext and collaborative.  At work we have a style guide which determines &#8220;what&#8221; we are to do but rather than &#8220;how&#8221; to do it.  Many years ago, [...]]]></description>
			<content:encoded><![CDATA[<p>One thing that I think about all the time is how to improve documentation. One thing I would like to have is documentation that is context sensitive in Arbortext and collaborative.  At work we have a style guide which determines &#8220;what&#8221; we are to do but rather than &#8220;how&#8221; to do it.  Many years ago, I placed all of the &#8220;how to&#8221; documentation into Microsoft Word, saved it out as PDF, yet I struggled with this. Next, I desired to work more in XML, so I adopted Docbook. All the Microsoft documents were converted to Docbook which I pushed out, HTML pages, PDF files, and Microsoft Help (.chm) files.</p>
<p>The biggest issue was that I was the single bellybutton to all the documentation. I strived for a collaborative solution. I worked with Wiki&#8217;s and set out to install one. Our corporate structure would not allow me to install one. The company had just created one, and they only wanted one in the company culture. I was not sure that I wanted all my documentation out there for all to see. Because I work for a large aerospace company. However, I got over it; it was more important to have collaborative tools rather than my pride. I imported all the docbook information into our Wiki.</p>
<p>The biggest complaint of the wiki was its weak search. I wanted a way for a writer who is authoring in a SGML/XML file, to hit the help button and go to an exact area in the documentation. The Arbortext Editor has the Shift-F1 to present a customized help. I played with it trying to add hyperlinks to those files. With the help of the <a href="http://portal.ptcuser.org/l/pw/rs">adepters</a> mailing list and <a href="mailto:chelberg@terraxml.com">Clay Helberg</a> (a Arbortext guru), he mentioned a few things, one being of which is remapping the Shift-F1 key. The other is how to open a file. So, I used the <em>browse_url</em> function which launches a HTML page, in my case a Wiki page. I needed to add more information in the URL based on the two things: the DTD name and element name. In the Wiki, I am using subpages which are like a collection. All pages will be a subpages grouped in &#8220;Structured-Elements&#8221; and also &#8220;38784&#8243; (the DTD name) followed by the tag name. The tag is found using the ACL functions of  <em>oid_name(oid_caret())</em>. The <em>oid_caret</em> is the cursor position and <em>oid_name</em> is the name of the element. So below is the code snippet: I placed it inside my ACL file located at  (&lt;arbortext-home&gt;/custom/editinit) which gets sourced when a document is opened.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$dtd</span> = public_id<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="kw1">if</span> <span class="br0">&#40;</span>match<span class="br0">&#40;</span><span class="re0">$dtd</span>,<span class="st0">&quot;38784&quot;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<a href="http://perldoc.perl.org/functions/map.html"><span class="kw3">map</span></a> shift-f1 <span class="br0">&#123;</span> browse_url<span class="br0">&#40;</span><span class="st0">&quot;http://wiki.yourcompany.com/wiki/Structured-Elements/&quot;</span> . &nbsp;<span class="st0">&quot;38784/&quot;</span> . oid_name<span class="br0">&#40;</span>oid_caret<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p>When the writers place the cursor inside an element, for example,  &lt;title&gt;, and then does a Shift-F1, the Arbortext Editor will open to a Wiki page by element and DTD name.</p>
<p>That was the easy part, now is the hard part; populating the Wiki with content on the elements. With Mil-Spec DTD&#8217;s (some of our work uses them), we have a TDT file (it contains all the element names and attributes with descriptions). My co-worker, Joe, our other Software Engineer, wrote a Perl script to convert each element to a Wiki page. I will import a couple of hundred new Wiki pages here in the next few days.</p>
<p>The final part is adding extra links in these new pages to the established Wiki pages, therefore linking the entire project together.</p>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/wiki-help-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing Unused Graphics</title>
		<link>http://structuredauthoring.org/sa/removing-unused-graphics/</link>
		<comments>http://structuredauthoring.org/sa/removing-unused-graphics/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 23:35:32 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[ACL]]></category>
		<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[Arbortext Editor]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=388</guid>
		<description><![CDATA[In SGML files graphics are declared. Once they are declared they can be referenced in elements such as &#60;graphic&#62; or whatever your DTD declares. Often during the development of the files, some graphic declarations are created but never used. It is a good practice to remove graphic declarations that are not required.
I came across this [...]]]></description>
			<content:encoded><![CDATA[<p>In SGML files graphics are declared. Once they are declared they can be referenced in elements such as <strong>&lt;graphic&gt; </strong>or whatever your DTD declares. Often during the development of the files, some graphic declarations are created but never used. It is a good practice to remove graphic declarations that are not required.</p>
<p>I came across this ACL file from Karl Johan Kleist (original code by Rune Kallhovd) on <a title="Adepters.org" href="http://www.adepters.org/aclhowtoremoveunusedgraphicentitesfromad" target="_blank">Adepters</a> website, listed below.</p>
<p>I named that code below as <strong>removeUnusedGraphics.acl </strong>and placed it in <strong>&lt;arbortext home&gt;/custom/scripts</strong> folder. I tied it to a menu on init ACL file (<strong>&lt;arbortext home&gt;/custom/editinit</strong>) that runs when a document is opened. It has these items added in the menu. First, the file is sourced. second, call the function, <strong>clean_unused_gfxents()</strong> when the menu item is selected.</p>
<div id="attachment_391" class="wp-caption alignnone" style="width: 263px"><img class="size-full wp-image-391 " title="Remove Unused Graphic Menu Pick" src="http://structuredauthoring.org/wp-content/uploads/2009/11/menu.png" alt="Remove Unused Graphic Menu Pick" width="253" height="348" /><p class="wp-caption-text">Remove Unused Graphic Menu Pick</p></div>
<p>Items to add to the Menu<strong>*</strong></p>
<div class="dean_ch" style="white-space: wrap;">source removeUnusedGraphics.acl<br />
menu_add <span class="st0">&quot;.TechData.&quot;</span> <span class="st0">&quot;Remove all unused graphic entities&quot;</span> -cmd <span class="br0">&#123;</span> clean_unused_gfxents<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#125;</span></div>
<p>Code File</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1"># Rune Kallhovd and Karl Johan Kleist</span><br />
<span class="co1"># Posted 2006-06-18 to adepters.org</span></p>
<p>function clean_unused_gfxents<span class="br0">&#40;</span>doc,op<span class="br0">&#41;</span> <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/local.html"><span class="kw3">local</span></a> entArr<span class="br0">&#91;</span><span class="br0">&#93;</span>, gfxArr<span class="br0">&#91;</span><span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/local.html"><span class="kw3">local</span></a> entArrlen = <span class="nu0">0</span>;<br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/local.html"><span class="kw3">local</span></a> gfxCnt = <span class="nu0">1</span>;</p>
<p>&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>op != <span class="nu0">2</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span class="kw3">return</span></a> <span class="nu0">0</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p><span class="co1"># Building an Array of declared entities:</span></p>
<p>&nbsp; &nbsp; entArrlen = graphic_entity_names<span class="br0">&#40;</span>entArr, doc<span class="br0">&#41;</span>;</p>
<p><span class="co1"># Building an Array of used entities:</span></p>
<p>&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>o = oid_first<span class="br0">&#40;</span>doc<span class="br0">&#41;</span>; oid_valid<span class="br0">&#40;</span>o<span class="br0">&#41;</span>; o = oid_forward<span class="br0">&#40;</span>o<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Do we have a Graphic tag?</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>graphic_tag<span class="br0">&#40;</span>oid_name<span class="br0">&#40;</span>o<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Get the attribute name holding the ENTITY</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/local.html"><span class="kw3">local</span></a> gfxentnam = graphic_entity_attr_name<span class="br0">&#40;</span>oid_name<span class="br0">&#40;</span>o<span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>gfxentnam != <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gfxArr<span class="br0">&#91;</span>gfxCnt<span class="br0">&#93;</span> = oid_attr<span class="br0">&#40;</span>o, gfxentnam<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gfxCnt++;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p><span class="co1"># Iterate over declared entities, and delete unused ones:</span></p>
<p>&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>i = <span class="nu0">1</span>; i &lt;= entArrlen; i++<span class="br0">&#41;</span> <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/local.html"><span class="kw3">local</span></a> found = <span class="nu0">0</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; ent = entArr<span class="br0">&#91;</span>i<span class="br0">&#93;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>gfx in gfxArr<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>gfxArr<span class="br0">&#91;</span>gfx<span class="br0">&#93;</span> == ent<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; found = <span class="nu0">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>!found<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; undeclare_entity <span class="re0">$ent</span>; &nbsp;<span class="co1"># NOTE: dollar sign needed here / kjk</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="co1"># Add the following to e.g. a init() function:</span><br />
doc_add_callback<span class="br0">&#40;</span><span class="nu0">0</span>, <span class="st0">&#8217;save&#8217;</span>, <span class="st0">&#8216;cor_utils::clean_unused_gfxents&#8217;</span>, <span class="st0">&#8216;PREPEND&#8217;</span><span class="br0">&#41;</span>;</div>
<p><strong>*</strong> Menu article coming soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/removing-unused-graphics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting with Arbortext’s ACL Language – Part 4</title>
		<link>http://structuredauthoring.org/sa/starting-arbortexts-acl-language-part-4/</link>
		<comments>http://structuredauthoring.org/sa/starting-arbortexts-acl-language-part-4/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 14:45:35 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[ACL]]></category>
		<category><![CDATA[Arbortext Editor]]></category>
		<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[arbortext]]></category>
		<category><![CDATA[array]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=376</guid>
		<description><![CDATA[ACL, Arbortext&#8217;s Command Language, it is similar to Perl which is the programming language I prefer. See Part 1, Part 2 and Part 3.
Arrays
Arrays are special variables with multiple &#8220;compartments&#8221;. Each compartment holds a value. Arrays consist of names and indexes. ACL has two types of one-dimensional arrays:
Normal arrays are indexed by integers subscripts.
$array&#91;1&#93; = [...]]]></description>
			<content:encoded><![CDATA[<p>ACL, Arbortext&#8217;s Command Language, it is similar to Perl which is the programming language I prefer. See <a title="ACL Part 1" href="http://structuredauthoring.org/arbortext-editor/arbortexts-acl-language/" target="_blank">Part 1</a>, <a title="ACL Part 2" href="http://structuredauthoring.org/arbortext-editor/arbortexts-acl-language-part-2/" target="_blank">Part 2</a> and <a href="http://structuredauthoring.org/sa/starting-arbortexts-acl-language-part-3/">Part 3</a>.</p>
<h2>Arrays</h2>
<p>Arrays are special variables with multiple &#8220;compartments&#8221;. Each compartment holds a value. Arrays consist of names and indexes. ACL has two types of one-dimensional arrays:</p>
<p><strong>Normal </strong>arrays are indexed by integers subscripts.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$array</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> = <span class="st0">&quot;tester&quot;</span>;</div>
<p><strong>Associative </strong>arrays are indexed by arbitrary strings or keys.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$array</span><span class="br0">&#91;</span><span class="st0">&quot;tester&quot;</span><span class="br0">&#93;</span> = <span class="st0">&quot;debug&quot;</span>;</div>
<h2>Declaring Arrays</h2>
<p>Arrays can be defined as local or global. Define them like a variable, ($) name, square brackets, semicolon. Arrays can be set to a dimension such as having ten values, $array[10].  The square brackets [ ] are used to address or retrieve the elements of an array.</p>
<h2>Accessing Array</h2>
<p>Accessing the keys of an array, use the <strong>for </strong>loop, as in: <em>for (key in array)</em>.<br />
For example, the code below iterates over the two elements of the associative array <strong>color </strong> twice, once with Associative and once with Normal:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">#&#8211; Associative Array</span><br />
<span class="re0">$color</span><span class="br0">&#91;</span><span class="st0">&quot;red&quot;</span><span class="br0">&#93;</span> = <span class="st0">&quot;red&quot;</span>;<br />
<span class="re0">$color</span><span class="br0">&#91;</span><span class="st0">&quot;blue&quot;</span><span class="br0">&#93;</span> = <span class="st0">&quot;blue&quot;</span>;<br />
<span class="kw1">for</span> <span class="br0">&#40;</span><span class="re0">$hue</span> in <span class="re0">$color</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;response<span class="br0">&#40;</span><span class="st0">&quot;the color is &quot;</span> . <span class="re0">$color</span><span class="br0">&#91;</span><span class="re0">$hue</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p>unsetvar color; <span class="co1">#&#8211; the color array undeclared</span></p>
<p><span class="co1">#&#8211; Normal Array</span><br />
<span class="re0">$color</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> = <span class="st0">&quot;red&quot;</span>;<br />
<span class="re0">$color</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> = <span class="st0">&quot;blue&quot;</span>;<br />
<span class="kw1">for</span> <span class="br0">&#40;</span><span class="re0">$hue</span> in <span class="re0">$color</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;response<span class="br0">&#40;</span><span class="re0">$color</span><span class="br0">&#91;</span><span class="re0">$hue</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/starting-arbortexts-acl-language-part-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Starting with Arbortext’s ACL Language – Part 3</title>
		<link>http://structuredauthoring.org/sa/starting-arbortexts-acl-language-part-3/</link>
		<comments>http://structuredauthoring.org/sa/starting-arbortexts-acl-language-part-3/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 21:38:12 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[ACL]]></category>
		<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[arbortext]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=341</guid>
		<description><![CDATA[ACL is Arbortext&#8217;s Command Language. It is similar to Perl, which I really like. See Part 1 and  Part 2.
Variables
A variable is a keyword or phrase that is linked to a &#8220;value&#8221; stored in memory or an expression that can be evaluated. For instance, a variable might be called &#8220;total_count&#8221; and contains a number. [...]]]></description>
			<content:encoded><![CDATA[<p>ACL is Arbortext&#8217;s Command Language. It is similar to Perl, which I really like. See <a title="ACL Part 1" href="http://structuredauthoring.org/arbortext-editor/arbortexts-acl-language/" target="_blank">Part 1</a> and <a title="ACL Part 2" href="http://structuredauthoring.org/arbortext-editor/arbortexts-acl-language-part-2/" target="_blank"> Part 2</a>.</p>
<h2>Variables</h2>
<p>A variable is a keyword or phrase that is linked to a &#8220;value&#8221; stored in memory or an expression that can be evaluated. For instance, a variable might be called &#8220;total_count&#8221; and contains a number. Variables are usually defined in ACL beginning with a dollar sign ($), they do not have to, but it is very good practice. The variable is on the left side and the value is on the right of the assignment operator (=). When assigning variables, it best to read right to left.  For example, assigning the string or text, &#8220;red&#8221; with the equal sign (=), to a variable &#8220;color&#8221;. It is a good practice to end your assignments with a semi-colon (;).</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$color</span> = red;</div>
<p>Some common variable assignments using expressions.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">#&#8212; Machine Name</span><br />
<span class="re0">$machine</span> = <span class="re0">$main</span>::<span class="me2">ENV</span><span class="br0">&#91;</span><span class="st0">&#8216;COMPUTERNAME&#8217;</span><span class="br0">&#93;</span>;</p>
<p><span class="co1">#&#8212; User&#8217;s Name</span><br />
<span class="re0">$user</span> = username<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
<h2>Variable Scope</h2>
<p>Variables exist in two locations or scopes, Global and Local.</p>
<p>The default is Local. It is a good practice to define the minimum amount of scope needed or limiting your variables. This is helpful in maintaining the code and debugging it. For example, it may be confusing if a variable is a Global $A and a Local variable called $A are both being used in a For-Each loop.</p>
<p>Global variables are accessible anywhere in the ACL code.</p>
<p><strong>Tip:</strong> If defining a Global Variable, pick a naming convention such as all caps. This will be helpful when mixing Local and Global variables in code. For Local variables, choose, for example, Camel Case.</p>
<div class="dean_ch" style="white-space: wrap;">global <span class="re0">$DEBUG</span> = <span class="nu0">1</span>;</div>
<div class="dean_ch" style="white-space: wrap;"><a href="http://perldoc.perl.org/functions/local.html"><span class="kw3">local</span></a> <span class="re0">$UserName</span> =<span class="st0">&quot;Tester&quot;</span>;</div>
<p>Local variables can be limited by a block of code (code inside the { }). When variables are assigned, inside blocks are local or limited just to that block. Blocks can be found in functions and items inside conditionals, such as an if statement.</p>
<div class="dean_ch" style="white-space: wrap;">function findTMnumberName <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp;mark -<a href="http://perldoc.perl.org/functions/select.html"><span class="kw3">select</span></a> end<br />
&nbsp; &nbsp;<span class="re0">$tmname</span> = <span class="re0">$selection</span> <span class="co1">#local variable</span><br />
&nbsp; &nbsp;gsub<span class="br0">&#40;</span><span class="st0">&#8216;^P&#8217;</span>, <span class="st0">&#8221;</span>,  <span class="re0">$tmname</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp;gsub<span class="br0">&#40;</span><span class="st0">&#8216;^V&#8217;</span>, <span class="st0">&#8221;</span>,  <span class="re0">$tmname</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp;<span class="re0">$TMnumber</span> = <span class="re0">$TM_NAME</span><span class="br0">&#91;</span><span class="re0">$tmname</span><span class="br0">&#93;</span>; <span class="co1">#local variables, global $TM_NAME</span><br />
&nbsp; &nbsp;response<span class="br0">&#40;</span><span class="re0">$TMnumber</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp;caret <span class="nu0">0</span>,<span class="st0">&quot;&lt;title&gt;&quot;</span> -t<br />
&nbsp; &nbsp;is -pd <span class="st0">&quot;$TMnumber&quot;</span>;<br />
<span class="br0">&#125;</span></div>
<h2>Shortcut Assignments</h2>
<p>If using a number variable as a counter, and the counter needs to increment by one, you could do:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$lineNumber</span> = <span class="re0">$lineNumer</span> <span class="nu0">+1</span>;</div>
<p>A shortcut using the (+=) means increment and assign the value to itself.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$lineNumber</span> += <span class="nu0">1</span>;</div>
<p>If using a string variable using the dot operator (.) to concatenate or stitch together strings.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$message</span> = <span class="st0">&quot;File &quot;</span> . doc_name<span class="br0">&#40;</span><span class="br0">&#41;</span> . <span class="st0">&quot; sent to be published!&quot;</span>;</div>
<p>The variable $message resolves as &#8220;File Chapter 2 sent to be published!&#8221; if doc_name() was equivalent to &#8220;Chapter 2&#8243;.</p>
<h2>Variable Evaluation</h2>
<p>Variables inside double quotes will be evaluated, and variables inside single quotes are not evaluated.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$username</span> = <span class="st0">&quot;Tester&quot;</span>;<br />
<span class="re0">$message</span> = <span class="st0">&quot;Hello $username!&quot;</span>;</div>
<p>Returns &#8220;Hello Tester!&#8221;</p>
<div class="dean_ch" style="white-space: wrap;"><span class="re0">$username</span> = <span class="st0">&quot;Tester&quot;</span>;<br />
<span class="re0">$message</span> = <span class="st0">&#8216;Hello $username!&#8217;</span>;</div>
<p>Returns &#8220;Hello $username!&#8221;</p>
<h2>Comparative</h2>
<p>Using variables for comparison. In a &#8220;if&#8221; statement, you may want the variable, if true, then do something with it. Comparisons can be strings equaling or not equaling other strings. As well as, numbers equaling (==), not equaling (!=), greater (&gt;), lesser (&lt;), greater or equal (&gt;=) or less than or equal (&lt;=) to other numbers.</p>
<h3>String comparisons (==):</h3>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$machine</span> == <span class="st0">&quot;Dell&quot;</span><span class="br0">&#41;</span>  <span class="br0">&#123;</span><br />
&nbsp; &nbsp;response<span class="br0">&#40;</span><span class="st0">&quot;machine is a Dell&quot;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>match<span class="br0">&#40;</span><span class="re0">$machine</span> ,<span class="st0">&quot;HP*&quot;</span> <span class="br0">&#41;</span>   <span class="br0">&#123;</span><br />
&nbsp; &nbsp;response<span class="br0">&#40;</span><span class="st0">&quot;machine is not a Dell, but some HP Model&quot;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></div>
<h3>Number comparison (==, &gt;, &lt;, !=, &lt;=, &gt;=)</h3>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">if</span>  <span class="br0">&#40;</span><span class="re0">$status</span> !=<span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; message <span class="st0">&quot;You must select something first”; #Not equal to zero<br />
}</span></div>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/starting-arbortexts-acl-language-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arbortext Editor Tip – Easy Column Selection</title>
		<link>http://structuredauthoring.org/sa/arbortext-editor-tip-easy-column-selection/</link>
		<comments>http://structuredauthoring.org/sa/arbortext-editor-tip-easy-column-selection/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 15:00:41 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[Arbortext Editor]]></category>
		<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[SGML]]></category>
		<category><![CDATA[Tables]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=333</guid>
		<description><![CDATA[Using Arbortext Editor, selecting a column can take some time. This tip is a quick and easy way to select the entire column. As well as, performance will be better when the table is collapsed or in view markup mode. 

]]></description>
			<content:encoded><![CDATA[<p>Using Arbortext Editor, selecting a column can take some time. This tip is a quick and easy way to select the entire column. As well as, performance will be better when the table is collapsed or in view markup mode. </p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wQkRRp5_gpU&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wQkRRp5_gpU&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/arbortext-editor-tip-easy-column-selection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arbortext Editor Tip – Multiple Paste</title>
		<link>http://structuredauthoring.org/sa/arbortext-editor-tip-multiple-paste/</link>
		<comments>http://structuredauthoring.org/sa/arbortext-editor-tip-multiple-paste/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 20:10:17 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[Arbortext Editor]]></category>
		<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[copy and paste]]></category>
		<category><![CDATA[SGML]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=327</guid>
		<description><![CDATA[A tip showing how to paste a single object like a cross reference from one cell into multiple cells of a table in Arbortext Editor. 

]]></description>
			<content:encoded><![CDATA[<p>A tip showing how to paste a single object like a cross reference from one cell into multiple cells of a table in Arbortext Editor. </p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/hAHVBDzSuRA&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hAHVBDzSuRA&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/arbortext-editor-tip-multiple-paste/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XSLT – Converting a Document to Change All Text</title>
		<link>http://structuredauthoring.org/sa/xslt-converting-document-change-text/</link>
		<comments>http://structuredauthoring.org/sa/xslt-converting-document-change-text/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 13:50:56 +0000</pubDate>
		<dc:creator>douglaspaulwade</dc:creator>
				<category><![CDATA[Structured Authoring]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://structuredauthoring.org/?p=301</guid>
		<description><![CDATA[Using XSLT, I want to display some examples, however, not show you the original text. My sample file is a real-world example, but the content is a distraction. This simple transformation will convert all of the text nodes (document text) to x&#8217;s. During the transformation, the XSLT stylesheet will convert, all the capital, lowercase letters [...]]]></description>
			<content:encoded><![CDATA[<p>Using XSLT, I want to display some examples, however, not show you the original text. My sample file is a real-world example, but the content is a distraction. This simple transformation will convert all of the text nodes (document text) to x&#8217;s. During the transformation, the XSLT stylesheet will convert, all the capital, lowercase letters and the numbers to the lower case &#8216;x&#8217;. It will leave the punctuation alone, and the elements&#8217; attributes are left unchanged.</p>
<p><strong>Here is a sample snippet of the input file of S1000D Issue 3, XML:</strong></p>
<div class="dean_ch" style="white-space: wrap;"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span></p>
<p><span class="sc3"><span class="re1">&lt;dmodule</span> <span class="re0">xmlns:xsi</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span><br />
&nbsp;<span class="re0">xmlns:rdf</span>=<span class="st0">&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</span><br />
&nbsp;<span class="re0">xmlns:dc</span>=<span class="st0">&quot;http://www.purl.org/dc/elements/1.1/&quot;</span><br />
&nbsp;<span class="re0">xmlns:xlink</span>=<span class="st0">&quot;http://www.w3.org/1999/xlink&quot;</span><br />
&nbsp;<span class="re0">xsi:noNamespaceSchemaLocation</span>=<span class="st0">&quot;http://www.s1000d.org/S1000D_3-0/xml_schema_master/dm/faultSchema.xsd&quot;</span><span class="re2">&gt;</span></span></p>
<p>&nbsp;<span class="sc3"><span class="re1">&lt;idstatus<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;dmaddres<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;dmc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;avee<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;modelic<span class="re2">&gt;</span></span></span>AAA<span class="sc3"><span class="re1">&lt;/modelic<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;sdc<span class="re2">&gt;</span></span></span>B<span class="sc3"><span class="re1">&lt;/sdc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;chapnum<span class="re2">&gt;</span></span></span>28<span class="sc3"><span class="re1">&lt;/chapnum<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;section<span class="re2">&gt;</span></span></span>0<span class="sc3"><span class="re1">&lt;/section<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;subsect<span class="re2">&gt;</span></span></span>0<span class="sc3"><span class="re1">&lt;/subsect<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;subject<span class="re2">&gt;</span></span></span>00<span class="sc3"><span class="re1">&lt;/subject<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;discode<span class="re2">&gt;</span></span></span>00<span class="sc3"><span class="re1">&lt;/discode<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;discodev<span class="re2">&gt;</span></span></span>A<span class="sc3"><span class="re1">&lt;/discodev<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;incode<span class="re2">&gt;</span></span></span>421<span class="sc3"><span class="re1">&lt;/incode<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;incodev<span class="re2">&gt;</span></span></span>A<span class="sc3"><span class="re1">&lt;/incodev<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;itemloc<span class="re2">&gt;</span></span></span>A<span class="sc3"><span class="re1">&lt;/itemloc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/avee<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/dmc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;dmtitle<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;techname<span class="re2">&gt;</span></span></span>FUEL LEAK IN FORWARD COMPARTMENT AREA<span class="sc3"><span class="re1">&lt;/techname<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;infoname<span class="re2">&gt;</span></span></span>OBSERVED FAULT PROCEDURE<span class="sc3"><span class="re1">&lt;/infoname<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/dmtitle<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;issno</span> <span class="re0">issno</span>=<span class="st0">&quot;001&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;new&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;issdate</span> <span class="re0">day</span>=<span class="st0">&quot;01&quot;</span> <span class="re0">month</span>=<span class="st0">&quot;01&quot;</span> <span class="re0">year</span>=<span class="st0">&quot;2009&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/dmaddres<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;status<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;security</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;rpc</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;orig</span><span class="re2">/&gt;</span></span></div>
<p><strong>Here is the transformation stylesheet:</strong></p>
<div class="dean_ch" style="white-space: wrap;"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span><br />
<span class="sc3"><span class="re1">&lt;xsl:stylesheet</span> <span class="re0">xmlns:xsl</span>=<span class="st0">&quot;http://www.w3.org/1999/XSL/Transform&quot;</span><br />
&nbsp;<span class="re0">xmlns:xs</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema&quot;</span><br />
&nbsp;<span class="re0">exclude-result-prefixes</span>=<span class="st0">&quot;xs&quot;</span><br />
&nbsp;<span class="re0">version</span>=<span class="st0">&quot;2.0&quot;</span><span class="re2">&gt;</span></span></p>
<p>&nbsp;<span class="sc3"><span class="coMULTI">&lt;!&#8211; Use indent yes for development, no for production &#8211;&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;xsl:output</span> <span class="re0">method</span>=<span class="st0">&quot;xml&quot;</span> <span class="re0">indent</span>=<span class="st0">&quot;yes&quot;</span><span class="re2">/&gt;</span></span></p>
<p>&nbsp;<span class="sc3"><span class="coMULTI">&lt;!&#8211;<br />
&nbsp;Template match all items, except<br />
&nbsp;SGML Notations and Entities e.g., illustrations.<br />
&nbsp;&#8211;&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;xsl:template</span> <span class="re0">match</span>=<span class="st0">&quot;@*|element()|comment()|processing-instruction()&quot;</span> <span class="re0">mode</span>=<span class="st0">&quot;#all&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;xsl:copy<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;xsl:apply-templates</span> <span class="re0">select</span>=<span class="st0">&quot;@*|node()&quot;</span> <span class="re0">mode</span>=<span class="st0">&quot;#current&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/xsl:copy<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/xsl:template<span class="re2">&gt;</span></span></span></p>
<p>&nbsp;<span class="sc3"><span class="coMULTI">&lt;!&#8211; Using the replace function,<br />
&nbsp;context is: string, pattern, replacement string&#8211;&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;xsl:template</span> <span class="re0">match</span>=<span class="st0">&quot;text()&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;xsl:value-of</span> <span class="re0">select</span>=<span class="st0">&quot;replace(.,&#8217;[a-zA-Z0-9]&#8216;,&#8217;x')&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/xsl:template<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/xsl:stylesheet<span class="re2">&gt;</span></span></span></div>
<p><strong>Here is the result.s tree (a snippet).</strong></p>
<div class="dean_ch" style="white-space: wrap;"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span><br />
<span class="sc3"><span class="re1">&lt;dmodule</span> <span class="re0">xmlns:xsi</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span><br />
&nbsp;<span class="re0">xmlns:rdf</span>=<span class="st0">&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</span><br />
&nbsp;<span class="re0">xmlns:dc</span>=<span class="st0">&quot;http://www.purl.org/dc/elements/1.1/&quot;</span><br />
&nbsp;<span class="re0">xmlns:xlink</span>=<span class="st0">&quot;http://www.w3.org/1999/xlink&quot;</span><br />
&nbsp;<span class="re0">xsi:noNamespaceSchemaLocation</span>=<span class="st0">&quot;http://www.s1000d.org/S1000D_3-0/xml_schema_master/dm/faultSchema.xsd&quot;</span><span class="re2">&gt;</span></span></p>
<p>&nbsp;<span class="sc3"><span class="re1">&lt;idstatus<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;dmaddres<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;dmc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;avee<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;modelic<span class="re2">&gt;</span></span></span>xxx<span class="sc3"><span class="re1">&lt;/modelic<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;sdc<span class="re2">&gt;</span></span></span>x<span class="sc3"><span class="re1">&lt;/sdc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;chapnum<span class="re2">&gt;</span></span></span>xx<span class="sc3"><span class="re1">&lt;/chapnum<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;section<span class="re2">&gt;</span></span></span>x<span class="sc3"><span class="re1">&lt;/section<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;subsect<span class="re2">&gt;</span></span></span>x<span class="sc3"><span class="re1">&lt;/subsect<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;subject<span class="re2">&gt;</span></span></span>xx<span class="sc3"><span class="re1">&lt;/subject<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;discode<span class="re2">&gt;</span></span></span>xx<span class="sc3"><span class="re1">&lt;/discode<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;discodev<span class="re2">&gt;</span></span></span>x<span class="sc3"><span class="re1">&lt;/discodev<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;incode<span class="re2">&gt;</span></span></span>xxx<span class="sc3"><span class="re1">&lt;/incode<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;incodev<span class="re2">&gt;</span></span></span>x<span class="sc3"><span class="re1">&lt;/incodev<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;itemloc<span class="re2">&gt;</span></span></span>x<span class="sc3"><span class="re1">&lt;/itemloc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/avee<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/dmc<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;dmtitle<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;techname<span class="re2">&gt;</span></span></span>xxxx xxxx xx xxxxxxx xxxxxxxxxxx xxxx<span class="sc3"><span class="re1">&lt;/techname<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;infoname<span class="re2">&gt;</span></span></span>xxxxxxxx xxxxx xxxxxxxxx<span class="sc3"><span class="re1">&lt;/infoname<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/dmtitle<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;issno</span> <span class="re0">issno</span>=<span class="st0">&quot;001&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;new&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;issdate</span> <span class="re0">day</span>=<span class="st0">&quot;01&quot;</span> <span class="re0">month</span>=<span class="st0">&quot;01&quot;</span> <span class="re0">year</span>=<span class="st0">&quot;2009&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/dmaddres<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;status<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;security</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;rpc</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;orig</span><span class="re2">/&gt;</span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://structuredauthoring.org/sa/xslt-converting-document-change-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
