<?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=CSV2TEI.xsl</id>
	<title>CSV2TEI.xsl - 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=CSV2TEI.xsl"/>
	<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;action=history"/>
	<updated>2026-11-05T05:51:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3586&amp;oldid=prev</id>
		<title>Piotr Banski: /* Required Input */ changed the invocation of saxon, see the talk page</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3586&amp;oldid=prev"/>
		<updated>2007-10-02T10:56:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Required Input: &lt;/span&gt; changed the invocation of saxon, see the talk page&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:56, 2 October 2007&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-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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 [[Saxon]] 8 or above use it as:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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 [[Saxon]] 8 or above use it as:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;saxon &lt;/del&gt;-it main CSV2TEI.xsl input-uri=filename.csv&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;java -jar saxon8.jar &lt;/ins&gt;-it main CSV2TEI.xsl input-uri=filename.csv&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;So input can be any file resembling:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;(The &quot;-it main&quot; option tells the processor to invoke the &quot;main&quot; template by name, and the &quot;input-uri&quot; is a parameter that we pass to that template.)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;So input can be any file &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(in our example, &quot;filename.csv&quot;) &lt;/ins&gt;resembling:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This,is,a,test,only,a,test&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This,is,a,test,only,a,test&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This, is a, variation, on a, test&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This, is a, variation, on a, test&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot;  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Piotr Banski</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3584&amp;oldid=prev</id>
		<title>Piotr Banski: /* Required Input */ + link, stylesheet-&gt;CSV2TEI, see talk page</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3584&amp;oldid=prev"/>
		<updated>2007-10-02T10:21:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Required Input: &lt;/span&gt; + link, stylesheet-&amp;gt;CSV2TEI, see talk page&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:21, 2 October 2007&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-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;== Required Input ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;== Required Input ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;Using Saxon 8 or above use it as:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;Using &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Saxon&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;8 or above use it as:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&#039;&#039;&#039;saxon -it main &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;styesheet&lt;/del&gt;.xsl input-uri=filename.csv&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&#039;&#039;&#039;saxon -it main &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CSV2TEI&lt;/ins&gt;.xsl input-uri=filename.csv&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;So input can be any file resembling:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;So input can be any file resembling:&lt;/div&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-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;== Expected Output ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;== Expected Output ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Piotr Banski</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3290&amp;oldid=prev</id>
		<title>Piotr Banski: Reverted edit of KqlY9b, changed back to last version by Piotr Banski</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3290&amp;oldid=prev"/>
		<updated>2007-07-13T10:46:09Z</updated>

		<summary type="html">&lt;p&gt;Reverted edit of KqlY9b, changed back to last version by Piotr Banski&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This stylesheet takes a comma-separated-values file and converts it to a basic TEI table structure.&lt;br /&gt;
&lt;br /&gt;
Add any comments to the &amp;#039;discussion&amp;#039; tab.&lt;br /&gt;
&lt;br /&gt;
== Required Input ==&lt;br /&gt;
&lt;br /&gt;
Using Saxon 8 or above use it as:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;saxon -it main styesheet.xsl input-uri=filename.csv&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
So input can be any file resembling:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
This,is,a,test,only,a,test&lt;br /&gt;
This, is a, variation, on a, test&lt;br /&gt;
&amp;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Expected Output ==&lt;br /&gt;
&lt;br /&gt;
The output is a TEI table with table, rows and cells but nothing else which can then be cut-and-pasted into a TEI document.&lt;br /&gt;
For example, with the above input, the output should be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;only&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;on a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;another&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation.&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Restrictions or Problems ==&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
* If surrounded in double-quotes, it will remove them.&lt;br /&gt;
* It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
* It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
*  It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stylesheet ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Usage: &lt;br /&gt;
saxon -it main styesheet.xsl input-uri=filename.csv&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
1) It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
2) If surrounded in double-quotes, it will remove them.&lt;br /&gt;
3) It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
4) It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
5) It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    version=&amp;quot;2.0&amp;quot; exclude-result-prefixes=&amp;quot;#all&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;input-uri&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;encoding&amp;quot; select=&amp;quot;&amp;#039;UTF-8&amp;#039;&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:output indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;in&amp;quot; &lt;br /&gt;
              select=&amp;quot;unparsed-text($input-uri, $encoding)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;table&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:analyze-string select=&amp;quot;$in&amp;quot; regex=&amp;quot;\n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:non-matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:analyze-string select=&amp;quot;.&amp;quot; &lt;br /&gt;
              regex=&amp;#039;(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^,]+?),&amp;#039;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
          &amp;lt;cell&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(2))&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(3))&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/cell&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
      &amp;lt;/row&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:non-matching-substring&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
  &amp;lt;/table&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;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;br /&gt;
