<?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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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="METHOD_TYPE/PHRASEOTHER_LIST_POP_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:METHOD_TYPE/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="Type of method" name="METHOD_TYPE" />
          <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="GLP_COMPLIANCE_STATEMENT/PHRASEOTHER_LIST_SEL_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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:PC_VAPOUR/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="VAPOURPR/PRECISION_PRESSURE_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER[not(string(number(./i5:PRESSURE_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:PRESSURE_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:PRESSURE_LOVALUE/text()) &lt;= number(./i5:PRESSURE_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:PRESSURE_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:PRESSURE_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="VAPOURPR/PRECISION_PRESSURE_LOQUALIFIER/PRESSURE_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_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:PRESSURE_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_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:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;1349&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;1954&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;2019&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;1740&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;139&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;2046&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;2121&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;1348&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:PRECISION_PRESSURE_LOQUALIFIER/i5:PRESSURE_UNIT[text() = &quot;1616&quot;]">
      <sch:assert test="normalize-space(../i5:PRESSURE_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="" name="PRECISION_PRESSURE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:PRESSURE_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="VAPOURPR/TEMP_QUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/i5:set/i5:TEMP_QUALIFIER/i5:TEMP_QUALIFIER[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:TEMP_QUALIFIER.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Vapour pressure" name="VAPOURPR" />
          <i5sch:field label="at" name="TEMP_QUALIFIER" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:TEMP_QUALIFIER.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="VAPOURPR/VALUEUNIT_TEMP_VALUE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:VAPOURPR/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="Vapour pressure" name="VAPOURPR" />
          <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="TRANSITION/PHRASEOTHER_INDICATOR">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:PHRASEOTHER_INDICATOR/i5:INDICATOR[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:INDICATOR.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="Transition / decomposition" name="PHRASEOTHER_INDICATOR" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:INDICATOR.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TRANSITION/PRECISION_TEMP_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:PRECISION_TEMP_LOQUALIFIER[not(string(number(./i5:TEMP_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:TEMP_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:TEMP_LOVALUE/text()) &lt;= number(./i5:TEMP_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="at" name="PRECISION_TEMP_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:TEMP_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:TEMP_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TRANSITION/PRECISION_TEMP_LOQUALIFIER/TEMP_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:PRECISION_TEMP_LOQUALIFIER/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="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="PRECISION_TEMP_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:TEMP_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TRANSITION/VALUEUNIT_VPS10_VALUE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_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:VPS10_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;1349&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;1954&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;2019&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;1740&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;139&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;2046&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;2121&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;1348&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS10_VALUE/i5:VPS10_UNIT[text() = &quot;1616&quot;]">
      <sch:assert test="normalize-space(../i5:VPS10_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS10_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS10_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TRANSITION/VALUEUNIT_VPS20_VALUE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_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:VPS20_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;1349&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;1954&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;2019&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;1740&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;139&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;2046&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;2121&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;1348&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:PC_VAPOUR/i5:TRANSITION/i5:set/i5:VALUEUNIT_VPS20_VALUE/i5:VPS20_UNIT[text() = &quot;1616&quot;]">
      <sch:assert test="normalize-space(../i5:VPS20_UNIT_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Transition / decomposition" name="TRANSITION" />
          <i5sch:field label="" name="VALUEUNIT_VPS20_VALUE" />
          <i5sch:messageID name="VALUEUNIT_PROP_UNIT_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:VPS20_UNIT_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
</sch:schema>

