<?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=MilestoneXSLT</id>
	<title>MilestoneXSLT - 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=MilestoneXSLT"/>
	<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;action=history"/>
	<updated>2026-04-21T13:33: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=MilestoneXSLT&amp;diff=10952&amp;oldid=prev</id>
		<title>Martin de la Iglesia: /* XSLT 1.0 */ typo</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=10952&amp;oldid=prev"/>
		<updated>2012-07-10T08:49:08Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;XSLT 1.0: &lt;/span&gt; typo&lt;/span&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 08:49, 10 July 2012&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-l343&quot; &gt;Line 343:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 343:&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;2.0&amp;quot;  &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;2.0&amp;quot;  &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;     xpath-default-namespace=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot; xmlns:tei=&amp;quot;http://www.tei-c.org/ns/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;     xpath-default-namespace=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot; xmlns:tei=&amp;quot;http://www.tei-c.org/ns/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;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;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;8”&lt;/del&gt;/&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;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;8&amp;quot;&lt;/ins&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;     &amp;lt;xsl:template match=&amp;quot;node()|@*&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:template match=&amp;quot;node()|@*&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;div&gt;         &amp;lt;!-- Copy the current node --&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;!-- Copy the current node --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martin de la Iglesia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=10950&amp;oldid=prev</id>
		<title>Martin de la Iglesia: /* Expected Output */ typo</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=10950&amp;oldid=prev"/>
		<updated>2012-07-09T08:24:18Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Expected Output: &lt;/span&gt; typo&lt;/span&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 08:24, 9 July 2012&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-l123&quot; &gt;Line 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&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;div&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;div&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;       &amp;lt;p&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;p&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;span class=&amp;quot;default&amp;quot;&amp;gt;Jane Austen May 6&amp;lt;/span&amp;gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sip&lt;/del&gt;&amp;gt;&amp;lt;span class=&amp;quot;default&amp;quot;&amp;gt;th&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; &amp;lt;span class=&amp;quot;default&amp;quot;&amp;gt;1792&amp;lt;/span&amp;gt;&amp;lt;/p&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;span class=&amp;quot;default&amp;quot;&amp;gt;Jane Austen May 6&amp;lt;/span&amp;gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sup&lt;/ins&gt;&amp;gt;&amp;lt;span class=&amp;quot;default&amp;quot;&amp;gt;th&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; &amp;lt;span class=&amp;quot;default&amp;quot;&amp;gt;1792&amp;lt;/span&amp;gt;&amp;lt;/p&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;      &amp;lt;/div&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;/div&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;      &amp;lt;/body&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;/body&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martin de la Iglesia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=10924&amp;oldid=prev</id>
		<title>Raffaele.viglianti: /* XSLT 1.0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=10924&amp;oldid=prev"/>
		<updated>2012-06-22T09:46:05Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;XSLT 1.0&lt;/span&gt;&lt;/span&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 09:46, 22 June 2012&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-l337&quot; &gt;Line 337:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 337:&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;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;Using xsl:for-each-group and XSLT 2.0 is considerably faster and more efficient and, therefore, recommended.&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;Using xsl:for-each-group and XSLT 2.0 is considerably faster and more efficient and, therefore, recommended.&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;&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;Script 1 (compatible with XSLT 1.0)&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;Script 1 (compatible with XSLT 1.0)&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l511&quot; &gt;Line 511:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 512:&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;/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;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;/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;Script 3 (Can be split into &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;three &lt;/del&gt;XLST 1.0 scripts)&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;Script 3 (Can be split into &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;two &lt;/ins&gt;XLST 1.0 scripts)&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;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;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;pre&amp;gt;&amp;lt;nowiki&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;&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 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;?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;/table&gt;</summary>
		<author><name>Raffaele.viglianti</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=10923&amp;oldid=prev</id>
		<title>Raffaele.viglianti: Substantially updates, added better XSLT2 solutions</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=10923&amp;oldid=prev"/>
		<updated>2012-06-21T19:46:44Z</updated>

		<summary type="html">&lt;p&gt;Substantially updates, added better XSLT2 solutions&lt;/p&gt;
&lt;a href=&quot;https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;amp;diff=10923&amp;amp;oldid=4473&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Raffaele.viglianti</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=4473&amp;oldid=prev</id>
		<title>Elenap: New page: == Authorship == {|  | ''Author'' | Raffaele Viglianti and Elena Pierazzo, King’s College London, [mailto:raffaele.viglianti@kcl.ac.uk raffaele.viglianti@kcl.ac.uk] [mailto:elena.pierazz...</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=MilestoneXSLT&amp;diff=4473&amp;oldid=prev"/>
		<updated>2008-06-23T15:05:02Z</updated>

		<summary type="html">&lt;p&gt;New page: == Authorship == {|  | &amp;#039;&amp;#039;Author&amp;#039;&amp;#039; | Raffaele Viglianti and Elena Pierazzo, King’s College London, [mailto:raffaele.viglianti@kcl.ac.uk raffaele.viglianti@kcl.ac.uk] [mailto:elena.pierazz...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Authorship ==&lt;br /&gt;
{| &lt;br /&gt;
| ''Author''&lt;br /&gt;
| Raffaele Viglianti and Elena Pierazzo, King’s College London, [mailto:raffaele.viglianti@kcl.ac.uk raffaele.viglianti@kcl.ac.uk] [mailto:elena.pierazzo@kcl.ac.uk elena.pierazzo@kcl.ac.uk]&lt;br /&gt;
|- &lt;br /&gt;
| ''Last revised''&lt;br /&gt;
| 2008-06-23&lt;br /&gt;
|-&lt;br /&gt;
| ''Previous version''&lt;br /&gt;
| none&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
This is a group of XSLT scripts for managing milestones (page breaks, line breaks, hand shifts, etc.) in XSLT 2.0 (but can work also in 1.0, see below). &lt;br /&gt;
These scripts are part of a poster presented at DH2008 by Elena Pierazzo and Raffaele Viglianti: XSLT (2.0) handbook for processing multiple hierarchies.&lt;br /&gt;
Three different approaches are presented, ordered by complexity of the input and of the script as well.&lt;br /&gt;
&lt;br /&gt;
== Required Input ==&lt;br /&gt;
Script 1: expanding milestones&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;TEI&amp;gt;&lt;br /&gt;
  &amp;lt;text&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      Give me then your house &amp;amp;amp; &amp;lt;w&amp;gt;Grounds&amp;lt;/w&amp;gt;&lt;br /&gt;
       &amp;lt;lb/&amp;gt;&lt;br /&gt;
      I ask for nothing else &lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/TEI&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Script 2: splitting elements, then expanding milestones&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;TEI&amp;gt;&lt;br /&gt;
  &amp;lt;text&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;del rend=”overstrike”&amp;gt;Card room where&lt;br /&gt;
         &amp;lt;lb/&amp;gt;&lt;br /&gt;
      nine out of ten had no inclination&amp;lt;/del&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/TEI&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Script 3: looping on textual nodes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;TEI&amp;gt;&lt;br /&gt;
  &amp;lt;text&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;pb xml:id=”blvolthird-03”/&amp;gt;&lt;br /&gt;
     &amp;lt;div&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;&amp;lt;handShift new=”#a2”/&amp;gt;&lt;br /&gt;
For James Edward Austen&amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;div&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&amp;lt;handShift new=”#a2”/&amp;gt;&lt;br /&gt;
        Jane Austen May 6&amp;lt;hi rend=”sup”&amp;gt;th&amp;lt;/hi&amp;gt; 1792&amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/TEI&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Expected Output ==&lt;br /&gt;
&lt;br /&gt;
Script 1&lt;br /&gt;
&lt;br /&gt;
the function would produce the following XML fragment as output:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;TEI&amp;gt;&lt;br /&gt;
  &amp;lt;text&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
       &amp;lt;lb&amp;gt;Give me then your house &amp;amp;amp; &amp;lt;w&amp;gt;Grounds&amp;lt;/w&amp;gt;&amp;lt;/lb&amp;gt;&lt;br /&gt;
      &amp;lt;lb&amp;gt;I ask for nothing else&amp;lt;/lb&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/TEI&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Script 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;TEI&amp;gt;&lt;br /&gt;
  &amp;lt;text&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;lb&amp;gt;&lt;br /&gt;
        &amp;lt;del rend=”overstrike”&amp;gt;Card room where&amp;lt;/del&amp;gt;&lt;br /&gt;
      &amp;lt;/lb&amp;gt;&amp;lt;lb&amp;gt;&lt;br /&gt;
        &amp;lt;del rend=”overstrike”&amp;gt;nine out of ten had no inclination&amp;lt;/del&amp;gt;&lt;br /&gt;
      &amp;lt;/lb&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/TEI&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Script 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
     &amp;lt;div class=”pb”&amp;gt;blvolthird-03”&amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;div&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;&amp;lt;span class=”pencil”&amp;gt;For James Edward Austen&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;div&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;span class=”default”&amp;gt;Jane Austen May 6&amp;lt;/span&amp;gt;&amp;lt;sip&amp;gt;&amp;lt;span class=”default”&amp;gt;th&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; &amp;lt;span class=”default”&amp;gt;1792&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Restrictions or Problems ==&lt;br /&gt;
&lt;br /&gt;
The code shown below requires XSLT 2. With XSLT 1 it is possible to emulate the “step” approaches by using more than one script and intermediate files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The running time is very similar using a standalone saxon process or embedded in Apache Cocoon&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
Script 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&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;2.0&amp;quot; &lt;br /&gt;
    xpath-default-namespace=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot; xmlns:tei=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8”/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;node()|@*&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Copy the current node --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy&amp;gt;&lt;br /&gt;
            &amp;lt;!-- Including any child nodes it has and any attributes --&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;node()|@*&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:copy&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;p&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;cur-p&amp;quot; select=&amp;quot;generate-id(.)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:when test=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;lb&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence select=&amp;quot;parent::p/@*&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                        &amp;lt;xsl:apply-templates&lt;br /&gt;
                            select=&amp;quot;preceding::*[parent::p[generate-id()=$cur-p]]|preceding::text()[parent::p[generate-id()=$cur-p]]&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:apply-templates&lt;br /&gt;
                            select=&amp;quot;preceding::*/@*[parent::p[generate-id()=$cur-p]]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lb&amp;gt;&lt;br /&gt;
                    &amp;lt;lb&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence select=&amp;quot;parent::p/@*&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence&lt;br /&gt;
                            select=&amp;quot;following::*[parent::p[generate-id()=$cur-p]]|following::text()[parent::p[generate-id()=$cur-p]]&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence select=&amp;quot;following::*/@*[parent::p[generate-id()=$cur-p]]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lb&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&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:sequence select=&amp;quot;.&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;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;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;
