<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tei-c.org/index.php?action=history&amp;feed=atom&amp;title=IDREFs2bareNames.xslt</id>
	<title>IDREFs2bareNames.xslt - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tei-c.org/index.php?action=history&amp;feed=atom&amp;title=IDREFs2bareNames.xslt"/>
	<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;action=history"/>
	<updated>2026-04-19T06:18:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=7372&amp;oldid=prev</id>
		<title>Stuartyeates at 07:15, 14 March 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=7372&amp;oldid=prev"/>
		<updated>2010-03-14T07:15:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 07:15, 14 March 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l176&quot; &gt;Line 176:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 176:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:P4toP5]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:P4toP5]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:XSLT]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stuartyeates</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=2774&amp;oldid=prev</id>
		<title>Syd: remove blank before XML declaration</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=2774&amp;oldid=prev"/>
		<updated>2006-10-06T00:51:37Z</updated>

		<summary type="html">&lt;p&gt;remove blank before XML declaration&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 00:51, 6 October 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;probably end up with valid pointers that point nowhere. :-(&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;probably end up with valid pointers that point nowhere. :-(&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Syd</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=2765&amp;oldid=prev</id>
		<title>Syd: add to P4toP5 category</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=2765&amp;oldid=prev"/>
		<updated>2006-09-17T20:14:43Z</updated>

		<summary type="html">&lt;p&gt;add to P4toP5 category&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:14, 17 September 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l176&quot; &gt;Line 176:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 176:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   * trim R padding&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   * trim R padding&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:P4toP5]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Syd</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=2764&amp;oldid=prev</id>
		<title>Syd: initial submission</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=IDREFs2bareNames.xslt&amp;diff=2764&amp;oldid=prev"/>
		<updated>2006-09-17T20:14:08Z</updated>

		<summary type="html">&lt;p&gt;initial submission&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This little XSLT 1.0 stylesheet turns the values of IDREF and IDREFS attributes&lt;br /&gt;
into bare name fragment identifiers, i.e. URI pointers into the base document.&lt;br /&gt;
&lt;br /&gt;
Known bugs: we just presume that the base document (as defined by&lt;br /&gt;
the xml:base= attribute) is the current document. If it's not, you'll&lt;br /&gt;
probably end up with valid pointers that point nowhere. :-(&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- This stylesheet reads in a TEI P4:2004 XML file and writes out --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- the same file with a &amp;quot;#&amp;quot; stuck in front of every IDREF attribute --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- value. This turns it into a bare name URI fragment identifier, --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- and thus into a P5 local pointer. --&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- Copyleft 2006 Text Encoding Initiative Consortium --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Although this file was created by Syd Bauman, the --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- algorithm is taken directly from Sebastian Rahtz's work in this --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- area, and thus he deserves credit for the hard part. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- The terms &amp;quot;hash mark&amp;quot;, &amp;quot;pound sign&amp;quot;, and &amp;quot;number sign&amp;quot; are used --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- interchangeably herein to name &amp;quot;#&amp;quot;. :-) --&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- Copy over all the non-IDREF[S] parts of the input file --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:import href=&amp;quot;Copy-All.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Match an IDREF or IDREFS attribute. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Note that we treat them the same, even --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- though obviously a simpler, faster algorithm --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- could be used for IDREF attributes. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This list was created by editing the DTD created --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- when the Pizza Chef is asked to bake all bases and --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- all toppings at once, and then deleting */@lang, --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- which needs to be handled separately, as in P5 it is --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- no longer a pointer, but rather a key. --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template&lt;br /&gt;
    match=&amp;quot;&lt;br /&gt;
      */@grpPtr             | gram/@location        | div7/@decls&lt;br /&gt;
    | */@depPtr             | gram/@mergedin        | front/@decls&lt;br /&gt;
    | */@corresp            | gen/@location         | back/@decls&lt;br /&gt;
    | */@synch              | gen/@mergedin         | link/@targets&lt;br /&gt;
    | */@sameAs             | number/@location      | linkGrp/@domains&lt;br /&gt;
    | */@copyOf             | number/@mergedin      | when/@since&lt;br /&gt;
    | */@next               | case/@location        | timeline/@origin&lt;br /&gt;
    | */@prev               | case/@mergedin        | join/@targets&lt;br /&gt;
    | */@exclude            | per/@location         | joinGrp/@domains&lt;br /&gt;
    | */@select             | per/@mergedin         | alt/@targets&lt;br /&gt;
    | */@ana                | tns/@location         | altGrp/@domains&lt;br /&gt;
    | tagUsage/@render      | tns/@mergedin         | span/@inst&lt;br /&gt;
    | keywords/@scheme      | mood/@location        | span/@from&lt;br /&gt;
    | classCode/@scheme     | mood/@mergedin        | span/@to&lt;br /&gt;
    | catRef/@target        | itype/@location       | spanGrp/@inst&lt;br /&gt;
    | catRef/@scheme        | itype/@mergedin       | interp/@inst&lt;br /&gt;
    | gloss/@target         | gramGrp/@location     | interpGrp/@inst&lt;br /&gt;
    | abbr/@resp            | gramGrp/@mergedin     | fs/@feats&lt;br /&gt;
    | expan/@resp           | pos/@location         | f/@fVal&lt;br /&gt;
    | gap/@resp             | pos/@mergedin         | certainty/@target&lt;br /&gt;
    | gap/@hand             | subc/@location        | respons/@target&lt;br /&gt;
    | add/@resp             | subc/@mergedin        | addSpan/@resp&lt;br /&gt;
    | add/@hand             | colloc/@location      | addSpan/@hand&lt;br /&gt;
    | del/@resp             | colloc/@mergedin      | addSpan/@to&lt;br /&gt;
    | del/@hand             | def/@location         | delSpan/@resp&lt;br /&gt;
    | unclear/@hand         | def/@mergedin         | delSpan/@hand&lt;br /&gt;
    | ptr/@target           | trans/@location       | delSpan/@to&lt;br /&gt;
    | ref/@target           | trans/@mergedin       | restore/@resp&lt;br /&gt;
    | note/@target          | tr/@location          | restore/@hand&lt;br /&gt;
    | note/@targetEnd       | tr/@mergedin          | supplied/@hand&lt;br /&gt;
    | sp/@who               | etym/@location        | handShift/@new&lt;br /&gt;
    | move/@who             | etym/@mergedin        | handShift/@old&lt;br /&gt;
    | move/@perf            | lang/@location        | handShift/@resp&lt;br /&gt;
    | tech/@perf            | lang/@mergedin        | damage/@resp&lt;br /&gt;
    | u/@start              | eg/@location          | damage/@hand&lt;br /&gt;
    | u/@end                | eg/@mergedin          | app/@from&lt;br /&gt;
    | u/@decls              | usg/@location         | app/@to&lt;br /&gt;
    | u/@who                | usg/@mergedin         | lem/@hand&lt;br /&gt;
    | pause/@start          | lbl/@location         | rdg/@hand&lt;br /&gt;
    | pause/@end            | lbl/@mergedin         | rdgGrp/@hand&lt;br /&gt;
    | pause/@who            | xr/@location          | witDetail/@target&lt;br /&gt;
    | vocal/@start          | xr/@mergedin          | node/@value&lt;br /&gt;
    | vocal/@end            | re/@location          | node/@adjTo&lt;br /&gt;
    | vocal/@who            | re/@mergedin          | node/@adjFrom&lt;br /&gt;
    | kinesic/@start        | oRef/@target          | node/@adj&lt;br /&gt;
    | kinesic/@end          | oRef/@location        | arc/@from&lt;br /&gt;
    | kinesic/@who          | oRef/@mergedin        | arc/@to&lt;br /&gt;
    | event/@start          | oVar/@target          | root/@value&lt;br /&gt;
    | event/@end            | oVar/@location        | root/@children&lt;br /&gt;
    | event/@who            | oVar/@mergedin        | iNode/@value&lt;br /&gt;
    | writing/@who          | pRef/@target          | iNode/@children&lt;br /&gt;
    | writing/@script       | pRef/@location        | iNode/@parent&lt;br /&gt;
    | shift/@who            | pRef/@mergedin        | iNode/@follow&lt;br /&gt;
    | entryFree/@location   | pVar/@target          | leaf/@value&lt;br /&gt;
    | entryFree/@mergedin   | pVar/@location        | leaf/@parent&lt;br /&gt;
    | hom/@location         | pVar/@mergedin        | leaf/@follow&lt;br /&gt;
    | hom/@mergedin         | gram/@location        | eTree/@value&lt;br /&gt;
    | sense/@location       | gram/@mergedin        | triangle/@value&lt;br /&gt;
    | sense/@mergedin       | text/@decls           | eLeaf/@value&lt;br /&gt;
    | form/@location        | body/@decls           | occupation/@scheme&lt;br /&gt;
    | form/@mergedin        | group/@decls          | occupation/@code&lt;br /&gt;
    | orth/@location        | div/@decls            | socecStatus/@scheme&lt;br /&gt;
    | orth/@mergedin        | div0/@decls           | socecStatus/@code&lt;br /&gt;
    | pron/@location        | div1/@decls           | relation/@active&lt;br /&gt;
    | pron/@mergedin        | div2/@decls           | relation/@passive&lt;br /&gt;
    | hyph/@location        | div3/@decls           | setting/@who&lt;br /&gt;
    | hyph/@mergedin        | div4/@decls&lt;br /&gt;
    | syll/@location        | div5/@decls&lt;br /&gt;
    | syll/@mergedin        | div6/@decls&lt;br /&gt;
    &amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- We've matched an IDREF[S] attribute; output the --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- same attribute name ... --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:attribute name=&amp;quot;{name(.)}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... with the value created by a sub-template ... --&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:call-template name=&amp;quot;tokenize-prepending-pound&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ... called with the matched attribute's value --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- as a parameter. --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;value&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Regularize whitespace before sending the value --&amp;gt;&lt;br /&gt;
          &amp;lt;!-- off, so that the called template can chop it --&amp;gt;&lt;br /&gt;
          &amp;lt;!-- based on single spaces only. --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;normalize-space(.)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Tokenize the string passed as the 'value' parameter --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- using blank as the inter token delimiter, and return --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- the same with a &amp;quot;#&amp;quot; inserted directly in front of each --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- token. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This is done with a clever recursive algorithm that --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- pops off the first token, sticks a &amp;quot;#&amp;quot; in front, and --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- then calls self on the remaining string. --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template name=&amp;quot;tokenize-prepending-pound&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- get the string I was passed --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- stick a hash mark into output --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text&amp;gt;#&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:when test=&amp;quot;not(contains($value,' '))&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- there are no blanks in the parameter string, so --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- return said string appended to previous hash mark --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;$value&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
        &amp;lt;!-- there is at least one blank, so return --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- the portion of the parameter string before --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- the first blank, appended to the previous hash --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- mark, and ... --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;substring-before($value,' ')&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ... followed by a blank (to separate it from the --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- next bit of output) ... --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ... followed by the result of tokenizing and prepending --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- a hash mark to the remaining (i.e., after the 1st --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- blank) portion of the parameter string 'value'. --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:call-template name=&amp;quot;tokenize-prepending-pound&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:with-param name=&amp;quot;value&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;substring-after($value,' ')&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
  Note to self&lt;br /&gt;
  ==== == ====&lt;br /&gt;
  * Make sure file that lists items is stored on Mac w/ Mac linends&lt;br /&gt;
  * rmac&lt;br /&gt;
  * pipe &amp;lt; IN | pad r 24 | snake 3 | console | pad r 120 | &amp;gt; OUT f 120&lt;br /&gt;
  * will need to twiddle the pad and snake values to get nice results&lt;br /&gt;
  * wmac&lt;br /&gt;
  * trim R padding&lt;br /&gt;
--&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Syd</name></author>
		
	</entry>
</feed>