[[Category:XSLT:2.0]]&lt;/div&gt;</summary>
		<author><name>Piotr Banski</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3230&amp;oldid=prev</id>
		<title>Piotr Banski: revert</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3230&amp;oldid=prev"/>
		<updated>2007-06-22T13:30:48Z</updated>

		<summary type="html">&lt;p&gt;revert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This stylesheet takes a comma-separated-values file and converts it to a basic TEI table structure.&lt;br /&gt;
&lt;br /&gt;
Add any comments to the &amp;#039;discussion&amp;#039; tab.&lt;br /&gt;
&lt;br /&gt;
== Required Input ==&lt;br /&gt;
&lt;br /&gt;
Using Saxon 8 or above use it as:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;saxon -it main styesheet.xsl input-uri=filename.csv&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
So input can be any file resembling:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
This,is,a,test,only,a,test&lt;br /&gt;
This, is a, variation, on a, test&lt;br /&gt;
&amp;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Expected Output ==&lt;br /&gt;
&lt;br /&gt;
The output is a TEI table with table, rows and cells but nothing else which can then be cut-and-pasted into a TEI document.&lt;br /&gt;
For example, with the above input, the output should be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;only&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;on a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;another&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation.&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Restrictions or Problems ==&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
* If surrounded in double-quotes, it will remove them.&lt;br /&gt;
* It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
* It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
*  It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stylesheet ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Usage: &lt;br /&gt;
saxon -it main styesheet.xsl input-uri=filename.csv&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
1) It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
2) If surrounded in double-quotes, it will remove them.&lt;br /&gt;
3) It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
4) It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
5) It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    version=&amp;quot;2.0&amp;quot; exclude-result-prefixes=&amp;quot;#all&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;input-uri&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;encoding&amp;quot; select=&amp;quot;&amp;#039;UTF-8&amp;#039;&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:output indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;in&amp;quot; &lt;br /&gt;
              select=&amp;quot;unparsed-text($input-uri, $encoding)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;table&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:analyze-string select=&amp;quot;$in&amp;quot; regex=&amp;quot;\n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:non-matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:analyze-string select=&amp;quot;.&amp;quot; &lt;br /&gt;
              regex=&amp;#039;(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^,]+?),&amp;#039;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
          &amp;lt;cell&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(2))&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(3))&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/cell&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
      &amp;lt;/row&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:non-matching-substring&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
  &amp;lt;/table&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;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;br /&gt;
[[Category:XSLT:2.0]]&lt;/div&gt;</summary>
		<author><name>Piotr Banski</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3171&amp;oldid=prev</id>
		<title>Piotr Banski: revert</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=3171&amp;oldid=prev"/>
		<updated>2007-06-03T02:21:49Z</updated>

		<summary type="html">&lt;p&gt;revert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This stylesheet takes a comma-separated-values file and converts it to a basic TEI table structure.&lt;br /&gt;
&lt;br /&gt;
Add any comments to the &amp;#039;discussion&amp;#039; tab.&lt;br /&gt;
&lt;br /&gt;
== Required Input ==&lt;br /&gt;
&lt;br /&gt;
Using Saxon 8 or above use it as:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;saxon -it main styesheet.xsl input-uri=filename.csv&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
So input can be any file resembling:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
This,is,a,test,only,a,test&lt;br /&gt;
This, is a, variation, on a, test&lt;br /&gt;
&amp;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Expected Output ==&lt;br /&gt;
&lt;br /&gt;
The output is a TEI table with table, rows and cells but nothing else which can then be cut-and-pasted into a TEI document.&lt;br /&gt;
For example, with the above input, the output should be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;only&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;on a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;another&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation.&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Restrictions or Problems ==&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
* If surrounded in double-quotes, it will remove them.&lt;br /&gt;
* It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
* It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
*  It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stylesheet ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Usage: &lt;br /&gt;
saxon -it main styesheet.xsl input-uri=filename.csv&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
1) It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
2) If surrounded in double-quotes, it will remove them.&lt;br /&gt;
3) It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
4) It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
5) It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    version=&amp;quot;2.0&amp;quot; exclude-result-prefixes=&amp;quot;#all&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;input-uri&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;encoding&amp;quot; select=&amp;quot;&amp;#039;UTF-8&amp;#039;&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:output indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;in&amp;quot; &lt;br /&gt;
              select=&amp;quot;unparsed-text($input-uri, $encoding)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;table&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:analyze-string select=&amp;quot;$in&amp;quot; regex=&amp;quot;\n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:non-matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:analyze-string select=&amp;quot;.&amp;quot; &lt;br /&gt;
              regex=&amp;#039;(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^,]+?),&amp;#039;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
          &amp;lt;cell&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(2))&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(3))&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/cell&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
      &amp;lt;/row&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:non-matching-substring&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
  &amp;lt;/table&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;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;br /&gt;