&lt;br /&gt;
Script 2&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&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;2.0&amp;quot;&lt;br /&gt;
    xpath-default-namespace=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot; xmlns=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xhtml&amp;quot; indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;&lt;br /&gt;
        doctype-public=&amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:strip-space elements=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:variable name=&amp;quot;step1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:call-template name=&amp;quot;one&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:variable name=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;$step1&amp;quot; mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;*&amp;quot; mode=&amp;quot;step1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:sequence select=&amp;quot;@*&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates mode=&amp;quot;step1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:copy&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;del&amp;quot; mode=&amp;quot;step1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;cur-del&amp;quot; select=&amp;quot;generate-id(.)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:when test=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;lb&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;del&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:when test=&amp;quot;parent::del/@type&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:variable name=&amp;quot;type&amp;quot; select=&amp;quot;generate-id(parent::del/@type)&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:sequence select=&amp;quot;parent::del/@*[generate-id() != $type]&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;xsl:sequence select=&amp;quot;parent::del/@*&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&lt;br /&gt;
                            select=&amp;quot;preceding::*[parent::del[generate-id()=$cur-del]]|preceding::text()[parent::del[generate-id()=$cur-del]]&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:apply-templates&lt;br /&gt;
                            select=&amp;quot;preceding::*/@*[parent::del[generate-id()=$cur-del]]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                    &amp;lt;lb&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence select=&amp;quot;@*&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/lb&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                    &amp;lt;del&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence select=&amp;quot;parent::del/@*&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence&lt;br /&gt;
                            select=&amp;quot;following::*[parent::del[generate-id()=$cur-del]]|following::text()[parent::del[generate-id()=$cur-del]]&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:sequence select=&amp;quot;following::*/@*[parent::del[generate-id()=$cur-del]]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/del&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&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:sequence select=&amp;quot;.&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;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template name=&amp;quot;one&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;TEI&amp;quot; mode=&amp;quot;step1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot; mode=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-templates mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
        &amp;lt;/html&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;p&amp;quot; mode=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;cur-p&amp;quot; select=&amp;quot;generate-id(.)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;exists(descendant::lb)&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;descendant::lb&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:variable name=&amp;quot;cur-lb&amp;quot; select=&amp;quot;generate-id(.)&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;span class=&amp;quot;line&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:for-each&lt;br /&gt;
                                select=&amp;quot;preceding::node()[ancestor::p[generate-id()=$cur-p]]&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                                &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:when test=&amp;quot;not(self::lb)&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xsl:if&lt;br /&gt;
                                            test=&amp;quot;generate-id(following::lb[1])=$cur-lb and generate-id(parent::node()[1])=$cur-p&amp;quot;&amp;gt;&lt;br /&gt;
                                            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xsl:if&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:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;step2&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:for-each&amp;gt;&lt;br /&gt;
                        &amp;lt;/span&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;not(following::lb[parent::p[generate-id()=$cur-p]])&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;span class=&amp;quot;line&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:for-each&lt;br /&gt;
                                    select=&amp;quot;following::*[ancestor::p[generate-id()=$cur-p]]&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                            &amp;lt;/span&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:for-each&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:apply-templates mode=&amp;quot;step2&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;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;del&amp;quot; mode=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;del&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/del&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- OUTPUTTING --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:sequence select=&amp;quot;$step2&amp;quot;/&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;
