<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tei-c.org/index.php?action=history&amp;feed=atom&amp;title=Baha%27i_Date_Schema</id>
	<title>Baha'i Date Schema - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tei-c.org/index.php?action=history&amp;feed=atom&amp;title=Baha%27i_Date_Schema"/>
	<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Baha%27i_Date_Schema&amp;action=history"/>
	<updated>2026-04-21T14:36:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Baha%27i_Date_Schema&amp;diff=3945&amp;oldid=prev</id>
		<title>Piotr Banski: recat: Category:Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Baha%27i_Date_Schema&amp;diff=3945&amp;oldid=prev"/>
		<updated>2007-12-17T12:40:26Z</updated>

		<summary type="html">&lt;p&gt;recat: &lt;a href=&quot;/index.php?title=Category:Code&quot; title=&quot;Category:Code&quot;&gt;Category:Code&lt;/a&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 12:40, 17 December 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following is a Schematron schema to allow an unofficial scheme for the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vaildation &lt;/del&gt;of Baha'i dates. The predictability of this schema could vary in the future, if a decision is made by the international governing body of the Baha'i Faith, the Universal House of Justice, as to the site for which Naw-Ruz, the new year, will be determined. At such a time, the beginning of the year will vary by one or two days, so it will not be as easy to detect the validity of dates which might change (in the first or last month, or intercalary days?). It is also certain whether the leap years will follow the current Gregorian calendar or not. Moreover, the representation of the separate intercalary days as being tagged on to the end of month 18 was simply for ease in calculation purposes.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following is a Schematron schema to allow an unofficial scheme for the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;validation &lt;/ins&gt;of Baha'i dates. The predictability of this schema could vary in the future, if a decision is made by the international governing body of the Baha'i Faith, the Universal House of Justice, as to the site for which Naw-Ruz, the new year, will be determined. At such a time, the beginning of the year will vary by one or two days, so it will not be as easy to detect the validity of dates which might change (in the first or last month, or intercalary days?). It is also certain whether the leap years will follow the current Gregorian calendar or not. Moreover, the representation of the separate intercalary days as being tagged on to the end of month 18 was simply for ease in calculation purposes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Despite all of the above disclaimers, this should still ideally be helpful, and might offer an example of how dates or other attributes can be constrained depending on the value of multiple attributes, using [[Schematron]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Despite all of the above disclaimers, this should still ideally be helpful, and might offer an example of how dates or other attributes can be constrained depending on the value of multiple attributes, using [[Schematron]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l49&quot; &gt;Line 49:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 49:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Customization&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Code&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Piotr Banski</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.tei-c.org/index.php?title=Baha%27i_Date_Schema&amp;diff=3944&amp;oldid=prev</id>
		<title>Brettz9: added sample and explanation</title>
		<link rel="alternate" type="text/html" href="https://wiki.tei-c.org/index.php?title=Baha%27i_Date_Schema&amp;diff=3944&amp;oldid=prev"/>
		<updated>2007-12-17T08:29:29Z</updated>

		<summary type="html">&lt;p&gt;added sample and explanation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The following is a Schematron schema to allow an unofficial scheme for the vaildation of Baha'i dates. The predictability of this schema could vary in the future, if a decision is made by the international governing body of the Baha'i Faith, the Universal House of Justice, as to the site for which Naw-Ruz, the new year, will be determined. At such a time, the beginning of the year will vary by one or two days, so it will not be as easy to detect the validity of dates which might change (in the first or last month, or intercalary days?). It is also certain whether the leap years will follow the current Gregorian calendar or not. Moreover, the representation of the separate intercalary days as being tagged on to the end of month 18 was simply for ease in calculation purposes.&lt;br /&gt;
&lt;br /&gt;
Despite all of the above disclaimers, this should still ideally be helpful, and might offer an example of how dates or other attributes can be constrained depending on the value of multiple attributes, using [[Schematron]].&lt;br /&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;
&amp;lt;schema xmlns=&amp;quot;http://purl.oclc.org/dsdl/schematron&amp;quot; queryBinding=&amp;quot;xslt2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ns prefix=&amp;quot;tei&amp;quot; uri=&amp;quot;http://www.tei-c.org/ns/1.0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ns prefix=&amp;quot;fn&amp;quot; uri=&amp;quot;http://www.w3.org/2003/11/xpath-functions&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;pattern id=&amp;quot;Bahai_Date&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;rule context='tei:date[@calendar = &amp;quot;Baha&amp;amp;apos;i&amp;quot;]'&amp;gt;&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
                Dates (allowable): (note: time is allowable on any of the following)&lt;br /&gt;
                [+-]YYYY (first +/- is optional; year can be of any length, but not start with 0; year one is 1844 A.D.)&lt;br /&gt;
                [+-]YYYY-MM (Baha'i months are 1-19 or 01-19)&lt;br /&gt;
                [+-]YYYY-MM-DD (Bahai' days are 1-19 or 01-19; intercalary days (Feb. 26 - March 1) are represented here as&lt;br /&gt;
                month 18, days 20-23 or 24, dependent on whether it is a leap year or not&lt;br /&gt;
                Time (allowable), set off by 'T' and then (note: all times allow a timezone):&lt;br /&gt;
                HH (hours are 00-23)&lt;br /&gt;
                HH:MM (minutes are 01-59)&lt;br /&gt;
                HH:MM:SS (seconds are 01-59)&lt;br /&gt;
                HH:MM:SS.s (fractional seconds are a period followed by any series of digits or no digit)&lt;br /&gt;
                Timezone (allowable):&lt;br /&gt;
                Z  (UTC)&lt;br /&gt;
                [+-]HH (+ or - is required; hour offset from 01-14 per http://www.w3.org/TR/xmlschema-2/#dateTime-order)&lt;br /&gt;
                [+-]HH:MM (minute offset from 01-59)&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;time&amp;quot; value=&amp;quot;'T(([0-1][0-9])|(2[0-3]))(:[0-5][0-9](:[0-5][0-9](\.\d*)?)?)?'&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;time_zone&amp;quot; value=&amp;quot;'(Z|[+-]((14)|(14:00)|(((0\d)|(1[0-3]))(:[0-5][0-9])?))?)?'&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;date&amp;quot; value=&amp;quot;'^[+-]?([1-9]\d*)(-[0-1]?\d(-[0-1]?\d)?)?'&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;date_ayyamiha&amp;quot; value=&amp;quot;'^[+-]?([1-9]\d*)-(18-2[0-4])'&amp;quot;/&amp;gt; &amp;lt;!-- Intercalary days, Feb. 26 - March 1 --&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;let name=&amp;quot;time_pattern&amp;quot; value=&amp;quot;concat(    '(', $time, $time_zone, ')?'   )&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;pattern&amp;quot; value=&amp;quot;concat($date, $time_pattern, '$')&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;pattern_ayyamiha&amp;quot; value=&amp;quot;concat($date_ayyamiha, $time_pattern, '$')&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;bbe&amp;quot; value=&amp;quot;number(matches(@when, '^-'))&amp;quot; /&amp;gt; &amp;lt;!-- Before &amp;quot;Baha'i Era&amp;quot; - i.e., a negative date --&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;year&amp;quot; value=&amp;quot;number(replace(@when, $pattern, '$1'))&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;ayyamiha_leap&amp;quot; value=&amp;quot;number(replace(@when, $pattern_ayyamiha, '$1'))&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;leap400&amp;quot; value='((($year - 1 + $bbe) mod 400) = 0) or ((($ayyamiha_leap - 1 + $bbe) mod 400) = 0)'/&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;nonleap100&amp;quot; value='((($year - 1 + $bbe) mod 100) = 0) or ((($ayyamiha_leap - 1 + $bbe) mod 100) = 0)'/&amp;gt;&lt;br /&gt;
            &amp;lt;let name=&amp;quot;leap4&amp;quot; value='((($year - 1 + $bbe) mod 4) = 0) or ((($ayyamiha_leap - 1 + $bbe) mod 4) = 0)'/&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;assert test=&amp;quot;$leap400 or (not($nonleap100) and $leap4)&amp;quot;&amp;gt;Such a date is only available in a leap year.&amp;lt;/assert&amp;gt;&lt;br /&gt;
            &amp;lt;!-- Avoids year 0, but can't have year begin with a '0' either --&amp;gt;&lt;br /&gt;
            &amp;lt;assert test='matches(@when, $pattern) or matches(@when, $pattern_ayyamiha)'&amp;gt;The date's &amp;quot;when&amp;quot; attribute is not a correct Baha'i date.&amp;lt;/assert&amp;gt;           &lt;br /&gt;
        &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;/pattern&amp;gt;&lt;br /&gt;
&amp;lt;/schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Customization]]&lt;/div&gt;</summary>
		<author><name>Brettz9</name></author>
		
	</entry>
</feed>