[[Category:XSLT:2.0]]&lt;/div&gt;</summary>
		<author><name>Piotr Banski</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2486&amp;oldid=prev</id>
		<title>James at 16:07, 20 January 2006</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2486&amp;oldid=prev"/>
		<updated>2006-01-20T16:07:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:07, 20 January 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-l14&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;This,is,a,test,only,a,test&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;This,is,a,test,only,a,test&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;This, is a, variation, on a, test&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;This, is a, variation, on a, test&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot;  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&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-l35&quot;&gt;Line 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;only&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;only&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;/row&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;/row&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;row&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;row&amp;gt;&lt;/div&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-l41&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 42:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;variation&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;variation&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;on a&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;cell&amp;gt;on a&amp;lt;/cell&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;/row&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;/row&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;row&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;row&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>James</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2484&amp;oldid=prev</id>
		<title>James: Reverted edit of Recito, changed back to last version by Stuart</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2484&amp;oldid=prev"/>
		<updated>2006-01-20T16:02:54Z</updated>

		<summary type="html">&lt;p&gt;Reverted edit of Recito, changed back to last version by Stuart&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This stylesheet takes a comma-separated-values file and converts it to a basic TEI table structure.&lt;br /&gt;
&lt;br /&gt;
Add any comments to the &amp;#039;discussion&amp;#039; tab.&lt;br /&gt;
&lt;br /&gt;
== Required Input ==&lt;br /&gt;
&lt;br /&gt;
Using Saxon 8 or above use it as:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;saxon -it main styesheet.xsl input-uri=filename.csv&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
So input can be any file resembling:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
This,is,a,test,only,a,test!&lt;br /&gt;
This, is a, variation, on a, test!&lt;br /&gt;
&amp;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Expected Output ==&lt;br /&gt;
&lt;br /&gt;
The output is a TEI table with table, rows and cells but nothing else which can then be cut-and-pasted into a TEI document.&lt;br /&gt;
For example, with the above input, the output should be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;only&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;on a&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;another&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation.&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Restrictions or Problems ==&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
* If surrounded in double-quotes, it will remove them.&lt;br /&gt;
* It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
* It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
*  It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stylesheet ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Usage: &lt;br /&gt;
saxon -it main styesheet.xsl input-uri=filename.csv&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
1) It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
2) If surrounded in double-quotes, it will remove them.&lt;br /&gt;
3) It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
4) It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
5) It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    version=&amp;quot;2.0&amp;quot; exclude-result-prefixes=&amp;quot;#all&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;input-uri&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;encoding&amp;quot; select=&amp;quot;&amp;#039;UTF-8&amp;#039;&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:output indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;in&amp;quot; &lt;br /&gt;
              select=&amp;quot;unparsed-text($input-uri, $encoding)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;table&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:analyze-string select=&amp;quot;$in&amp;quot; regex=&amp;quot;\n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:non-matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:analyze-string select=&amp;quot;.&amp;quot; &lt;br /&gt;
              regex=&amp;#039;(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^,]+?),&amp;#039;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
          &amp;lt;cell&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(2))&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(3))&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/cell&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
      &amp;lt;/row&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:non-matching-substring&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
  &amp;lt;/table&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;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;br /&gt;