&lt;br /&gt;
Script 3&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;2.0&amp;quot;&lt;br /&gt;
    xpath-default-namespace=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot; xmlns=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;xhtml&amp;quot; indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;&lt;br /&gt;
        doctype-public=&amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:strip-space elements=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:variable name=&amp;quot;step1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:call-template name=&amp;quot;one&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:variable name=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;$step1&amp;quot; mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;*&amp;quot; mode=&amp;quot;step1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:copy&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:sequence select=&amp;quot;@*&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates mode=&amp;quot;step1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:copy&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;text()[not(ancestor::teiHeader)]&amp;quot; mode=&amp;quot;step1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;handShift&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:sequence select=&amp;quot;preceding::handShift[1]/@new&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/handShift&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;handShift&amp;quot; mode=&amp;quot;step1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template name=&amp;quot;one&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;TEI&amp;quot; mode=&amp;quot;step1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot; mode=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-templates mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
        &amp;lt;/html&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;p&amp;quot; mode=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;cur-p&amp;quot; select=&amp;quot;generate-id(.)&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;exists(descendant::lb)&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:for-each select=&amp;quot;descendant::lb&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:variable name=&amp;quot;cur-lb&amp;quot; select=&amp;quot;generate-id(.)&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;span class=&amp;quot;line&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:for-each&lt;br /&gt;
                                select=&amp;quot;preceding::node()[ancestor::p[generate-id()=$cur-p]]&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:when test=&amp;quot;not(self::lb)&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xsl:if&lt;br /&gt;
                                            test=&amp;quot;generate-id(following::lb[1])=$cur-lb and generate-id(parent::node()[1])=$cur-p&amp;quot;&amp;gt;&lt;br /&gt;
                                            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
                                        &amp;lt;/xsl:if&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:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;step2&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:for-each&amp;gt;&lt;br /&gt;
                        &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                        &amp;lt;xsl:if test=&amp;quot;not(following::lb[parent::p[generate-id()=$cur-p]])&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;span class=&amp;quot;line&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xsl:for-each&lt;br /&gt;
                                    select=&amp;quot;following::*[ancestor::p[generate-id()=$cur-p]]&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
                                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                            &amp;lt;/span&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                    &amp;lt;/xsl:for-each&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:apply-templates mode=&amp;quot;step2&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;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;handShift&amp;quot; mode=&amp;quot;step2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:attribute name=&amp;quot;class&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;@new= '#a2'&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;default&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;@new='#a1'&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text&amp;gt;pencil&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates mode=&amp;quot;step2&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;!-- OUTPUTTING --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:sequence select=&amp;quot;$step2&amp;quot;/&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;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Elenap</name></author>
		
	</entry>
</feed>