<?xml version="1.0" encoding="UTF-8"?>
<sch:schema xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:axsl="http://www.w3.org/1999/XSL/Transform" xmlns:i5sch="http://echa.europa.eu/comm/enterprise/reach/iuclid5/20060407/schematron">
  <sch:pattern name="Endpoint Details">
    <sch:rule context="/i5:EndpointStudyRecord">
      <sch:report test="true()">
        <axsl:element name="i5sch:details">
          <axsl:attribute name="name">
            <axsl:value-of select="i5:name/text()" />
          </axsl:attribute>
          <axsl:attribute name="type">EndpointStudyRecord</axsl:attribute>
        </axsl:element>
      </sch:report>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="regulatoryPurposes">
    <sch:rule context="/i5:EndpointStudyRecord/i5:dataProtection/i5:regulatoryPurposes/i5:regulatoryPurpose[@valueID = &quot;NOT_SPECIFIED&quot; or @valueID = &quot;733&quot; or @valueID = &quot;9000&quot; or @valueID = &quot;5793&quot; or @valueID = &quot;735&quot; or @valueID = &quot;209&quot; or @valueID = &quot;210&quot; or @valueID = &quot;919&quot; or @valueID = &quot;1313&quot; or @valueID = &quot;1646&quot; or @valueID = &quot;1647&quot; or @valueID = &quot;1648&quot;]">
      <sch:assert test="normalize-space(./i5:otherValue/text()) = &quot;&quot;">
        <i5sch:error>
          <axsl:element name="i5sch:messageID">
            <axsl:attribute name="name">
              <axsl:choose>
                <axsl:when test="./@valueID = 'NOT_SPECIFIED'">PICK_LIST_VALUE_NOT_SPECIFIED_BUT_OTHER_VALUE_FOUND</axsl:when>
                <axsl:otherwise>PICK_LIST_VALUE_VALUE_SPECIFIED_BUT_OTHER_VALUE_FOUND</axsl:otherwise>
              </axsl:choose>
            </axsl:attribute>
          </axsl:element>
          <i5sch:field name="regulatoryPurposes" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(./i5:otherValue/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="studyResultType">
    <sch:rule context="/i5:EndpointStudyRecord/i5:studyResultType[@valueID = &quot;NOT_SPECIFIED&quot; or @valueID = &quot;1895&quot; or @valueID = &quot;1896&quot; or @valueID = &quot;1885&quot; or @valueID = &quot;2303&quot; or @valueID = &quot;2304&quot; or @valueID = &quot;14&quot; or @valueID = &quot;1173&quot;]">
      <sch:assert test="normalize-space(./i5:otherValue/text()) = &quot;&quot;">
        <i5sch:error>
          <axsl:element name="i5sch:messageID">
            <axsl:attribute name="name">
              <axsl:choose>
                <axsl:when test="./@valueID = 'NOT_SPECIFIED'">PICK_LIST_VALUE_NOT_SPECIFIED_BUT_OTHER_VALUE_FOUND</axsl:when>
                <axsl:otherwise>PICK_LIST_VALUE_VALUE_SPECIFIED_BUT_OTHER_VALUE_FOUND</axsl:otherwise>
              </axsl:choose>
            </axsl:attribute>
          </axsl:element>
          <i5sch:field name="studyResultType" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(./i5:otherValue/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="reliability">
    <sch:rule context="/i5:EndpointStudyRecord/i5:reliability[@valueID = &quot;NOT_SPECIFIED&quot; or @valueID = &quot;16&quot; or @valueID = &quot;18&quot; or @valueID = &quot;22&quot; or @valueID = &quot;24&quot;]">
      <sch:assert test="normalize-space(./i5:otherValue/text()) = &quot;&quot;">
        <i5sch:error>
          <axsl:element name="i5sch:messageID">
            <axsl:attribute name="name">
              <axsl:choose>
                <axsl:when test="./@valueID = 'NOT_SPECIFIED'">PICK_LIST_VALUE_NOT_SPECIFIED_BUT_OTHER_VALUE_FOUND</axsl:when>
                <axsl:otherwise>PICK_LIST_VALUE_VALUE_SPECIFIED_BUT_OTHER_VALUE_FOUND</axsl:otherwise>
              </axsl:choose>
            </axsl:attribute>
          </axsl:element>
          <i5sch:field name="reliability" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(./i5:otherValue/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="REFERENCE/PHRASEOTHER_REFERENCE_TYPE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:REFERENCE/i5:set/i5:PHRASEOTHER_REFERENCE_TYPE/i5:REFERENCE_TYPE[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:REFERENCE/i5:set/i5:PHRASEOTHER_REFERENCE_TYPE/i5:REFERENCE_TYPE[text() = &quot;1586&quot;]">
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:REFERENCE/i5:set/i5:PHRASEOTHER_REFERENCE_TYPE/i5:REFERENCE_TYPE[text() = &quot;266&quot;]">
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:REFERENCE/i5:set/i5:PHRASEOTHER_REFERENCE_TYPE/i5:REFERENCE_TYPE[text() = &quot;1443&quot;]">
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:REFERENCE/i5:set/i5:PHRASEOTHER_REFERENCE_TYPE/i5:REFERENCE_TYPE[text() = &quot;1486&quot;]">
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:REFERENCE/i5:set/i5:PHRASEOTHER_REFERENCE_TYPE/i5:REFERENCE_TYPE[text() = &quot;1542&quot;]">
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:REFERENCE/i5:set/i5:PHRASEOTHER_REFERENCE_TYPE/i5:REFERENCE_TYPE[text() = &quot;811&quot;]">
      <sch:assert test="normalize-space(../i5:REFERENCE_TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Reference" name="REFERENCE" />
          <i5sch:field label="Reference type" name="PHRASEOTHER_REFERENCE_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:REFERENCE_TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="DATA_ACCESS/PHRASEOTHER_LIST_POP">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DATA_ACCESS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data access" name="DATA_ACCESS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data access" name="DATA_ACCESS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DATA_ACCESS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;1838&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data access" name="DATA_ACCESS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DATA_ACCESS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;1837&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data access" name="DATA_ACCESS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DATA_ACCESS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;1835&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data access" name="DATA_ACCESS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DATA_ACCESS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;1836&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data access" name="DATA_ACCESS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DATA_ACCESS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;2193&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data access" name="DATA_ACCESS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="DATA_PROT_CLAIM/PHRASEOTHER_LIST_POP_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DATA_PROT_CLAIM/i5:set/i5:PHRASEOTHER_LIST_POP_FIX/i5:LIST_POP_FIX[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_FIX.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Data protection claimed" name="DATA_PROT_CLAIM" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_POP_FIX" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_POP_FIX.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="GUIDELINE/QUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:GUIDELINE/i5:set/i5:QUALIFIER/i5:QUALIFIER[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:QUALIFIER.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test guideline" name="GUIDELINE" />
          <i5sch:field label="Qualifier" name="QUALIFIER" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:QUALIFIER.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="GUIDELINE/PHRASEOTHER_GUIDELINE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:GUIDELINE/i5:set/i5:PHRASEOTHER_GUIDELINE/i5:GUIDELINE[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:GUIDELINE.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test guideline" name="GUIDELINE" />
          <i5sch:field label="Guideline" name="PHRASEOTHER_GUIDELINE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:GUIDELINE.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="GUIDELINE/PHRASEOTHER_DEVIATION">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:GUIDELINE/i5:set/i5:PHRASEOTHER_DEVIATION/i5:DEVIATION[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:DEVIATION.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test guideline" name="GUIDELINE" />
          <i5sch:field label="Deviations" name="PHRASEOTHER_DEVIATION" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:DEVIATION.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="GLP_COMPLIANCE_STATEMENT/PHRASEOTHER_LIST_SEL_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:GLP_COMPLIANCE_STATEMENT/i5:set/i5:PHRASEOTHER_LIST_SEL_FIX/i5:LIST_SEL_FIX[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_FIX.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="GLP compliance" name="GLP_COMPLIANCE_STATEMENT" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL_FIX" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_FIX.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TESTMAT_INDICATOR/LIST_BELOW_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_INDICATOR/i5:set/i5:LIST_BELOW_SEL/i5:LIST_BELOW_SEL[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_BELOW_SEL.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of test material same as for substance defined in section 1 (if not read-across)" name="TESTMAT_INDICATOR" />
          <i5sch:field label="" name="LIST_BELOW_SEL" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_BELOW_SEL.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TESTMAT/PHRASEOTHER_IDENTIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4174&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4175&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4176&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4177&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4178&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;3452&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;3451&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material identity" name="TESTMAT" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TESTMAT_FORM/PHRASEOTHER_TESTMAT_FORM">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2682&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;1808&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;1825&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2787&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2816&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2818&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;1910&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2892&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;8051&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2991&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;3886&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2260&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2281&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;3167&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;3356&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;2452&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TESTMAT_FORM/i5:set/i5:PHRASEOTHER_TESTMAT_FORM/i5:TESTMAT_FORM[text() = &quot;1173&quot;]">
      <sch:assert test="normalize-space(../i5:TESTMAT_FORM_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test material form" name="TESTMAT_FORM" />
          <i5sch:field label="" name="PHRASEOTHER_TESTMAT_FORM" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TESTMAT_FORM_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="RADIO_LABEL/LIST_BELOW_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:RADIO_LABEL/i5:set/i5:LIST_BELOW_SEL/i5:LIST_BELOW_SEL[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_BELOW_SEL.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Radiolabelling" name="RADIO_LABEL" />
          <i5sch:field label="" name="LIST_BELOW_SEL" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_BELOW_SEL.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="ANALYT_MONIT/LIST_BELOW_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:ANALYT_MONIT/i5:set/i5:LIST_BELOW_SEL/i5:LIST_BELOW_SEL[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_BELOW_SEL.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Analytical monitoring" name="ANALYT_MONIT" />
          <i5sch:field label="" name="LIST_BELOW_SEL" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_BELOW_SEL.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="DURATION/VALUEUNIT_VALUE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:VALUEUNIT_VALUE/i5:UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="VALUEUNIT_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="DURATION/PRECISION_INITIAL_CONC_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER[not(string(number(./i5:INITIAL_CONC_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:INITIAL_CONC_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:INITIAL_CONC_LOVALUE/text()) &lt;= number(./i5:INITIAL_CONC_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="Initial conc. measured" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:INITIAL_CONC_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:INITIAL_CONC_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="DURATION/PRECISION_INITIAL_CONC_LOQUALIFIER/INITIAL_CONC_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;2155&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;2500&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;2098&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;1935&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;2504&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;2123&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:DURATION/i5:set/i5:PRECISION_INITIAL_CONC_LOQUALIFIER/i5:INITIAL_CONC_UNIT[text() = &quot;2127&quot;]">
      <sch:assert test="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Duration of test" name="DURATION" />
          <i5sch:field label="" name="PRECISION_INITIAL_CONC_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:INITIAL_CONC_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="POS_CONTROLS/PHRASEOTHER_LIST_SEL_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:POS_CONTROLS/i5:set/i5:PHRASEOTHER_LIST_SEL_FIX/i5:LIST_SEL_FIX[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_FIX.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Positive controls" name="POS_CONTROLS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL_FIX" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_FIX.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="NEG_CONTROLS/PHRASEOTHER_LIST_SEL_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:NEG_CONTROLS/i5:set/i5:PHRASEOTHER_LIST_SEL_FIX/i5:LIST_SEL_FIX[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_FIX.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Negative controls" name="NEG_CONTROLS" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL_FIX" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_FIX.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TRANSF_PRODUCTS_INDICATOR/LIST_BELOW_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_INDICATOR/i5:set/i5:LIST_BELOW_SEL/i5:LIST_BELOW_SEL[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_BELOW_SEL.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transformation products" name="TRANSF_PRODUCTS_INDICATOR" />
          <i5sch:field label="" name="LIST_BELOW_SEL" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_BELOW_SEL.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TRANSF_PRODUCTS_ID/NO">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:NO/i5:NO[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:NO.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="No." name="NO" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:NO.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TRANSF_PRODUCTS_ID/PHRASEOTHER_IDENTIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4174&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4175&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4176&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4177&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;4178&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;3452&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TRANSF_PRODUCTS_ID/i5:set/i5:PHRASEOTHER_IDENTIFIER/i5:IDENTIFIER[text() = &quot;3451&quot;]">
      <sch:assert test="normalize-space(../i5:IDENTIFIER_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Identity of degradation products" name="TRANSF_PRODUCTS_ID" />
          <i5sch:field label="Identifier" name="PHRASEOTHER_IDENTIFIER" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:IDENTIFIER_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TOTALRECOVERY/PRECISION_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TOTALRECOVERY/i5:set/i5:PRECISION_LOQUALIFIER[not(string(number(./i5:LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:LOVALUE/text()) &lt;= number(./i5:UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Total recovery of test substance (in %)" name="TOTALRECOVERY" />
          <i5sch:field label="%Recovery" name="PRECISION_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TOTALRECOVERY/VALUEUNIT_TEMP_VALUE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TOTALRECOVERY/i5:set/i5:VALUEUNIT_TEMP_VALUE/i5:TEMP_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:TEMP_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Total recovery of test substance (in %)" name="TOTALRECOVERY" />
          <i5sch:field label="" name="VALUEUNIT_TEMP_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:TEMP_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TOTALRECOVERY/PRECISION_DURATION_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TOTALRECOVERY/i5:set/i5:PRECISION_DURATION_LOQUALIFIER[not(string(number(./i5:DURATION_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:DURATION_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:DURATION_LOVALUE/text()) &lt;= number(./i5:DURATION_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Total recovery of test substance (in %)" name="TOTALRECOVERY" />
          <i5sch:field label="Duration" name="PRECISION_DURATION_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:DURATION_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:DURATION_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TOTALRECOVERY/PRECISION_DURATION_LOQUALIFIER/DURATION_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:TOTALRECOVERY/i5:set/i5:PRECISION_DURATION_LOQUALIFIER/i5:DURATION_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:DURATION_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Total recovery of test substance (in %)" name="TOTALRECOVERY" />
          <i5sch:field label="" name="PRECISION_DURATION_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:DURATION_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="HALFLIFE/VALUEUNIT_TEMP_VALUE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:VALUEUNIT_TEMP_VALUE/i5:TEMP_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:TEMP_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="" name="VALUEUNIT_TEMP_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:TEMP_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="HALFLIFE/PRECISION_HYDROLYSISRATE_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PRECISION_HYDROLYSISRATE_LOQUALIFIER[not(string(number(./i5:HYDROLYSISRATE_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:HYDROLYSISRATE_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:HYDROLYSISRATE_LOVALUE/text()) &lt;= number(./i5:HYDROLYSISRATE_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Hydrolysis rate constant" name="PRECISION_HYDROLYSISRATE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:HYDROLYSISRATE_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:HYDROLYSISRATE_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="HALFLIFE/PRECISION_HYDROLYSISRATE_LOQUALIFIER/HYDROLYSISRATE_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PRECISION_HYDROLYSISRATE_LOQUALIFIER/i5:HYDROLYSISRATE_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:HYDROLYSISRATE_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="" name="PRECISION_HYDROLYSISRATE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:HYDROLYSISRATE_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="HALFLIFE/PRECISION_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PRECISION_LOQUALIFIER[not(string(number(./i5:LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:LOVALUE/text()) &lt;= number(./i5:UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Half-life" name="PRECISION_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="HALFLIFE/PRECISION_LOQUALIFIER/UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PRECISION_LOQUALIFIER/i5:UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="" name="PRECISION_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="HALFLIFE/PHRASEOTHER_TYPE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PHRASEOTHER_TYPE/i5:TYPE[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:TYPE.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Type" name="PHRASEOTHER_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:TYPE.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Type" name="PHRASEOTHER_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PHRASEOTHER_TYPE/i5:TYPE[text() = &quot;15&quot;]">
      <sch:assert test="normalize-space(../i5:TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Type" name="PHRASEOTHER_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PHRASEOTHER_TYPE/i5:TYPE[text() = &quot;2328&quot;]">
      <sch:assert test="normalize-space(../i5:TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Type" name="PHRASEOTHER_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PHRASEOTHER_TYPE/i5:TYPE[text() = &quot;2492&quot;]">
      <sch:assert test="normalize-space(../i5:TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Type" name="PHRASEOTHER_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:HALFLIFE/i5:set/i5:PHRASEOTHER_TYPE/i5:TYPE[text() = &quot;1173&quot;]">
      <sch:assert test="normalize-space(../i5:TYPE_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Dissipation half-life of parent compound" name="HALFLIFE" />
          <i5sch:field label="Type" name="PHRASEOTHER_TYPE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:TYPE_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="VALIDITY_CRIT_SUBM/PHRASEOTHER_LIST_SEL_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_HYDROLYSIS/i5:VALIDITY_CRIT_SUBM/i5:set/i5:PHRASEOTHER_LIST_SEL_FIX/i5:LIST_SEL_FIX[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_FIX.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Validity criteria fulfilled" name="VALIDITY_CRIT_SUBM" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL_FIX" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_FIX.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
</sch:schema>

