<?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=Daniel.odonnell</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=Daniel.odonnell"/>
	<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Special:Contributions/Daniel.odonnell"/>
	<updated>2026-04-21T17:53:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2876</id>
		<title>TEI-Council-FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2876"/>
		<updated>2006-11-23T15:26:47Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Who funds what? */ Changes the title to get the comment material in.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you've been elected to the TEI Technical Council and have some questions about how things work.  This page has been set up to answer questions that new council members may have.  It is entirely unofficial.  See in first instance, http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== How does the Council do its work? ==&lt;br /&gt;
&lt;br /&gt;
By every means possible. These include regular telephone conferences, endless streams of email, widely circulated discussion documents, private caucussing, public debate in other contexts such as TEI-L, and private gossip. Formally speaking, the Council meets face to face once a year (at least), and many more times than that virtually. &lt;br /&gt;
&lt;br /&gt;
== And what work does it do? ==&lt;br /&gt;
&lt;br /&gt;
You should probably review the recent official work of the Council by reading the last few sets of minutes: http://www.tei-c.org/Council/ has an index page which links to them all (when we remember to update it). The minutes record topics discussed and responsibilities allocated at the Council level. Of course many Council members are also active in subgroups (formal or informal) of the Council or SIGs, which may be documented elsewhere as well.&lt;br /&gt;
&lt;br /&gt;
== And what is its scope? ==&lt;br /&gt;
&lt;br /&gt;
The Council's primary responsibility is to act as technical watchdog for the intellectual content of the TEI Guidelines. That is to say: it has the final say in just about every aspect of the TEI encoding scheme -- what elements exist in it, what they are called, how they should be used...  The editors have the responsibility of ensuring that the Guidelines are intellectually coherent and well expressed, but they do not have the last word on what they actually say: the Council does.&lt;br /&gt;
&lt;br /&gt;
== What funding is available for Council Activities ==&lt;br /&gt;
&lt;br /&gt;
The TEI funds the participation of the council members in the meetings.  Though I don't know of anyone claiming back telephone conferencing costs, I suppose that is possible as well, in most cases the council members' institutions probably swallow that.  &lt;br /&gt;
&lt;br /&gt;
If the council has a meeting, then the council members' travel, hotel, etc. will be reimbursed with proper receipts.  I'm assuming for all sorts of expenses one uses the TEI Travel expense form available here: http://www.tei-c.org/Members/TEI_travel_form.pdf  '''Expense forms should be submitted within 10 days of the end of the meeting.'''&lt;br /&gt;
&lt;br /&gt;
Council members are not funded to attend the TEI Members' Meeting, however, there has been discussion concerning whether the council should also officially meet here as well.&lt;br /&gt;
&lt;br /&gt;
== How are the teleconferences held? ==&lt;br /&gt;
&lt;br /&gt;
Currently the TEI Council uses the teleconferencing facilities provided by the institution of a council member.  This involves a long distance call for most people participating in the teleconference.  The TEI Council has been investigating other forms of teleconferencing, specifically VOIP-related software.  Skype (by itself) is not an option because it limits conference calls to 5 people.  (However, there are things which use skype to group people into larger teleconferences).  So far the other options tried have not been satisfactory.&lt;br /&gt;
&lt;br /&gt;
The specific details of what number to dial and what access code is needed will be circulated on the council list shortly before the meeting.&lt;br /&gt;
&lt;br /&gt;
== Where are the minutes of previous meetings? ==&lt;br /&gt;
&lt;br /&gt;
The minutes of previous meetings are stored on the TEI website, see http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== I have a Question! ==&lt;br /&gt;
&lt;br /&gt;
Then add it just above this one or email me (James)&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2875</id>
		<title>TEI-Council-FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2875"/>
		<updated>2006-11-23T15:25:56Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Who funds what? */ cleaning up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you've been elected to the TEI Technical Council and have some questions about how things work.  This page has been set up to answer questions that new council members may have.  It is entirely unofficial.  See in first instance, http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== How does the Council do its work? ==&lt;br /&gt;
&lt;br /&gt;
By every means possible. These include regular telephone conferences, endless streams of email, widely circulated discussion documents, private caucussing, public debate in other contexts such as TEI-L, and private gossip. Formally speaking, the Council meets face to face once a year (at least), and many more times than that virtually. &lt;br /&gt;
&lt;br /&gt;
== And what work does it do? ==&lt;br /&gt;
&lt;br /&gt;
You should probably review the recent official work of the Council by reading the last few sets of minutes: http://www.tei-c.org/Council/ has an index page which links to them all (when we remember to update it). The minutes record topics discussed and responsibilities allocated at the Council level. Of course many Council members are also active in subgroups (formal or informal) of the Council or SIGs, which may be documented elsewhere as well.&lt;br /&gt;
&lt;br /&gt;
== And what is its scope? ==&lt;br /&gt;
&lt;br /&gt;
The Council's primary responsibility is to act as technical watchdog for the intellectual content of the TEI Guidelines. That is to say: it has the final say in just about every aspect of the TEI encoding scheme -- what elements exist in it, what they are called, how they should be used...  The editors have the responsibility of ensuring that the Guidelines are intellectually coherent and well expressed, but they do not have the last word on what they actually say: the Council does.&lt;br /&gt;
&lt;br /&gt;
== Who funds what? ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Meaning: does the consortium fund the participation of the council members&lt;br /&gt;
to the meetings? (and if yes to which meetings? Just the council meetings I&lt;br /&gt;
suppose) or do our institutions need to pay for this?&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The TEI funds the participation of the council members in the meetings.  Though I don't know of anyone claiming back telephone conferencing costs, I suppose that is possible as well, in most cases the council members' institutions probably swallow that.  &lt;br /&gt;
&lt;br /&gt;
If the council has a meeting, then the council members' travel, hotel, etc. will be reimbursed with proper receipts.  I'm assuming for all sorts of expenses one uses the TEI Travel expense form available here: http://www.tei-c.org/Members/TEI_travel_form.pdf  '''Expense forms should be submitted within 10 days of the end of the meeting.'''&lt;br /&gt;
&lt;br /&gt;
Council members are not funded to attend the TEI Members' Meeting, however, there has been discussion concerning whether the council should also officially meet here as well.&lt;br /&gt;
&lt;br /&gt;
== How are the teleconferences held? ==&lt;br /&gt;
&lt;br /&gt;
Currently the TEI Council uses the teleconferencing facilities provided by the institution of a council member.  This involves a long distance call for most people participating in the teleconference.  The TEI Council has been investigating other forms of teleconferencing, specifically VOIP-related software.  Skype (by itself) is not an option because it limits conference calls to 5 people.  (However, there are things which use skype to group people into larger teleconferences).  So far the other options tried have not been satisfactory.&lt;br /&gt;
&lt;br /&gt;
The specific details of what number to dial and what access code is needed will be circulated on the council list shortly before the meeting.&lt;br /&gt;
&lt;br /&gt;
== Where are the minutes of previous meetings? ==&lt;br /&gt;
&lt;br /&gt;
The minutes of previous meetings are stored on the TEI website, see http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== I have a Question! ==&lt;br /&gt;
&lt;br /&gt;
Then add it just above this one or email me (James)&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2874</id>
		<title>TEI-Council-FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2874"/>
		<updated>2006-11-23T15:25:04Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* And what is its scope? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you've been elected to the TEI Technical Council and have some questions about how things work.  This page has been set up to answer questions that new council members may have.  It is entirely unofficial.  See in first instance, http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== How does the Council do its work? ==&lt;br /&gt;