[[Category:XSLT:2.0]]&lt;/div&gt;</summary>
		<author><name>James</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2427&amp;oldid=prev</id>
		<title>Stuart: Nasty spam links removed</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2427&amp;oldid=prev"/>
		<updated>2006-01-19T12:02:04Z</updated>

		<summary type="html">&lt;p&gt;Nasty spam links removed&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This stylesheet takes a comma-separated-values file and converts it to a basic TEI table structure.&lt;br /&gt;
&lt;br /&gt;
Add any comments to the &amp;#039;discussion&amp;#039; tab.&lt;br /&gt;
&lt;br /&gt;
== Required Input ==&lt;br /&gt;
&lt;br /&gt;
Using Saxon 8 or above use it as:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;saxon -it main styesheet.xsl input-uri=filename.csv&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
So input can be any file resembling:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
This,is,a,test,only,a,test!&lt;br /&gt;
This, is a, variation, on a, test!&lt;br /&gt;
&amp;quot;This&amp;quot;,&amp;quot;is&amp;quot;,&amp;quot;another&amp;quot;,&amp;quot;variation.&amp;quot; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Expected Output ==&lt;br /&gt;
&lt;br /&gt;
The output is a TEI table with table, rows and cells but nothing else which can then be cut-and-pasted into a TEI document.&lt;br /&gt;
For example, with the above input, the output should be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;test&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;only&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;a&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is a&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;on a&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
   &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;This&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;is&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;another&amp;lt;/cell&amp;gt;&lt;br /&gt;
      &amp;lt;cell&amp;gt;variation.&amp;lt;/cell&amp;gt;&lt;br /&gt;
   &amp;lt;/row&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Restrictions or Problems ==&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
* If surrounded in double-quotes, it will remove them.&lt;br /&gt;
* It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
* It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
*  It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stylesheet ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Usage: &lt;br /&gt;
saxon -it main styesheet.xsl input-uri=filename.csv&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
1) It assumes cells are comma separated and rows are on individual lines&lt;br /&gt;
2) If surrounded in double-quotes, it will remove them.&lt;br /&gt;
3) It normalize-space()s the individual cell contents so leading/trailing spaces&lt;br /&gt;
are removed.&lt;br /&gt;
4) It assumes things are in UTF-8 but this can be changed with the encoding&lt;br /&gt;
parameter output is converted to UTF-8.&lt;br /&gt;
5) It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    version=&amp;quot;2.0&amp;quot; exclude-result-prefixes=&amp;quot;#all&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;input-uri&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;encoding&amp;quot; select=&amp;quot;&amp;#039;UTF-8&amp;#039;&amp;quot; as=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xsl:output indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;in&amp;quot; &lt;br /&gt;
              select=&amp;quot;unparsed-text($input-uri, $encoding)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;table&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:analyze-string select=&amp;quot;$in&amp;quot; regex=&amp;quot;\n&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:non-matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;row&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:analyze-string select=&amp;quot;.&amp;quot; &lt;br /&gt;
              regex=&amp;#039;(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^,]+?),&amp;#039;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
          &amp;lt;cell&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(2))&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;xsl:value-of select=&amp;quot;normalize-space(regex-group(3))&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/cell&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
      &amp;lt;/row&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:non-matching-substring&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
  &amp;lt;/table&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;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;br /&gt;
[[Category:XSLT:2.0]]&lt;/div&gt;</summary>
		<author><name>Stuart</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2397&amp;oldid=prev</id>
		<title>James at 14:17, 13 January 2006</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2397&amp;oldid=prev"/>
		<updated>2006-01-13T14:17:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:17, 13 January 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-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This,is,a,test,only,a,test!&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This,is,a,test,only,a,test!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This, is a, variation, on a, test!&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;This, is a, variation, on a, test!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;This&quot;,&quot;is&quot;,&quot;another&quot;,&quot;variation.&quot; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It is an XSLT2 stylesheet and requires an XSLT2 processor such as Saxon8&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;This&quot;,&quot;is&quot;,&quot;another&quot;,&quot;variation.&quot;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>James</name></author>
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2150&amp;oldid=prev</id>
		<title>James: Reverted edit of 2chemp, changed back to last version by James</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=CSV2TEI.xsl&amp;diff=2150&amp;oldid=prev"/>
		<updated>2005-11-14T10:58:13Z</updated>

		<summary type="html">&lt;p&gt;Reverted edit of 2chemp, changed back to last version by James&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:58, 14 November 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>James</name></author>
	</entry>
</feed>