<?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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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="STUDY_TYPE/PHRASEOTHER_LIST_POP">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:STUDY_TYPE/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="Study type" name="STUDY_TYPE" />
          <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="Study type" name="STUDY_TYPE" />
          <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_EMISSION_PRESERVATIVE/i5:STUDY_TYPE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55069&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Study type" name="STUDY_TYPE" />
          <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="TEST_WATER/LIST_BELOW_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_WATER/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="Test water" name="TEST_WATER" />
          <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="GUIDELINE/QUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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_EMISSION_PRESERVATIVE/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="TYPE_FORMULATION/PHRASEOTHER_LIST_POP">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/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="Type of formulation" name="TYPE_FORMULATION" />
          <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="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55001&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55002&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;6024&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55003&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55004&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55005&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55006&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55007&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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_EMISSION_PRESERVATIVE/i5:TYPE_FORMULATION/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;6002&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Type of formulation" name="TYPE_FORMULATION" />
          <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="PRESERVATIVE/PHRASEOTHER_LIST_POP">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/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="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55008&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55009&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55010&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55011&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55012&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55013&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55014&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55015&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55016&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55017&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55018&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55019&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55020&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55021&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55022&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55023&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55024&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55025&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55026&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55027&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55028&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55029&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55030&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55031&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55032&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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_EMISSION_PRESERVATIVE/i5:PRESERVATIVE/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55033&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Preservative (specific and unique name or code)" name="PRESERVATIVE" />
          <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="ACTIVE_INGREDIENTS/PHRASEOTHER_LIST_POP">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/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="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55034&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55035&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55036&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55037&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55038&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55039&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55040&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55041&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55042&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55043&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55044&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55045&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55046&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55047&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55048&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55049&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55050&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55051&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55052&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55053&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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_EMISSION_PRESERVATIVE/i5:ACTIVE_INGREDIENTS/i5:set/i5:PHRASEOTHER_LIST_POP/i5:LIST_POP[text() = &quot;55054&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Active Ingredient(s) (trade or common name)" name="ACTIVE_INGREDIENTS" />
          <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="RETENTION/LIST_BELOW_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:RETENTION/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="Retention or loading specified for tested wood" name="RETENTION" />
          <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="APPLICATION_METHOD/LIST_BELOW_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:APPLICATION_METHOD/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="Application method" name="APPLICATION_METHOD" />
          <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="TEST_SPECIMENS/PHRASEOTHER_WS_LIST_POP">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_SPECIMENS/i5:set/i5:PHRASEOTHER_WS_LIST_POP/i5:WS_LIST_POP[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:WS_LIST_POP.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Wood species" name="PHRASEOTHER_WS_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:WS_LIST_POP.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:WS_LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Wood species" name="PHRASEOTHER_WS_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:WS_LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_SPECIMENS/i5:set/i5:PHRASEOTHER_WS_LIST_POP/i5:WS_LIST_POP[text() = &quot;55063&quot;]">
      <sch:assert test="normalize-space(../i5:WS_LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Wood species" name="PHRASEOTHER_WS_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:WS_LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_SPECIMENS/i5:set/i5:PHRASEOTHER_WS_LIST_POP/i5:WS_LIST_POP[text() = &quot;55064&quot;]">
      <sch:assert test="normalize-space(../i5:WS_LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Wood species" name="PHRASEOTHER_WS_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:WS_LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_SPECIMENS/i5:set/i5:PHRASEOTHER_WS_LIST_POP/i5:WS_LIST_POP[text() = &quot;55065&quot;]">
      <sch:assert test="normalize-space(../i5:WS_LIST_POP_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Wood species" name="PHRASEOTHER_WS_LIST_POP" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:WS_LIST_POP_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TEST_SPECIMENS/PRECISION_DENSITY_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_SPECIMENS/i5:set/i5:PRECISION_DENSITY_LOQUALIFIER[not(string(number(./i5:DENSITY_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:DENSITY_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:DENSITY_LOVALUE/text()) &lt;= number(./i5:DENSITY_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Density of the wood" name="PRECISION_DENSITY_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:DENSITY_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:DENSITY_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TEST_SPECIMENS/PRECISION_DENSITY_LOQUALIFIER/DENSITY_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_SPECIMENS/i5:set/i5:PRECISION_DENSITY_LOQUALIFIER/i5:DENSITY_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:DENSITY_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Density of the wood Unit" name="PRECISION_DENSITY_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:DENSITY_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TEST_SPECIMENS/PRECISION_GROWTH_RATE_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:TEST_SPECIMENS/i5:set/i5:PRECISION_GROWTH_RATE_LOQUALIFIER[not(string(number(./i5:GROWTH_RATE_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:GROWTH_RATE_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:GROWTH_RATE_LOVALUE/text()) &lt;= number(./i5:GROWTH_RATE_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Test specimens" name="TEST_SPECIMENS" />
          <i5sch:field label="Growth rate (number of annual rings per 10 mm)" name="PRECISION_GROWTH_RATE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:GROWTH_RATE_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:GROWTH_RATE_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="WATER_SAMPLES/TEMP_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:WATER_SAMPLES/i5:set/i5:TEMP_UNIT/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="Water samples" name="WATER_SAMPLES" />
          <i5sch:field label="Temperature of water samples Unit" name="TEMP_UNIT" />
          <i5sch:messageID name="PHRASE_PROP_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="LOADING_CONDITIONS/WOOD_WEIGHT_PER_WATER_VOLUME_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:LOADING_CONDITIONS/i5:set/i5:WOOD_WEIGHT_PER_WATER_VOLUME_UNIT/i5:WOOD_WEIGHT_PER_WATER_VOLUME_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:WOOD_WEIGHT_PER_WATER_VOLUME_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Loading conditions" name="LOADING_CONDITIONS" />
          <i5sch:field label="Ratio of wood weight per water volume Unit" name="WOOD_WEIGHT_PER_WATER_VOLUME_UNIT" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:WOOD_WEIGHT_PER_WATER_VOLUME_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="LOADING_CONDITIONS/WOOD_SURFACE_PER_WATER_VOLUME_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:LOADING_CONDITIONS/i5:set/i5:WOOD_SURFACE_PER_WATER_VOLUME_UNIT/i5:WOOD_SURFACE_PER_WATER_VOLUME_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:WOOD_SURFACE_PER_WATER_VOLUME_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Loading conditions" name="LOADING_CONDITIONS" />
          <i5sch:field label="Ratio of wood surface area to water volume Unit" name="WOOD_SURFACE_PER_WATER_VOLUME_UNIT" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:WOOD_SURFACE_PER_WATER_VOLUME_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="RETENTION_BLOCK/PRECISION_RETENTION_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:RETENTION_BLOCK/i5:set/i5:PRECISION_RETENTION_LOQUALIFIER[not(string(number(./i5:RETENTION_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:RETENTION_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:RETENTION_LOVALUE/text()) &lt;= number(./i5:RETENTION_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Retention" name="RETENTION_BLOCK" />
          <i5sch:field label="Retention" name="PRECISION_RETENTION_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:RETENTION_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:RETENTION_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="RETENTION_BLOCK/PRECISION_RETENTION_LOQUALIFIER/RETENTION_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:RETENTION_BLOCK/i5:set/i5:PRECISION_RETENTION_LOQUALIFIER/i5:RETENTION_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:RETENTION_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Retention" name="RETENTION_BLOCK" />
          <i5sch:field label="Retention Unit" name="PRECISION_RETENTION_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:RETENTION_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="LEACHING/TIME_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:LEACHING/i5:set/i5:TIME_UNIT/i5:TIME_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:TIME_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Leaching" name="LEACHING" />
          <i5sch:field label="Time Unit" name="TIME_UNIT" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:TIME_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="LEACHING/TYPE_OF_SPECIMEN">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:LEACHING/i5:set/i5:TYPE_OF_SPECIMEN/i5:TYPE_OF_SPECIMEN[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:TYPE_OF_SPECIMEN.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Leaching" name="LEACHING" />
          <i5sch:field label="Type of specimen" name="TYPE_OF_SPECIMEN" />
          <i5sch:messageID name="PHRASE_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:TYPE_OF_SPECIMEN.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="LEACHING/PRECISION_EMISSION_RATE_LOQUALIFIER">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:LEACHING/i5:set/i5:PRECISION_EMISSION_RATE_LOQUALIFIER[not(string(number(./i5:EMISSION_RATE_LOVALUE/text())) = &quot;NaN&quot; or string(number(./i5:EMISSION_RATE_UPVALUE/text())) = &quot;NaN&quot;)]">
      <sch:assert test="number(./i5:EMISSION_RATE_LOVALUE/text()) &lt;= number(./i5:EMISSION_RATE_UPVALUE/text())">
        <i5sch:error>
          <i5sch:block label="Leaching" name="LEACHING" />
          <i5sch:field label="Emission rate" name="PRECISION_EMISSION_RATE_LOQUALIFIER" />
          <i5sch:messageID name="PRECISION_PROP_LOVALUE_GREATER_THAN_UPVALUE" />
          <i5sch:value name="lovalue">
            <axsl:value-of select="./i5:EMISSION_RATE_LOVALUE/text()" />
          </i5sch:value>
          <i5sch:value name="upvalue">
            <axsl:value-of select="./i5:EMISSION_RATE_UPVALUE/text()" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="LEACHING/PRECISION_EMISSION_RATE_LOQUALIFIER/EMISSION_RATE_UNIT">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:LEACHING/i5:set/i5:PRECISION_EMISSION_RATE_LOQUALIFIER/i5:EMISSION_RATE_UNIT[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:EMISSION_RATE_UNIT.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Leaching" name="LEACHING" />
          <i5sch:field label="Emission rate unit" name="PRECISION_EMISSION_RATE_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:EMISSION_RATE_UNIT.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="VALIDITY_CRIT_FULFILLED/PHRASEOTHER_LIST_SEL_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:TO_EMISSION_PRESERVATIVE/i5:VALIDITY_CRIT_FULFILLED/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_FULFILLED" />
          <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>