&lt;br /&gt;
By every means possible. These include regular telephone conferences, endless streams of email, widely circulated discussion documents, private caucussing, public debate in other contexts such as TEI-L, and private gossip. Formally speaking, the Council meets face to face once a year (at least), and many more times than that virtually. &lt;br /&gt;
&lt;br /&gt;
== And what work does it do? ==&lt;br /&gt;
&lt;br /&gt;
You should probably review the recent official work of the Council by reading the last few sets of minutes: http://www.tei-c.org/Council/ has an index page which links to them all (when we remember to update it). The minutes record topics discussed and responsibilities allocated at the Council level. Of course many Council members are also active in subgroups (formal or informal) of the Council or SIGs, which may be documented elsewhere as well.&lt;br /&gt;
&lt;br /&gt;
== And what is its scope? ==&lt;br /&gt;
&lt;br /&gt;
The Council's primary responsibility is to act as technical watchdog for the intellectual content of the TEI Guidelines. That is to say: it has the final say in just about every aspect of the TEI encoding scheme -- what elements exist in it, what they are called, how they should be used...  The editors have the responsibility of ensuring that the Guidelines are intellectually coherent and well expressed, but they do not have the last word on what they actually say: the Council does.&lt;br /&gt;
&lt;br /&gt;
== Who funds what? ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Meaning: does the consortium fund the participation of the council members&lt;br /&gt;
to the meetings? (and if yes to which meetings? Just the council meetings I&lt;br /&gt;
suppose) or do our institutions need to pay for this?&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The TEI funds the participation of the council members in the meetings.  Though I don't know of anyone claiming back telephone conferencing costs, I suppose that is possible as well, in most cases the council members' institutions probably swallow that.  &lt;br /&gt;
&lt;br /&gt;
If the council has a meeting in strange-foreign-place, then the council members' travel, hotel, etc. will be reimbursed with proper receipts.  I'm assuming for all sorts of expenses one uses the TEI Travel expense form available here: http://www.tei-c.org/Members/TEI_travel_form.pdf  '''Expense forms should be submitted within 10 days of the end of the meeting.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Council members are not funded to attend the TEI Members' Meeting, however, there has been discussion concerning whether the council should also officially meet here as well.&lt;br /&gt;
&lt;br /&gt;
== How are the teleconferences held? ==&lt;br /&gt;
&lt;br /&gt;
Currently the TEI Council uses the teleconferencing facilities provided by the institution of a council member.  This involves a long distance call for most people participating in the teleconference.  The TEI Council has been investigating other forms of teleconferencing, specifically VOIP-related software.  Skype (by itself) is not an option because it limits conference calls to 5 people.  (However, there are things which use skype to group people into larger teleconferences).  So far the other options tried have not been satisfactory.&lt;br /&gt;
&lt;br /&gt;
The specific details of what number to dial and what access code is needed will be circulated on the council list shortly before the meeting.&lt;br /&gt;
&lt;br /&gt;
== Where are the minutes of previous meetings? ==&lt;br /&gt;
&lt;br /&gt;
The minutes of previous meetings are stored on the TEI website, see http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== I have a Question! ==&lt;br /&gt;
&lt;br /&gt;
Then add it just above this one or email me (James)&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2873</id>
		<title>TEI-Council-FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=TEI-Council-FAQ&amp;diff=2873"/>
		<updated>2006-11-23T15:24:17Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* And what work does it do? */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you've been elected to the TEI Technical Council and have some questions about how things work.  This page has been set up to answer questions that new council members may have.  It is entirely unofficial.  See in first instance, http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== How does the Council do its work? ==&lt;br /&gt;
&lt;br /&gt;
By every means possible. These include regular telephone conferences, endless streams of email, widely circulated discussion documents, private caucussing, public debate in other contexts such as TEI-L, and private gossip. Formally speaking, the Council meets face to face once a year (at least), and many more times than that virtually. &lt;br /&gt;
&lt;br /&gt;
== And what work does it do? ==&lt;br /&gt;
&lt;br /&gt;
You should probably review the recent official work of the Council by reading the last few sets of minutes: http://www.tei-c.org/Council/ has an index page which links to them all (when we remember to update it). The minutes record topics discussed and responsibilities allocated at the Council level. Of course many Council members are also active in subgroups (formal or informal) of the Council or SIGs, which may be documented elsewhere as well.&lt;br /&gt;
&lt;br /&gt;
== And what is its scope? ==&lt;br /&gt;
&lt;br /&gt;
The Council's primary responsibility is to act as technical watchdog for the intellectual content of the TEI Guidelines. That is to say: it has the final say in just about every aspect of the TEI encoding scheme -- what elements exist in it, what they are called, how they should be used...  The editors have the responsibility of ensuring that the Guidelines are intellectually coherent and well expressed, but they do not have the last word on what they actually say: the Council does.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who funds what? ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Meaning: does the consortium fund the participation of the council members&lt;br /&gt;
to the meetings? (and if yes to which meetings? Just the council meetings I&lt;br /&gt;
suppose) or do our institutions need to pay for this?&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The TEI funds the participation of the council members in the meetings.  Though I don't know of anyone claiming back telephone conferencing costs, I suppose that is possible as well, in most cases the council members' institutions probably swallow that.  &lt;br /&gt;
&lt;br /&gt;
If the council has a meeting in strange-foreign-place, then the council members' travel, hotel, etc. will be reimbursed with proper receipts.  I'm assuming for all sorts of expenses one uses the TEI Travel expense form available here: http://www.tei-c.org/Members/TEI_travel_form.pdf  '''Expense forms should be submitted within 10 days of the end of the meeting.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Council members are not funded to attend the TEI Members' Meeting, however, there has been discussion concerning whether the council should also officially meet here as well.&lt;br /&gt;
&lt;br /&gt;
== How are the teleconferences held? ==&lt;br /&gt;
&lt;br /&gt;
Currently the TEI Council uses the teleconferencing facilities provided by the institution of a council member.  This involves a long distance call for most people participating in the teleconference.  The TEI Council has been investigating other forms of teleconferencing, specifically VOIP-related software.  Skype (by itself) is not an option because it limits conference calls to 5 people.  (However, there are things which use skype to group people into larger teleconferences).  So far the other options tried have not been satisfactory.&lt;br /&gt;
&lt;br /&gt;
The specific details of what number to dial and what access code is needed will be circulated on the council list shortly before the meeting.&lt;br /&gt;
&lt;br /&gt;
== Where are the minutes of previous meetings? ==&lt;br /&gt;
&lt;br /&gt;
The minutes of previous meetings are stored on the TEI website, see http://www.tei-c.org/Council/&lt;br /&gt;
&lt;br /&gt;
== I have a Question! ==&lt;br /&gt;
&lt;br /&gt;
Then add it just above this one or email me (James)&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Change2change.xslt&amp;diff=2643</id>
		<title>Change2change.xslt</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Change2change.xslt&amp;diff=2643"/>
		<updated>2006-06-12T19:27:00Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: fixed typo in preamble&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The P5 &amp;lt;change&amp;gt; element is significantly different than the P4 &amp;lt;change&amp;gt; element. This stylesheet reads in a TEI P4 XML file and writes out the same file but with P5-format &amp;lt;change&amp;gt; elements. It is not really intended to be used on its own, but rather the intent is for the main template to be copied and pasted (with appropriate attribution and GPL or LGPL licensing, etc., etc.) into a larger P4-to-P5 framework.&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&amp;lt;pre&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;
