<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tei-c.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joel+Kalvesmaki</id>
	<title>TEIWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tei-c.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joel+Kalvesmaki"/>
	<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Special:Contributions/Joel_Kalvesmaki"/>
	<updated>2026-06-20T09:33:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=User:Joel_Kalvesmaki&amp;diff=16855</id>
		<title>User:Joel Kalvesmaki</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=User:Joel_Kalvesmaki&amp;diff=16855"/>
		<updated>2021-07-13T07:20:00Z</updated>

		<summary type="html">&lt;p&gt;Joel Kalvesmaki: Updated summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://kalvesmaki.com Joel Kalvesmaki] (PhD, early Christian studies, Catholic University of America, 2006) is an XML specialist for the [https://gpo.gov Government Publishing Office], a fellow at Catholic University of America, and director of the [http://textalign.net Text Alignment Network]. For more than a decade he was Editor in Byzantine Studies at [http://doaks.org Dumbarton Oaks], and now serves as an editor for the [http://journal.tei-c.org/ Journal of the Text Encoding Initiative] and as editor-in-chief of the monograph series [https://www.ucpress.edu/series/cla/christianity-in-late-antiquity Christianity in Late Antiquity]. His historical research centers on Greek theological and philosophical texts from late antiquity. Editor of the digital-only scholarly reference work [http://evagriusponticus.net Guide to Evagrius Ponticus], Joel also serves broadly as an advisor on the digital humanities.&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;/div&gt;</summary>
		<author><name>Joel Kalvesmaki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=User:Joel_Kalvesmaki&amp;diff=14305</id>
		<title>User:Joel Kalvesmaki</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=User:Joel_Kalvesmaki&amp;diff=14305"/>
		<updated>2015-05-14T15:47:06Z</updated>

		<summary type="html">&lt;p&gt;Joel Kalvesmaki: Added links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://kalvesmaki.com Joel Kalvesmaki] (PhD, early Christian studies, Catholic University of America, 2006) is Editor in Byzantine Studies at [http://doaks.org Dumbarton Oaks]. His historical research centers on Greek theological and philosophical texts from late antiquity. Editor of the digital-only scholarly reference work [http://evagriusponticus.net Guide to Evagrius Ponticus], Joel also serves broadly as an advisor on the digital humanities.&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;/div&gt;</summary>
		<author><name>Joel Kalvesmaki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Set_when-iso_to_today&amp;diff=14304</id>
		<title>Set when-iso to today</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Set_when-iso_to_today&amp;diff=14304"/>
		<updated>2015-05-14T15:25:23Z</updated>

		<summary type="html">&lt;p&gt;Joel Kalvesmaki: Started page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The code below is intended to offer a quick fix for an empty &amp;lt;code&amp;gt;@when-iso&amp;lt;/code&amp;gt; element by suggesting the insertion of either today's date or the current date and time in ISO-compliant form. It is ideal for &amp;lt;code&amp;gt;&amp;lt;change&amp;gt;&amp;lt;/code&amp;gt; elements, to save time in typing the day or time when a change was made.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;rule context=&amp;quot;@when-iso&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;report role=&amp;quot;warn&amp;quot; test=&amp;quot;. = ''&amp;quot; sqf:fix=&amp;quot;insert-todays-date insert-current-dateTime&amp;quot;&amp;gt;@iso-when should not be&lt;br /&gt;
       empty.&amp;lt;/report&amp;gt;&lt;br /&gt;
    &amp;lt;sqf:fix id=&amp;quot;insert-todays-date&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;sqf:description&amp;gt;&lt;br /&gt;
          &amp;lt;sqf:title&amp;gt;Insert today's date (ISO)&amp;lt;/sqf:title&amp;gt;&lt;br /&gt;
       &amp;lt;/sqf:description&amp;gt;&lt;br /&gt;
       &amp;lt;sqf:replace match=&amp;quot;.&amp;quot; target=&amp;quot;when-iso&amp;quot; node-type=&amp;quot;attribute&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;value-of select=&amp;quot;current-date()&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/sqf:replace&amp;gt;&lt;br /&gt;
    &amp;lt;/sqf:fix&amp;gt;&lt;br /&gt;
    &amp;lt;sqf:fix id=&amp;quot;insert-current-dateTime&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;sqf:description&amp;gt;&lt;br /&gt;
          &amp;lt;sqf:title&amp;gt;Insert today's date and time (ISO)&amp;lt;/sqf:title&amp;gt;&lt;br /&gt;
       &amp;lt;/sqf:description&amp;gt;&lt;br /&gt;
       &amp;lt;sqf:replace match=&amp;quot;.&amp;quot; target=&amp;quot;when-iso&amp;quot; node-type=&amp;quot;attribute&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;value-of select=&amp;quot;current-dateTime()&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/sqf:replace&amp;gt;&lt;br /&gt;
    &amp;lt;/sqf:fix&amp;gt;&lt;br /&gt;
 &amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Schematron]]&lt;/div&gt;</summary>
		<author><name>Joel Kalvesmaki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Unicode_normalization&amp;diff=14303</id>
		<title>Unicode normalization</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Unicode_normalization&amp;diff=14303"/>
		<updated>2015-05-14T14:55:50Z</updated>

		<summary type="html">&lt;p&gt;Joel Kalvesmaki: Added Schematron, function code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First [https://listserv.brown.edu/archives/cgi-bin/wa?A2=TEI-L;29cb6c10.1505 posted on TEI-L], the code below is a Schematron rule (with companion xsl function) to locate and identify all non-normalized Unicode characters, and to offer a quick fix to normalize it. &lt;br /&gt;
&lt;br /&gt;
Code must be part of a valid Schematron file. The prefix sqf must be bound to the namespace http://www.schematron-quickfix.com/validator/process. The prefix func can be bound to any namespace.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;rule context=&amp;quot;text()&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;let name=&amp;quot;this-raw-char-seq&amp;quot; value=&amp;quot;tokenize(replace(.,'(.)','$1'),' ')&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;let name=&amp;quot;this-nfc-char-seq&amp;quot; value=&amp;quot;tokenize(replace(normalize-unicode(.),'(.)','$1 '),' ')&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;let name=&amp;quot;this-non-nfc-seq&amp;quot; value=&amp;quot;distinct-values($this-raw-char-seq[not(.=$this-nfc-char-seq)])&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;assert test=&amp;quot;. = normalize-unicode(.)&amp;quot; sqf:fix=&amp;quot;normalize-unicode&amp;quot;&amp;gt;All text needs to be&lt;br /&gt;
       normalized (NFC). Errors: &amp;lt;value-of&lt;br /&gt;
          select=&amp;quot;for $i in $this-non-nfc-seq return concat($i,' (U+',&lt;br /&gt;
          func:dec-to-hex(string-to-codepoints($i)),') at ',&lt;br /&gt;
          string-join(for $j in index-of($this-raw-char-seq,$i) return string($j),' ')),' '&amp;quot;&lt;br /&gt;
       /&amp;gt;&amp;lt;/assert&amp;gt;&lt;br /&gt;
    &amp;lt;sqf:fix id=&amp;quot;normalize-unicode&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;sqf:description&amp;gt;&lt;br /&gt;
          &amp;lt;sqf:title&amp;gt;Convert to normalized (NFC) Unicode&amp;lt;/sqf:title&amp;gt;&lt;br /&gt;
       &amp;lt;/sqf:description&amp;gt;&lt;br /&gt;
       &amp;lt;sqf:stringReplace match=&amp;quot;.&amp;quot; regex=&amp;quot;.+&amp;quot;&amp;gt;&amp;lt;value-of select=&amp;quot;normalize-unicode(.)&amp;quot;&lt;br /&gt;
          /&amp;gt;&amp;lt;/sqf:stringReplace&amp;gt;&lt;br /&gt;
    &amp;lt;/sqf:fix&amp;gt;&lt;br /&gt;
 &amp;lt;/rule&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:function name=&amp;quot;func:dec-to-hex&amp;quot; as=&amp;quot;xs:string&amp;quot;&lt;br /&gt;
    xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Input: Integer. Output: Hexadecimal equivalent string. --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;in&amp;quot; as=&amp;quot;xs:integer&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:sequence&lt;br /&gt;
       select=&amp;quot;if ($in eq 0)&lt;br /&gt;
       then '0'&lt;br /&gt;
       else&lt;br /&gt;
       concat(if ($in gt 16)&lt;br /&gt;
       then func:dec-to-hex($in idiv 16)&lt;br /&gt;
       else '',&lt;br /&gt;
       substring('0123456789ABCDEF',&lt;br /&gt;
       ($in mod 16) + 1, 1))&amp;quot;&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
 &amp;lt;/xsl:function&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Schematron]]&lt;/div&gt;</summary>
		<author><name>Joel Kalvesmaki</name></author>
		
	</entry>
</feed>