<?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=Tei_scancan_p4_to_p5</id>
	<title>Tei scancan p4 to p5 - 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=Tei_scancan_p4_to_p5"/>
	<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Tei_scancan_p4_to_p5&amp;action=history"/>
	<updated>2026-04-21T21:03:56Z</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=Tei_scancan_p4_to_p5&amp;diff=2912&amp;oldid=prev</id>
		<title>Mholmes at 16:55, 4 December 2006</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Tei_scancan_p4_to_p5&amp;diff=2912&amp;oldid=prev"/>
		<updated>2006-12-04T16:55:12Z</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 16:55, 4 December 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-l13&quot; &gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&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;      Along with Copy-All.xsl, it does the whole job, including putting the result document  &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;      Along with Copy-All.xsl, it does the whole job, including putting the result document  &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;      into the TEI namespace (by means of the xmlns attribute on the xsl:stylesheet root  &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;      into the TEI namespace (by means of the xmlns attribute on the xsl:stylesheet root  &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;      element.&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;      element&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;)&lt;/ins&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;  --&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;&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;   &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;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mholmes</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Tei_scancan_p4_to_p5&amp;diff=2910&amp;oldid=prev</id>
		<title>Mholmes at 16:52, 4 December 2006</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Tei_scancan_p4_to_p5&amp;diff=2910&amp;oldid=prev"/>
		<updated>2006-12-04T16:52:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&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;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;&lt;br /&gt;
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;!-- Copyleft December 2006 by Martin Holmes. &lt;br /&gt;
     This is a small, specialized stylesheet which is customized for one specific project&lt;br /&gt;
     (the Scandinavian-Canadians Studies Journal). It imports the generic Copy-All.xsl file, &lt;br /&gt;
     but all other transformations are contained here. It's not expected to be generally&lt;br /&gt;
     useful, but if you have a simple project that needs a quick &lt;br /&gt;
     conversion, this might serve as a starting point or a helpful example.&lt;br /&gt;
     &lt;br /&gt;
     Along with Copy-All.xsl, it does the whole job, including putting the result document &lt;br /&gt;
     into the TEI namespace (by means of the xmlns attribute on the xsl:stylesheet root &lt;br /&gt;
     element.&lt;br /&gt;
 --&amp;gt;&lt;br /&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;xsl:output encoding=&amp;quot;UTF-8&amp;quot; method=&amp;quot;xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- This attribute is for supplying a value for an attribute required in P5&lt;br /&gt;
        which is not present in the P4 XML. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:variable name=&amp;quot;DefAttVal&amp;quot;&amp;gt;scancan&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Suppress matching of TEIform, status and other default attributes;&lt;br /&gt;
        I don't use these. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@TEIform&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@status&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@default&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@org[.='uniform']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@sample[.='complete']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@part[.='N']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@direct[.='unspecified']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@targOrder[.='U']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@from[.='ROOT']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@anchored[.='yes']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@place[.='unspecified']&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;teiHeader/@type&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Convert id to xml:id. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@id&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:attribute name=&amp;quot;xml:id&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;.&amp;quot; /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;TEI.2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;TEI&amp;quot; namespace=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!--&amp;lt;xsl:attribute name=&amp;quot;xmlns&amp;quot;&amp;gt;http://www.tei-c.org/ns/1.0&amp;lt;/xsl:attribute&amp;gt;--&amp;gt;&lt;br /&gt;
            &amp;lt;!-- Add new attributes we need. --&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:attribute name=&amp;quot;xmlns:xsi&amp;quot;&amp;gt;http://www.w3.org/2001/XMLSchema-instance&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:attribute name=&amp;quot;xsi:schemaLocation&amp;quot;&amp;gt;http://www.tei-c.org/ns/1.0 tei_scancan_p5.xsd&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:attribute name=&amp;quot;version&amp;quot;&amp;gt;5.0&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;* | @*&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;teiCorpus.2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;teiCorpus&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;xsl:attribute name=&amp;quot;xmlns:xsi&amp;quot;&amp;gt;http://www.w3.org/2001/XMLSchema-instance&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:attribute name=&amp;quot;xsi:schemaLocation&amp;quot;&amp;gt;http://www.tei-c.org/ns/1.0 tei_scancan_p5.xsd&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;!--&amp;lt;xsl:attribute name=&amp;quot;xmlns&amp;quot;&amp;gt;http://www.tei-c.org/ns/1.0&amp;lt;/xsl:attribute&amp;gt;--&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:attribute name=&amp;quot;version&amp;quot;&amp;gt;5.0&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;* | @*&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Handling names and their regularization. --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- First, suppress the reg attribute. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;@reg&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;* | @* | text()&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;!-- Now turn the reg attribute into an element. --&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;@reg&amp;quot;&amp;gt;&amp;lt;xsl:element name=&amp;quot;reg&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@reg&amp;quot; /&amp;gt;&amp;lt;/xsl:element&amp;gt;&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Suppress respStmt/lb --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;respStmt/lb&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Supply a default scheme attribute for classCode and keywords elements. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;classCode | keywords&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;{local-name(.)}&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;not(@scheme)&amp;quot;&amp;gt;&amp;lt;xsl:attribute name=&amp;quot;scheme&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$DefAttVal&amp;quot; /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;* | @* | text()&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- qs inside cits need to be converted to quote elements. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;cit/q&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;quote&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;* | @* | text()&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Special case, probably due to erroneous use of respStmt: we sometimes have &lt;br /&gt;
        name elements embedded in resp elements. These need to be unravelled. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;respStmt/resp[child::name]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;resp&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;child::text()&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;child::name&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- This is provisional, pending some feedback from TEI-L on how to encode email&lt;br /&gt;
        addresses in P5. --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Convert xptr elements for email addresses to ptr. --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- First suppress the attributes we're going to harvest. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;xptr/@type | xptr/@to&amp;quot;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;xptr&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;ptr&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;(@type='email') and (@to)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;target&amp;quot;&amp;gt;mailto:&amp;lt;xsl:value-of select=&amp;quot;@to&amp;quot; /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;node() | text()&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- In P5, the value attribute of the date element has been tightened up. &lt;br /&gt;
        This handles date ranges which are expressed in date/@value attributes, &lt;br /&gt;
        as well as other unacceptable values such as &amp;quot;1963a&amp;quot;. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;date&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;date&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- We're going to assume (bravely) that date ranges are YYYY-YYYY. --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:when test=&amp;quot;string-length(@value) = 9&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;from&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;substring-before(@value, '-')&amp;quot; /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;to&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;substring-after(@value, '-')&amp;quot; /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
            &amp;lt;!-- We're going to assume (again bravely) that date values used in biblios to&lt;br /&gt;
            tag items as &amp;quot;1963a, 1963b&amp;quot; etc. always have 5 characters. Shave off anything&lt;br /&gt;
            after the year, and put it into an n attribute. --&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:when test=&amp;quot;string-length(@value) = 5&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;substring(@value, 1, 4)&amp;quot; /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;n&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;substring(@value, 5)&amp;quot; /&amp;gt;&amp;lt;/xsl:attribute&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;xsl:copy-of select=&amp;quot;@value&amp;quot; /&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:apply-templates select=&amp;quot;* | text() | @*[name() != 'value']&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Abbreviations and expansions. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;abbr[@expan]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;choice&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;abbr&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;./child::text()&amp;quot; /&amp;gt;&amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;expan&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;@expan&amp;quot; /&amp;gt;&amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&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;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:XSLT]][[Category:P4toP5]]&lt;/div&gt;</summary>
		<author><name>Mholmes</name></author>
		
	</entry>
</feed>