&lt;br /&gt;
&amp;lt;!-- Tiny XSLT 1.0 stylesheet that reads in a TEI file with &amp;lt;change&amp;gt; elements --&amp;gt;&lt;br /&gt;
&amp;lt;!-- that conform to P4, and writes out the same with &amp;lt;change&amp;gt; elements that --&amp;gt;&lt;br /&gt;
&amp;lt;!-- are likely to conform to P5 (pre-release 0.3.1). --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Copyleft 2006 Syd Bauman and the Text Encoding Initiative Consortium --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The output of this stylesheet is not P5-compliant XML; in fact, even the --&amp;gt;&lt;br /&gt;
&amp;lt;!-- one element we are changing, namely &amp;lt;change&amp;gt;, may not be valid P5. This is --&amp;gt;&lt;br /&gt;
&amp;lt;!-- because although we move all the bits of information to the right place, it --&amp;gt;&lt;br /&gt;
&amp;lt;!-- may still be in the wrong format. E.g., a &amp;lt;date value=&amp;quot;2006-01-31&amp;quot;&amp;gt;31 Jan --&amp;gt;&lt;br /&gt;
&amp;lt;!-- 06&amp;lt;/date&amp;gt; will be transformed to the valid date=&amp;quot;2006-01-31&amp;quot;, but a &amp;lt;date&amp;gt;31 --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Jan 06&amp;lt;/date&amp;gt; will be tranformed to the invalid date=&amp;quot;31 Jan 06&amp;quot;. --&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:tei=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot;&lt;br /&gt;
                version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot;&lt;br /&gt;
    encoding=&amp;quot;UTF-8&amp;quot;&lt;br /&gt;
    cdata-section-elements=&amp;quot;eg&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- Generic copy-everything template --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;@*|*|processing-instruction()|comment()&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:copy&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;*|@*|text()|processing-instruction()|comment()&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;!-- special template for &amp;lt;change&amp;gt; elements that have to change --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;revisionDesc/change&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:element name=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;date&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- For the value of the new date= attribute ... --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- look at my child &amp;lt;date&amp;gt; element, --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
          &amp;lt;!-- if it has a value= attribute, use its value --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:when test=&amp;quot;./date/@value&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;./date/@value&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
          &amp;lt;!-- if not, use its content --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;./date/text()&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:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;who&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- For the value of the new who= attribute ... --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- look at my child &amp;lt;respStmt&amp;gt;'s first &amp;lt;name&amp;gt; child ... --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- (warn if there's more than 1 &amp;lt;name&amp;gt; child of &amp;lt;respStmt&amp;gt;) --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:if test=&amp;quot;count(./respStmt/name)&amp;gt;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:message&amp;gt; warning: more than one &amp;amp;lt;name&amp;gt; child of &amp;amp;lt;respStmt&amp;gt;, using the first &amp;lt;/xsl:message&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;respName&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;!-- ... if it has a key=, use its value --&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:when test=&amp;quot;./respStmt/name/@key&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./respStmt/name/@key&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
            &amp;lt;!-- ... if no key=, if it has a reg=, use its value --&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:when test=&amp;quot;./respStmt/name/@reg&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./respStmt/name/@reg&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
            &amp;lt;!-- ... neither key= nor reg=, use content --&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;./respStmt/name/text()&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:variable&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ... now that we have a name, strip out icky characters --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;respVal&amp;quot; select='translate(normalize-space($respName),&amp;quot;-,&amp;amp;apos;&amp;amp;amp;#$%^!~`={}[]&amp;amp;lt;&amp;amp;gt;?/:; +=\|@&amp;quot;,&amp;quot;-&amp;quot;)'/&amp;gt;&lt;br /&gt;
        &amp;lt;!-- [Note that hyphens are left in place, as they are valid NAME characters.] --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- This is not the right way to do this. What we really want is not to strip --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- out the few non-NAME characters I can think of and type easily, but rather --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- we'd prefer to keep only the NAME characters and ditch everything else. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- I don't know if that can be done in XSLT 1.0, and if it can, I don't know --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- how to do it. Note also that we do not check that the first char is --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- a NAMESTART character. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ... and stick a &amp;quot;#&amp;quot; in front --&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:text&amp;gt;#&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;$respVal&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;!-- content of new &amp;lt;change&amp;gt; is the content of old &amp;lt;change&amp;gt;'s child &amp;lt;item&amp;gt; --&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;./item/*|./item/text()|./item/processing-instruction()|./item/comment()&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:P4toP5]]&lt;br /&gt;
[[User:Syd|Syd]] 06:51, 26 May 2006 (BST)&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Tei2shtml&amp;diff=434</id>
		<title>Tei2shtml</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Tei2shtml&amp;diff=434"/>
		<updated>2005-09-08T23:58:18Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version='1.0'?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  tei2shtml.xsl&lt;br /&gt;
  &lt;br /&gt;
  This XSLT file will convert a TEI 4 file to .shtml file intended for&lt;br /&gt;
  the Alex Catalogue of Electronic Texts. It includes... includes&lt;br /&gt;
  intended for Web navigation and links to other formats of the texts.&lt;br /&gt;
&lt;br /&gt;
  This file is distributed under the GNU Public License.&lt;br /&gt;
  &lt;br /&gt;
  Eric Lease Morgan (eric_morgan@infomotions.com)&lt;br /&gt;
  May 5, 2005&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:output &lt;br /&gt;
	  method='xml'&lt;br /&gt;
	  omit-xml-declaration='no'&lt;br /&gt;
	  indent='yes'&lt;br /&gt;
	  doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' &lt;br /&gt;
	  doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' /&amp;gt;&lt;br /&gt;
  	&lt;br /&gt;
	&amp;lt;xsl:template match='TEI.2'&amp;gt;&lt;br /&gt;
		&amp;lt;html&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
			&amp;lt;head&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- title tag --&amp;gt;&lt;br /&gt;
				&amp;lt;title&amp;gt; &lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; / &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:value-of select=&amp;quot;teiHeader/fileDesc/titleStmt/author/dateRange&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/title&amp;gt; &lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;Dublin Core elements&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- title --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;title&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- creator --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;creator&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- subjects --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select='teiHeader/profileDesc/textClass/keywords/list/item'&amp;gt;&lt;br /&gt;
					&amp;lt;meta&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:attribute name='name'&amp;gt;subject&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(.)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;/meta&amp;gt;&lt;br /&gt;
				 &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
				&amp;lt;!-- description --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/teiHeader/fileDesc/notesStmt/note&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;description&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;description&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;					&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- publisher --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;publisher&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/publisher)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- contributor --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/respStmt/name&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;contributor&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;contributor&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;					&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- date --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;date&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/creation/date)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- type --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;type&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;Text&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- format --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;format&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;text/html&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- identifier --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;identifier&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- source --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;source&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/teiHeader/fileDesc/sourceDesc/bibl/xptr/@url&amp;quot;&amp;gt;&amp;lt;xsl:value-of select='normalize-space(.)'/&amp;gt;&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- language --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;language&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/langUsage/language)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- relation --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;relation&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;http://infomotions.com/alex/&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- coverage --&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;!-- rights --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;rights&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/availability/p)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;Alex Catalogue metadata elements&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- sort author --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_creator&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;sort&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- sort title --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_title&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;sort&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- title tag, again --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;brief&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&lt;br /&gt;
										&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; / &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:value-of select=&amp;quot;teiHeader/fileDesc/titleStmt/author/dateRange&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
					&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- date --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_date&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/creation/date/@value)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/alex2/etc/musings.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/alex2/etc/musings-print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
			&amp;lt;/head&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;body&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;#include virtual=&amp;quot;/alex2/etc/navigation.inc&amp;quot;&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;#include virtual=&amp;quot;/alex2/etc/contents.inc&amp;quot;&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class='details'&amp;gt;&lt;br /&gt;
	&amp;lt;p&amp;gt;View/download as:&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.txt&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;plain text&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.html&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;plain HTML&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.shtml&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;quot;smart&amp;quot; HTML&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.prc&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;PalmPilot DOC and eReader&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.html&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;Rocket eBook&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.pkg&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;Newton Paperback&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.pdf&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;PDF&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.xml&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;TEI/XML&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- content --&amp;gt;&lt;br /&gt;
    &amp;lt;div class='content'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- &amp;quot;title&amp;quot; page --&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;&amp;lt;xsl:value-of select='teiHeader/fileDesc/titleStmt/title' /&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/byline' /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/docImprint' /&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/imprimatur' /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- cool table of contents --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:if test='/TEI.2/text/body/div1'&amp;gt;&lt;br /&gt;
					&amp;lt;h2&amp;gt;Table of contents&amp;lt;/h2&amp;gt;&lt;br /&gt;
					&amp;lt;p&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/text/*/div1&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type != &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#&amp;lt;xsl:value-of select='./@id' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br /&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;/p&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;!-- do the heavy lifting --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
						&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;/body&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
		&amp;lt;/html&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- division #0 (div) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@type = &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&amp;gt;&lt;br /&gt;
				&amp;lt;h2&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h2&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:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@type = &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&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;h2&amp;gt;&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;xsl:value-of select='./@id' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #2 (div2) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #3 (div3) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div3&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #4 (div4) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div4&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h5&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h5&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #5 (div5) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div5&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h6&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h6&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- images (figure) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;figure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:attribute name='src'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:when test='./figDesc'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='alt'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(./figDesc)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:attribute name='alt'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&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:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;top&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;middle&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;bottom&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:otherwise /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/img&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- figure description (figDesc) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match='figDesc'&amp;gt;&lt;br /&gt;
	&amp;lt;span class='caption'&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- line break (lb) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match='lb'&amp;gt;&lt;br /&gt;
	&amp;lt;br /&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- paragraph (p) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;p&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p style='text-align:right'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p style='text-align:center'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;fiction&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p class='fiction'&amp;gt;&amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;pre&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;pre&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/pre&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;p&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- quote (quote) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;quote&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;blockquote&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- line group (lg) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;lg&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- line (l) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;l&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test='@rend = &amp;quot;indent&amp;quot;'&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- hypertext reference (xref) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;xref&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 	&amp;lt;!-- table (table) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;table&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='left'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='right'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='center'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&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;table border='0'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- table row (row) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='left' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='right' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='center' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;justify&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='justify' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&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;tr valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- table row (cell) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;cell&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='left'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='right'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='center'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;justify&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='justify'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&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;td&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- lists --&amp;gt;&lt;br /&gt;
	&amp;lt;!-- cool XPath expressions and logic by bodard gabriel &amp;lt;gabriel.bodard@kcl.ac.uk&amp;gt; --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='gloss']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dl&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='ordered']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ol&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='bulleted']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ul&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='simple']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ul style='list-style-type: none'&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;label[parent::list[@type='gloss']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dt&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='gloss']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dd&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='bulleted']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='simple']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='ordered']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- do nothing templates --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- teiheader (do nothing) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;teiHeader&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- teiheader (do nothing) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;front/titlePage&amp;quot; /&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;!-- head (head) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Tei2shtml&amp;diff=429</id>
		<title>Tei2shtml</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Tei2shtml&amp;diff=429"/>
		<updated>2005-09-08T23:57:12Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: didn't quite fix it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version='1.0'?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  tei2shtml.xsl&lt;br /&gt;
  &lt;br /&gt;
  This XSLT file will convert a TEI 4 file to .shtml file intended for&lt;br /&gt;
  the Alex Catalogue of Electronic Texts. It includes... includes&lt;br /&gt;
  intended for Web navigation and links to other formats of the texts.&lt;br /&gt;
