<?xml version="1.0" encoding="UTF-8"?>
<!-- GENERATED by libs/tei-schema/tools/extract-schematron.js - do not edit by hand. -->
<schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
  <ns prefix="tei" uri="http://www.tei-c.org/ns/1.0"/>
  <ns prefix="xml" uri="http://www.w3.org/XML/1998/namespace"/>
  <pattern id="p0">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@when]">
         <report test="@notBefore|@notAfter|@from|@to" role="nonfatal">The @when attribute cannot be used with any other att.datable.w3c attributes.</report>
      </rule>
  </pattern>
  <pattern id="p1">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@from]">
         <report test="@notBefore" role="nonfatal">The @from and @notBefore attributes cannot be used together.</report>
      </rule>
  </pattern>
  <pattern id="p2">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@to]">
         <report test="@notAfter" role="nonfatal">The @to and @notAfter attributes cannot be used together.</report>
      </rule>
  </pattern>
  <pattern id="p3">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@source]">
         <let name="srcs" value="tokenize( normalize-space(@source),' ')"/>
         <report test="( self::tei:classRef               | self::tei:dataRef               | self::tei:elementRef               | self::tei:macroRef               | self::tei:moduleRef               | self::tei:schemaSpec )               and               $srcs[2]">
              When used on a schema description element (like
              <value-of select="name(.)"/>), the @source attribute
              should have only 1 value. (This one has <value-of select="count($srcs)"/>.)
            </report>
      </rule>
  </pattern>
  <pattern id="p4">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@subtype]">
         <assert test="@type">The <name/> element should not be categorized in detail with @subtype unless also categorized in general with @type</assert>
      </rule>
  </pattern>
  <pattern id="p5">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[not(self::tei:schemaSpec)][@targetLang]">
         <assert test="@target">@targetLang should only be used on <name/> if @target is specified.</assert>
      </rule>
  </pattern>
  <pattern id="p6">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@spanTo]">
         <assert test="id(substring(@spanTo,2)) and following::*[@xml:id=substring(current()/@spanTo,2)]">
The element indicated by @spanTo (<value-of select="@spanTo"/>) must follow the current element <name/>
         </assert>
      </rule>
  </pattern>
  <pattern id="p7">
<rule
                xmlns:math="http://www.w3.org/1998/Math/MathML"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:svg="http://www.w3.org/2000/svg"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@calendar]">
         <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
              systems or calendars to which the date represented by the content of this element belongs,
              but this <name/> element has no textual content.</assert>
      </rule>
  </pattern>
  <pattern id="p8">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:desc[ @type eq 'deprecationInfo']">
               <assert test="../@validUntil">Information about a
        deprecation should only be present in a specification element
        that is being deprecated: that is, only an element that has a
        @validUntil attribute should have a child &lt;desc
        type="deprecationInfo"&gt;.</assert>
            </rule>
  </pattern>
  <pattern id="p9">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:date">
               <assert test="matches(normalize-space(.), '^\d{4}$')">
                  L'elemento date deve contenere esclusivamente un anno espresso
                  con quattro cifre (ad esempio: 2018).
                </assert>
            </rule>
  </pattern>
  <pattern id="p10">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:list[@type='gloss']">
               <assert test="tei:label">The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element</assert>
            </rule>
  </pattern>
  <pattern id="p11">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p12">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p13">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p14">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p15">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p16">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p17">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:publisher">
               <assert test=".='SISMEL. Edizioni del Galluzzo'">
                  Il contenuto di publisher deve essere "SISMEL. Edizioni del Galluzzo".
                </assert>
            </rule>
  </pattern>
  <pattern id="p18">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:pubPlace">
               <assert test=".='Firenze'">
                  Il contenuto di pubPlace deve essere "Firenze".
                </assert>
            </rule>
  </pattern>
  <pattern id="p19">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:sponsor">
               <assert test=".='SISMEL'"> Il valore di sponsor deve essere "SISMEL".
                </assert>
            </rule>
  </pattern>
  <pattern id="p20">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p21">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p22">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p23">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p24">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p25">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p26">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p27">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:*[@calendar]">
               <assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
                        systems or calendars to which the date represented by the content of this element belongs,
                        but this <name/> element has no textual content.</assert>
            </rule>
  </pattern>
  <pattern id="p28">
<rule
                      xmlns:math="http://www.w3.org/1998/Math/MathML"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:svg="http://www.w3.org/2000/svg"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:msContents|tei:physDesc|tei:history|tei:additional">
               <let name="gi" value="name(.)"/>
               <report test="preceding-sibling::*[ name(.) eq $gi ]                           and                           not( following-sibling::*[ name(.) eq $gi ] )">
          Only one <name/> is allowed as a child of <value-of select="name(..)"/>.
        </report>
            </rule>
  </pattern>
</schema>