&lt;br /&gt;
  This file is distributed under the GNU Public License.&lt;br /&gt;
  &lt;br /&gt;
  Eric Lease Morgan (eric_morgan@infomotions.com)&lt;br /&gt;
  May 5, 2005&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:output &lt;br /&gt;
	  method='xml'&lt;br /&gt;
	  omit-xml-declaration='no'&lt;br /&gt;
	  indent='yes'&lt;br /&gt;
	  doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' &lt;br /&gt;
	  doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' /&amp;gt;&lt;br /&gt;
  	&lt;br /&gt;
	&amp;lt;xsl:template match='TEI.2'&amp;gt;&lt;br /&gt;
		&amp;lt;html&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
			&amp;lt;head&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- title tag --&amp;gt;&lt;br /&gt;
				&amp;lt;title&amp;gt; &lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; / &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:value-of select=&amp;quot;teiHeader/fileDesc/titleStmt/author/dateRange&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/title&amp;gt; &lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;Dublin Core elements&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- title --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;title&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- creator --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;creator&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- subjects --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select='teiHeader/profileDesc/textClass/keywords/list/item'&amp;gt;&lt;br /&gt;
					&amp;lt;meta&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:attribute name='name'&amp;gt;subject&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(.)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;/meta&amp;gt;&lt;br /&gt;
				 &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
				&amp;lt;!-- description --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/teiHeader/fileDesc/notesStmt/note&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;description&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;description&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;					&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- publisher --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;publisher&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/publisher)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- contributor --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/respStmt/name&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;contributor&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;contributor&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;					&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- date --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;date&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/creation/date)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- type --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;type&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;Text&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- format --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;format&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;text/html&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- identifier --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;identifier&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- source --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;source&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/teiHeader/fileDesc/sourceDesc/bibl/xptr/@url&amp;quot;&amp;gt;&amp;lt;xsl:value-of select='normalize-space(.)'/&amp;gt;&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- language --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;language&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/langUsage/language)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- relation --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;relation&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;http://infomotions.com/alex/&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- coverage --&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;!-- rights --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;rights&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/availability/p)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;Alex Catalogue metadata elements&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- sort author --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_creator&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;sort&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- sort title --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_title&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;sort&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- title tag, again --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;brief&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&lt;br /&gt;
										&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; / &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:value-of select=&amp;quot;teiHeader/fileDesc/titleStmt/author/dateRange&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
					&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- date --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_date&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/creation/date/@value)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/alex2/etc/musings.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/alex2/etc/musings-print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
			&amp;lt;/head&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;body&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;#include virtual=&amp;quot;/alex2/etc/navigation.inc&amp;quot;&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;#include virtual=&amp;quot;/alex2/etc/contents.inc&amp;quot;&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class='details'&amp;gt;&lt;br /&gt;
	&amp;lt;p&amp;gt;View/download as:&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.txt&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;plain text&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.html&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;plain HTML&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.shtml&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;quot;smart&amp;quot; HTML&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.prc&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;PalmPilot DOC and eReader&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.html&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;Rocket eBook&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.pkg&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;Newton Paperback&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.pdf&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;PDF&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.xml&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;TEI/XML&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- content --&amp;gt;&lt;br /&gt;
    &amp;lt;div class='content'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- &amp;quot;title&amp;quot; page --&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;&amp;lt;xsl:value-of select='teiHeader/fileDesc/titleStmt/title' /&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/byline' /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/docImprint' /&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/imprimatur' /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- cool table of contents --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:if test='/TEI.2/text/body/div1'&amp;gt;&lt;br /&gt;
					&amp;lt;h2&amp;gt;Table of contents&amp;lt;/h2&amp;gt;&lt;br /&gt;
					&amp;lt;p&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/text/*/div1&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type != &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#&amp;lt;xsl:value-of select='./@id' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br /&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;/p&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;!-- do the heavy lifting --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
						&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;/body&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
		&amp;lt;/html&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- division #0 (div) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@type = &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&amp;gt;&lt;br /&gt;
				&amp;lt;h2&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h2&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:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@type = &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&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;h2&amp;gt;&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;xsl:value-of select='./@id' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #2 (div2) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #3 (div3) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div3&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #4 (div4) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div4&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h5&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h5&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #5 (div5) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div5&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h6&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h6&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- images (figure) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;figure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:attribute name='src'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:when test='./figDesc'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='alt'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(./figDesc)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:attribute name='alt'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&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:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;top&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;middle&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;bottom&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:otherwise /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/img&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- figure description (figDesc) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match='figDesc'&amp;gt;&lt;br /&gt;
	&amp;lt;span class='caption'&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- line break (lb) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match='lb'&amp;gt;&lt;br /&gt;
	&amp;lt;br /&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- paragraph (p) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;p&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p style='text-align:right'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p style='text-align:center'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;fiction&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p class='fiction'&amp;gt;&amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;pre&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;pre&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/pre&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;p&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- quote (quote) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;quote&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;blockquote&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- line group (lg) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;lg&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- line (l) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;l&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test='@rend = &amp;quot;indent&amp;quot;'&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- hypertext reference (xref) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;xref&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 	&amp;lt;!-- table (table) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;table&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='left'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='right'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='center'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&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;table border='0'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- table row (row) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='left' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='right' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='center' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;justify&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='justify' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&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;tr valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- table row (cell) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;cell&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='left'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='right'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='center'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;justify&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='justify'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&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;td&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- lists --&amp;gt;&lt;br /&gt;
	&amp;lt;!-- cool XPath expressions and logic by bodard gabriel &amp;lt;gabriel.bodard@kcl.ac.uk&amp;gt; --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='gloss']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dl&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='ordered']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ol&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='bulleted']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ul&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='simple']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ul style='list-style-type: none'&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;label[parent::list[@type='gloss']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dt&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='gloss']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dd&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='bulleted']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='simple']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='ordered']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- do nothing templates --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- teiheader (do nothing) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;teiHeader&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- teiheader (do nothing) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;front/titlePage&amp;quot; /&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;!-- head (head) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;head&amp;quot; /&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;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Tei2shtml&amp;diff=428</id>
		<title>Tei2shtml</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Tei2shtml&amp;diff=428"/>
		<updated>2005-09-08T23:56:30Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: fixed a problem with pre&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version='1.0'?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  tei2shtml.xsl&lt;br /&gt;
  &lt;br /&gt;
  This XSLT file will convert a TEI 4 file to .shtml file intended for&lt;br /&gt;
  the Alex Catalogue of Electronic Texts. It includes... includes&lt;br /&gt;
  intended for Web navigation and links to other formats of the texts.&lt;br /&gt;
&lt;br /&gt;
  This file is distributed under the GNU Public License.&lt;br /&gt;
  &lt;br /&gt;
  Eric Lease Morgan (eric_morgan@infomotions.com)&lt;br /&gt;
  May 5, 2005&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:output &lt;br /&gt;
	  method='xml'&lt;br /&gt;
	  omit-xml-declaration='no'&lt;br /&gt;
	  indent='yes'&lt;br /&gt;
	  doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' &lt;br /&gt;
	  doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' /&amp;gt;&lt;br /&gt;
  	&lt;br /&gt;
	&amp;lt;xsl:template match='TEI.2'&amp;gt;&lt;br /&gt;
		&amp;lt;html&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
			&amp;lt;head&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- title tag --&amp;gt;&lt;br /&gt;
				&amp;lt;title&amp;gt; &lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; / &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:value-of select=&amp;quot;teiHeader/fileDesc/titleStmt/author/dateRange&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/title&amp;gt; &lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;Dublin Core elements&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- title --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;title&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- creator --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;creator&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- subjects --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select='teiHeader/profileDesc/textClass/keywords/list/item'&amp;gt;&lt;br /&gt;
					&amp;lt;meta&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:attribute name='name'&amp;gt;subject&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(.)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;/meta&amp;gt;&lt;br /&gt;
				 &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
				&amp;lt;!-- description --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/teiHeader/fileDesc/notesStmt/note&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;description&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;description&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;					&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- publisher --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;publisher&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/publisher)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- contributor --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/respStmt/name&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test='./@type = &amp;quot;contributor&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;meta&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='name'&amp;gt;contributor&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
						&amp;lt;/meta&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:for-each&amp;gt;					&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- date --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;date&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/creation/date)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- type --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;type&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;Text&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- format --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;format&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;text/html&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- identifier --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;identifier&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- source --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;source&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/teiHeader/fileDesc/sourceDesc/bibl/xptr/@url&amp;quot;&amp;gt;&amp;lt;xsl:value-of select='normalize-space(.)'/&amp;gt;&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- language --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;language&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/langUsage/language)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- relation --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;relation&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;http://infomotions.com/alex/&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- coverage --&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;!-- rights --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;rights&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/availability/p)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;Alex Catalogue metadata elements&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- sort author --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_creator&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;sort&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- sort title --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_title&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;sort&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='.' /&amp;gt;&amp;lt;/xsl:attribute&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;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- title tag, again --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;brief&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&lt;br /&gt;
										&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/title&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; / &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;teiHeader/fileDesc/titleStmt/author/name&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type = &amp;quot;main&amp;quot;'&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:value-of select='.' /&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:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:value-of select=&amp;quot;teiHeader/fileDesc/titleStmt/author/dateRange&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
					&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;!-- date --&amp;gt;&lt;br /&gt;
				&amp;lt;meta&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='name'&amp;gt;sort_date&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:attribute name='content'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/profileDesc/creation/date/@value)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
				&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/alex2/etc/musings.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/alex2/etc/musings-print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
			&amp;lt;/head&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;body&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;#include virtual=&amp;quot;/alex2/etc/navigation.inc&amp;quot;&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:comment&amp;gt;#include virtual=&amp;quot;/alex2/etc/contents.inc&amp;quot;&amp;lt;/xsl:comment&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class='details'&amp;gt;&lt;br /&gt;
	&amp;lt;p&amp;gt;View/download as:&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.txt&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;plain text&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.html&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;plain HTML&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.shtml&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;quot;smart&amp;quot; HTML&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.prc&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;PalmPilot DOC and eReader&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.html&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;Rocket eBook&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.pkg&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;Newton Paperback&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.pdf&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;PDF&amp;lt;/a&amp;gt;,&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(teiHeader/fileDesc/publicationStmt/idno)'/&amp;gt;&amp;lt;xsl:text&amp;gt;.xml&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;TEI/XML&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- content --&amp;gt;&lt;br /&gt;
    &amp;lt;div class='content'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- &amp;quot;title&amp;quot; page --&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;&amp;lt;xsl:value-of select='teiHeader/fileDesc/titleStmt/title' /&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/byline' /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/docImprint' /&amp;gt;&amp;lt;xsl:value-of select='/TEI.2/text/front/titlePage/imprimatur' /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- cool table of contents --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:if test='/TEI.2/text/body/div1'&amp;gt;&lt;br /&gt;
					&amp;lt;h2&amp;gt;Table of contents&amp;lt;/h2&amp;gt;&lt;br /&gt;
					&amp;lt;p&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:for-each select=&amp;quot;/TEI.2/text/*/div1&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:if test='./@type != &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
						&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#&amp;lt;xsl:value-of select='./@id' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br /&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;/p&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;!-- do the heavy lifting --&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
						&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;/body&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
		&amp;lt;/html&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- division #0 (div) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@type = &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&amp;gt;&lt;br /&gt;
				&amp;lt;h2&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h2&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:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@type = &amp;quot;colophon&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;hr /&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;h2&amp;gt;&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&amp;lt;xsl:value-of select='./@id' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #2 (div2) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #3 (div3) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div3&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #4 (div4) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div4&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h5&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h5&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- division #5 (div5) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;div5&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h6&amp;gt;&amp;lt;xsl:value-of select='./@type' /&amp;gt;&amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./@n' /&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of select='./head' /&amp;gt;&amp;lt;/h6&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- images (figure) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;figure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:attribute name='src'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:when test='./figDesc'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='alt'&amp;gt;&amp;lt;xsl:value-of select='normalize-space(./figDesc)' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:attribute name='alt'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&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:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;top&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;middle&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;bottom&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:attribute name='align'&amp;gt;&amp;lt;xsl:value-of select='./@rend' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:otherwise /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/img&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- figure description (figDesc) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match='figDesc'&amp;gt;&lt;br /&gt;
	&amp;lt;span class='caption'&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- line break (lb) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match='lb'&amp;gt;&lt;br /&gt;
	&amp;lt;br /&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- paragraph (p) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;p&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p style='text-align:right'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p style='text-align:center'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;fiction&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;p class='fiction'&amp;gt;&amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;pre&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;pre&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/pre&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;p&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- quote (quote) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;quote&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;blockquote&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- line group (lg) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;lg&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- line (l) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;l&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test='@rend = &amp;quot;indent&amp;quot;'&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:text&amp;gt;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;amp;#160;&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- hypertext reference (xref) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;xref&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;a&amp;gt;&amp;lt;xsl:attribute name='href'&amp;gt;&amp;lt;xsl:value-of select='./@url' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 	&amp;lt;!-- table (table) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;table&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='left'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='right'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;table border='0' align='center'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&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;table border='0'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- table row (row) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='left' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='right' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='center' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;justify&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;tr align='justify' valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&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;tr valign='top'&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- table row (cell) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;cell&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;left&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='left'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;right&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='right'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;center&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='center'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:when test='./@rend = &amp;quot;justify&amp;quot;'&amp;gt;&lt;br /&gt;
				&amp;lt;td align='justify'&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&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;td&amp;gt;&amp;lt;xsl:attribute name='colspan'&amp;gt;&amp;lt;xsl:value-of select='@cols' /&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&amp;lt;xsl:apply-templates /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- lists --&amp;gt;&lt;br /&gt;
	&amp;lt;!-- cool XPath expressions and logic by bodard gabriel &amp;lt;gabriel.bodard@kcl.ac.uk&amp;gt; --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='gloss']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dl&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='ordered']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ol&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='bulleted']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ul&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;list[@type='simple']&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;ul style='list-style-type: none'&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;label[parent::list[@type='gloss']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dt&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='gloss']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;dd&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='bulleted']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='simple']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;item[parent::list[@type='ordered']]&amp;quot;&amp;gt;&lt;br /&gt;
	  &amp;lt;li&amp;gt;&amp;lt;xsl:apply-templates/&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- do nothing templates --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- teiheader (do nothing) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;teiHeader&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- teiheader (do nothing) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;front/titlePage&amp;quot; /&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;!-- head (head) --&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;head&amp;quot; /&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;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Category:XSLT&amp;diff=1499</id>
		<title>Category:XSLT</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Category:XSLT&amp;diff=1499"/>
		<updated>2005-06-13T00:05:49Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects together any pages relating to XSLT (Extensible Stylesheet Language Transformations) for TEI resources.  The main TEI website has  [http://www.tei-c.org/Stylesheets/ a page about stylesheets] as well.  &amp;lt;!-- This page gathers together any wiki pages which have '''&amp;lt;nowiki&amp;gt;[[Category:XSLT]]&amp;lt;/nowiki&amp;gt;''' on them. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All of the stylesheets posted here are freely available for public use. They are offered as is, and we make no guarantees about their usefulness or effectiveness. Please feel free to experiment with them. If you make any useful revisions, please post the modified version here.&lt;br /&gt;
&lt;br /&gt;
The [[call for stylesheets]] includes more details about what we are seeking and how you can help.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''To contribute a stylesheet, please email your stylesheet with accompanying information to [mailto:stylesheets@tei-c.org stylesheets@tei-c.org] or you can create a new page within this category and post your stylesheet.'''&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''To create a new page and post your stylesheet, you should:'''&lt;br /&gt;
* Log in (Create a user account for this WIKI if you have not done so.)&lt;br /&gt;
* Add a new page. &lt;br /&gt;
** To do this, add the name of the new page to the URL in your browser's address bar after index.php/&lt;br /&gt;
** For example, if you wish to create a new page called &amp;quot;MyNewStylesheet.xsl&amp;quot;, just edit the URL in your web browser's address bar to look like this: '''&amp;lt;nowiki&amp;gt;http://www.tei-c.org.uk/wiki/index.php/MyNewStylesheet.xsl&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
*  Assuming no one else has made a page with the name you chose, you will be brought to a blank page. Click the edit button and do the following:&lt;br /&gt;
** Provide some accompanying explanation at the top of the page&lt;br /&gt;
** Cut and paste your stylesheet into the window.&lt;br /&gt;
** Wrap any stylesheet content in &amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt; .... &amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt; tags&lt;br /&gt;
** Add the text &amp;lt;nowiki&amp;gt;[[Category:XSLT]]&amp;lt;/nowiki&amp;gt; to the bottom of the page. This is important. It ensures that your page will show up on the XSLT page.&lt;br /&gt;
** Click &amp;quot;Save Page&amp;quot; when you are finished. Your page should show up on this page in the list of stylesheets. You can go back and edit at any time.&lt;br /&gt;
** As a reference [[SampleXSLTPage]] displays the text that was entered to create the [[Remove-Namespaces.xsl]] page.&lt;br /&gt;
* '''Note:''' We strongly suggest providing a Summary, and information about Required Input, Expected Output, and Known Restrictions or Problems before the Stylesheet itself, as done in the [[SampleXSLTPage]].&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Category:XSLT&amp;diff=128</id>
		<title>Category:XSLT</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Category:XSLT&amp;diff=128"/>
		<updated>2005-06-13T00:04:59Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: changed e-mail address for editors/fascisti&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects together any pages relating to XSLT (Extensible Stylesheet Language Transformations) for TEI resources.  The main TEI website has  [http://www.tei-c.org/Stylesheets/ a page about stylesheets] as well.  &amp;lt;!-- This page gathers together any wiki pages which have '''&amp;lt;nowiki&amp;gt;[[Category:XSLT]]&amp;lt;/nowiki&amp;gt;''' on them. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All of the stylesheets posted here are freely available for public use. They are offered as is, and we make no guarantees about their usefulness or effectiveness. Please feel free to experiment with them. If you make any useful revisions, please post the modified version here.&lt;br /&gt;
&lt;br /&gt;
The [[call for stylesheets]] includes more details about what we are seeking and how you can help.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''To contribute a stylesheet, please email your stylesheet with accompanying information to stylesheets@tei-c.org or you can create a new page within this category and post your stylesheet.'''&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''To create a new page and post your stylesheet, you should:'''&lt;br /&gt;
* Log in (Create a user account for this WIKI if you have not done so.)&lt;br /&gt;
* Add a new page. &lt;br /&gt;
** To do this, add the name of the new page to the URL in your browser's address bar after index.php/&lt;br /&gt;
** For example, if you wish to create a new page called &amp;quot;MyNewStylesheet.xsl&amp;quot;, just edit the URL in your web browser's address bar to look like this: '''&amp;lt;nowiki&amp;gt;http://www.tei-c.org.uk/wiki/index.php/MyNewStylesheet.xsl&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
*  Assuming no one else has made a page with the name you chose, you will be brought to a blank page. Click the edit button and do the following:&lt;br /&gt;
** Provide some accompanying explanation at the top of the page&lt;br /&gt;
** Cut and paste your stylesheet into the window.&lt;br /&gt;
** Wrap any stylesheet content in &amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt; .... &amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt; tags&lt;br /&gt;
** Add the text &amp;lt;nowiki&amp;gt;[[Category:XSLT]]&amp;lt;/nowiki&amp;gt; to the bottom of the page. This is important. It ensures that your page will show up on the XSLT page.&lt;br /&gt;
** Click &amp;quot;Save Page&amp;quot; when you are finished. Your page should show up on this page in the list of stylesheets. You can go back and edit at any time.&lt;br /&gt;
** As a reference [[SampleXSLTPage]] displays the text that was entered to create the [[Remove-Namespaces.xsl]] page.&lt;br /&gt;
* '''Note:''' We strongly suggest providing a Summary, and information about Required Input, Expected Output, and Known Restrictions or Problems before the Stylesheet itself, as done in the [[SampleXSLTPage]].&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=1515</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=1515"/>
		<updated>2005-04-27T03:45:57Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Limitations, assumptions, and quirks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- [other html:div[class='note']] --&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; or  &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt; templates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Test if tei:text contains any tei:note elements at any level --&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If yes: add html:hr element and build html:div for the context note --&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If no: do nothing --&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- match any tei:note element in tei:text --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Construct the number for the context note by &lt;br /&gt;
       a) counting all preceding tei:note in tei:text&lt;br /&gt;
       b) adding 1 to this number  --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Normalise the spacing for this number --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- build the link calling the linklable variable --&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- Match all tei:note elements in tei:text &lt;br /&gt;
     when called by an xsl:apply-template mode=&amp;quot;shownotes&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Generate note number as above --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- output tei:note&lt;br /&gt;
       a) build wrapper --&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- test if tei:p[parent::tei:note] is first --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- If yes, build html:p, placing note number at beginning --&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;!-- If no output as html:p --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;/code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;br /&gt;
[[Category:XSLT:1.0]]&lt;br /&gt;
[[Category:XSLT:2.0]]&lt;br /&gt;
[[Category:TEI:note]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEI:P4]]&lt;br /&gt;
[[Category:TEI:P5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Digital_Medievalist_Project&amp;diff=447</id>
		<title>Digital Medievalist Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Digital_Medievalist_Project&amp;diff=447"/>
		<updated>2005-04-27T03:40:41Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://www.digitalmedievalist.org/ Digital Medievalist Project] is an on-line [[Wikipedia:Community_of_practice|community of practice]] that focusses on the use of technology in the study of medieval language, culture, and history. The project also runs a [http://www.digitalmedievalist.org/journal.cfm/ peer-reviewed journal] and [[http://sql.uleth.ca/dmorgwiki/index.php/Main_Page wiki]] devoted to the documentation of best practice in the use of electronic media.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=SIG:Overlap&amp;diff=132</id>
		<title>SIG:Overlap</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=SIG:Overlap&amp;diff=132"/>
		<updated>2005-04-27T03:35:04Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: Fixed the number list formatting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The goal of the TEI Overlapping Markup SIG is to bring together users of the TEI who are acutely interested in issues of multiple hierarchies and in particular handling those in XML.&lt;br /&gt;
&lt;br /&gt;
It will do this by:&lt;br /&gt;
&lt;br /&gt;
#running a mailing list about overlapping hierarchies and solutions to encoding them&lt;br /&gt;
#assess the TEI and suggest improvements and alterations to the TEI-Council&lt;br /&gt;
&lt;br /&gt;
The SIG is convened by Dot Porter.&lt;br /&gt;
&lt;br /&gt;
The SIG runs a mailing list on this topic. To join visit [http://listserv.brown.edu/tei-ol-sig.html] &lt;br /&gt;
&lt;br /&gt;
[[Category:SIG]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=94</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=94"/>
		<updated>2005-04-21T16:18:59Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Create note section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- [other html:div[class='note']] --&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; or  &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt; templates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Test if tei:text contains any tei:note elements at any level --&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If yes: add html:hr element and build html:div for the context note --&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If no: do nothing --&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- match any tei:note element in tei:text --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Construct the number for the context note by &lt;br /&gt;
       a) counting all preceding tei:note in tei:text&lt;br /&gt;
       b) adding 1 to this number  --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Normalise the spacing for this number --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- build the link calling the linklable variable --&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- Match all tei:note elements in tei:text &lt;br /&gt;
     when called by an xsl:apply-template mode=&amp;quot;shownotes&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Generate note number as above --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- output tei:note&lt;br /&gt;
       a) build wrapper --&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- test if tei:p[parent::tei:note] is first --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- If yes, build html:p, placing note number at beginning --&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;!-- If no output as html:p --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=87</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=87"/>
		<updated>2005-04-21T16:18:27Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Create note section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- [other html:div[class='note']] --&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; or  &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt; templates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Test if text contains any note elements at any level --&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If yes: add html:hr element and build html:div for the context note --&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If no: do nothing --&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- match any tei:note element in tei:text --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Construct the number for the context note by &lt;br /&gt;
       a) counting all preceding tei:note in tei:text&lt;br /&gt;
       b) adding 1 to this number  --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Normalise the spacing for this number --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- build the link calling the linklable variable --&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- Match all tei:note elements in tei:text &lt;br /&gt;
     when called by an xsl:apply-template mode=&amp;quot;shownotes&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Generate note number as above --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- output tei:note&lt;br /&gt;
       a) build wrapper --&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- test if tei:p[parent::tei:note] is first --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- If yes, build html:p, placing note number at beginning --&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;!-- If no output as html:p --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=86</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=86"/>
		<updated>2005-04-21T16:17:01Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Output note content at desired location */ added comments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- [other html:div[class='note']] --&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Test if text contains any note elements at any level --&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If yes: add html:hr element and build html:div for the context note --&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If no: do nothing --&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- match any tei:note element in tei:text --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Construct the number for the context note by &lt;br /&gt;
       a) counting all preceding tei:note in tei:text&lt;br /&gt;
       b) adding 1 to this number  --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Normalise the spacing for this number --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- build the link calling the linklable variable --&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- Match all tei:note elements in tei:text &lt;br /&gt;
     when called by an xsl:apply-template mode=&amp;quot;shownotes&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Generate note number as above --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- output tei:note&lt;br /&gt;
       a) build wrapper --&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- test if tei:p[parent::tei:note] is first --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- If yes, build html:p, placing note number at beginning --&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;!-- If no output as html:p --&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=85</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=85"/>
		<updated>2005-04-21T16:11:23Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Build reference marker and link at insertion point */ Added comments fixed one inefficiency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- [other html:div[class='note']] --&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Test if text contains any note elements at any level --&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If yes: add html:hr element and build html:div for the context note --&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If no: do nothing --&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- match any tei:note element in tei:text --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Construct the number for the context note by &lt;br /&gt;
       a) counting all preceding tei:note in tei:text&lt;br /&gt;
       b) adding 1 to this number  --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Normalise the spacing for this number --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- build the link calling the linklable variable --&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=84</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=84"/>
		<updated>2005-04-21T16:07:30Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Create note section */ Added comments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- [other html:div[class='note']] --&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Test if text contains any note elements at any level --&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If yes: add html:hr element and build html:div for the context note --&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If no: do nothing --&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=83</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=83"/>
		<updated>2005-04-21T16:04:43Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* XHTML 1.0 (Strict) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- [other html:div[class='note']] --&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=82</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=82"/>
		<updated>2005-04-21T16:03:40Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduces the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Talk:Endnotes&amp;diff=88</id>
		<title>Talk:Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Talk:Endnotes&amp;diff=88"/>
		<updated>2005-04-21T15:59:49Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For categories, I've tried out quite a range. Categories are cheap to make, but provide a superb oversite. What think?&lt;br /&gt;
-dan&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=81</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=81"/>
		<updated>2005-04-21T15:58:46Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Limitations, assumptions, and quirks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT1.0]]&lt;br /&gt;
[[Category:XSLT2.0]]&lt;br /&gt;
[[Category:TEI:NOTE]]&lt;br /&gt;
[[category:HTML]]&lt;br /&gt;
[[Category:TEIP4]]&lt;br /&gt;
[[Category:TEIP5]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=80</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=80"/>
		<updated>2005-04-21T15:52:35Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Limitations, assumptions, and quirks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements must contain at least one &amp;lt;code&amp;gt;tei:p&amp;lt;/code&amp;gt; (it is not hard to adjust the code for notes that contain &amp;lt;code&amp;gt;CDATA&amp;lt;code&amp;gt;, however.&lt;br /&gt;
#the note content is output to &amp;lt;code&amp;gt;html:div&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;br /&gt;
[[Category:tei:note]]&lt;br /&gt;
[[category:html]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=79</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=79"/>
		<updated>2005-04-21T15:50:47Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Output note content at desired location */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main &lt;br /&gt;
       text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=78</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=78"/>
		<updated>2005-04-21T15:50:25Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Build reference marker and link at insertion point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; &lt;br /&gt;
        at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=77</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=77"/>
		<updated>2005-04-21T15:47:21Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Create note section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This call will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=76</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=76"/>
		<updated>2005-04-21T15:36:14Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: Tried another organisation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
The same stylesheet works in [[xslt 1.0]] and [[xslt 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=75</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=75"/>
		<updated>2005-04-21T15:33:41Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=74</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=74"/>
		<updated>2005-04-21T15:32:47Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: Tried a different header organisation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
===XHTML 1.0 (Strict)===&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT FO===&lt;br /&gt;
&lt;br /&gt;
?&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===XSLT 1.0===&lt;br /&gt;
====Create note section====&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Build reference marker and link at insertion point====&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Output note content at desired location====&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:XSLT]]&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=72</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=72"/>
		<updated>2005-04-21T14:47:07Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Output note content at desired location */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
This code outputs the not content at the desired location in the output document. Each note is a &amp;lt;code&amp;gt;html:div[class=&amp;quot;footnote&amp;quot;]&amp;lt;/code&amp;gt; containing one or more &amp;lt;code&amp;gt;html:p&amp;lt;/code&amp;gt;. The link back to the insertion point is the note number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=71</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=71"/>
		<updated>2005-04-21T14:44:49Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Build reference marker and link at insertion point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
This code builds the reference marker and link at the insertion point. The text in &amp;lt;code&amp;gt;html:span[class='hideme']&amp;lt;/code&amp;gt; is for use when CSS styles are turned off or in accessibility devices (To ensure they do not appear when the styles are turned on, place the following in your CSS: &amp;lt;code&amp;gt;span.hideme {display:none;}&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=70</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=70"/>
		<updated>2005-04-21T14:38:46Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Create note section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=69</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=69"/>
		<updated>2005-04-21T14:38:02Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms &amp;lt;code&amp;gt;tei:note&amp;lt;/code&amp;gt; elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;&amp;amp;lt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=68</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=68"/>
		<updated>2005-04-21T14:37:35Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: /* Create note section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms tei:note elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in &amp;lt;code&amp;gt;tei:teiHeader/notesStmt&amp;lt;/code&amp;gt;), the following can be substituted for the first &amp;lt;code&amp;gt;&amp;amp;lt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=67</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=67"/>
		<updated>2005-04-21T14:36:35Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms tei:note elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in tei:teiHeader/notesStmt), the following can be substituted for the first &amp;lt;code&amp;gt;&amp;amp;lt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=66</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=66"/>
		<updated>2005-04-21T14:36:02Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms tei:note elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a id=&amp;quot;note-1&amp;quot; href=&amp;quot;#refpoint-1&amp;quot; title=&amp;quot;Link to insertion point &lt;br /&gt;
       of note in main text.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
       class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;. Suspendisse faucibus. &lt;br /&gt;
       Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
  [other html:div[class='note']]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in tei:teiHeader/notesStmt), the following can be substituted for the first &amp;lt;code&amp;gt;&amp;amp;lt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations, assumptions, and quirks==&lt;br /&gt;
This xslt code is subject to the following limitations, assumptions, and quirks&lt;br /&gt;
&lt;br /&gt;
#all tei:note elements must contain at least one tei:p (it is not hard to adjust the code for notes that contain CDATA, however.&lt;br /&gt;
#the note content is output to html:div rather than html:p, since each note is understood as a collection of paragraphs.&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=65</id>
		<title>Endnotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Endnotes&amp;diff=65"/>
		<updated>2005-04-21T14:27:32Z</updated>

		<summary type="html">&lt;p&gt;Daniel.odonnell: Still in progress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This xslt transforms tei:note elements for display in xhtml. It places a numbered marker at the insertion point and reproduced the note content in a separate section at the end of the document. Links between the insertion marker and note are automatically generated.&lt;br /&gt;
&lt;br /&gt;
==Input TEI==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output XHTML 1.0 (Strict)==&lt;br /&gt;
At the insertion point:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;...Lorem ipsum dolor sit amet, consectetuer &lt;br /&gt;
adipiscing elit.&amp;lt;sup&amp;gt;&amp;lt;a name=&amp;quot;refpoint-1&amp;quot; &lt;br /&gt;
href=&amp;quot;#note-1&amp;quot; title=&amp;quot;Link to note 1 at the end &lt;br /&gt;
of this document.&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;1&amp;lt;span &lt;br /&gt;
class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt; Fusce hendrerit, &lt;br /&gt;
quam ac nonummy rutrum, turpis odio ultrices tortor...&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elsewhere in the document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;note&amp;gt;&amp;lt;p&amp;gt;Suspendisse faucibus. &lt;br /&gt;
Nulla a tortor id pede aliquam venenatis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Donec eget lectus.&amp;lt;/p&amp;gt;&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==XSLT==&lt;br /&gt;
===Create note section===&lt;br /&gt;
The following template should be called (using &amp;lt;code&amp;gt;&amp;amp;lt;xsl:call-template name=&amp;quot;notessection&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;) at the point at which you wish the notes to appear in your output document. This will most likely be in the template for your document root &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TEI.2&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;. To avoid problems with &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; elements elsewhere in the tei document (e.g. in tei:teiHeader/notesStmt), the following can be substituted for the first &amp;lt;code&amp;gt;&amp;amp;lt;xsl:if&amp;lt;/code&amp;gt; test: &amp;lt;code&amp;gt;body//note&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;notessection&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsl:if test=&amp;quot;note&amp;quot;&amp;gt;    &lt;br /&gt;
  &amp;lt;hr class=&amp;quot;subdivider&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;notes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h2&amp;gt;&amp;lt;a id=&amp;quot;notes&amp;quot;/&amp;gt;Notes:&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;.//note&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;shownotes&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build reference marker and link at insertion point===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;sup&amp;gt;&amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;Link to note &amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt; at the end of this document.&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:text&amp;gt; &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output note content at desired location===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;text//note&amp;quot; mode=&amp;quot;shownotes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;notenum&amp;quot; select=&amp;quot;count(preceding::note[ancestor::text])+1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:variable name=&amp;quot;linklabel&amp;quot; select=&amp;quot;normalize-space($notenum)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;footnote&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:if test=&amp;quot;p[position()=1]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;a&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;note-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;href&amp;quot;&amp;gt;#refpoint-&amp;lt;xsl:value-of select=&amp;quot;$linklabel&amp;quot;/&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;xsl:text&amp;gt;Link to insertion point of note in main text.&amp;lt;/xsl:text&amp;gt;&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
      &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:value-of select=&amp;quot;$notenum&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;span class=&amp;quot;hideme&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&amp;lt;xsl:text&amp;gt;. &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;p[position()=1]&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;p[not(position()=1)]&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daniel.odonnell</name></author>
		
	</entry>
</feed>