<?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="TARGETORGANISM/PHRASEOTHER_SCIENTIFIC_NAME">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:TARGETORGANISM/i5:set/i5:PHRASEOTHER_SCIENTIFIC_NAME/i5:SCIENTIFIC_NAME[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:SCIENTIFIC_NAME.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Target organisms" name="TARGETORGANISM" />
          <i5sch:field label="Scientific name" name="PHRASEOTHER_SCIENTIFIC_NAME" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:SCIENTIFIC_NAME.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TARGETORGANISM/PHRASEOTHER_COMMON_NAME">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:TARGETORGANISM/i5:set/i5:PHRASEOTHER_COMMON_NAME/i5:COMMON_NAME[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:COMMON_NAME.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Target organisms" name="TARGETORGANISM" />
          <i5sch:field label="Common name" name="PHRASEOTHER_COMMON_NAME" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:COMMON_NAME.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="TARGETORGANISM/PHRASEOTHER_DEVELSTAGE">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:TARGETORGANISM/i5:set/i5:PHRASEOTHER_DEVELSTAGE/i5:DEVELSTAGE[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:DEVELSTAGE.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Target organisms" name="TARGETORGANISM" />
          <i5sch:field label="Developm. stage" name="PHRASEOTHER_DEVELSTAGE" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_VALUE_FOUND" />
          <i5sch:value name="foundValue">
            <axsl:value-of select="normalize-space(../i5:DEVELSTAGE.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="FUNCTION/PHRASEOTHER_LIST_POP_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:FUNCTION/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="Function addressed" name="FUNCTION" />
          <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="PRODUCT_TYPE/PHRASEOTHER_LIST_SEL">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;NOT_SPECIFIED&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL.value/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <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.value/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_NOT_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1407&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1408&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1409&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1410&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1411&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1412&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1413&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1414&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1415&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1416&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1417&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1418&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1419&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1420&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1421&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1422&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1423&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1424&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1425&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1426&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1427&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1428&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:PRODUCT_TYPE/i5:set/i5:PHRASEOTHER_LIST_SEL/i5:LIST_SEL[text() = &quot;1429&quot;]">
      <sch:assert test="normalize-space(../i5:LIST_SEL_TXT/text()) = &quot;&quot;">
        <i5sch:error>
          <i5sch:block label="Product type" name="PRODUCT_TYPE" />
          <i5sch:field label="" name="PHRASEOTHER_LIST_SEL" />
          <i5sch:messageID name="PHRASEOTHER_PROP_VALUE_ID_SPECIFIED_BUT_OTHER_FOUND" />
          <i5sch:value name="otherValue">
            <axsl:value-of select="normalize-space(../i5:LIST_SEL_TXT/text())" />
          </i5sch:value>
        </i5sch:error>
      </sch:assert>
    </sch:rule>
  </sch:pattern>
  <sch:pattern name="APPLICATION_METHOD/PHRASEOTHER_LIST_POP_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:APPLICATION_METHOD/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="Method of application" name="APPLICATION_METHOD" />
          <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="MODE_ACTION/PHRASEOTHER_LIST_POP_FIX">
    <sch:rule context="/i5:EndpointStudyRecord/i5:scientificPart/i5:EF_EFFECTIVENESS/i5:MODE_ACTION/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="Mode of action" name="MODE_ACTION" />
          <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:schema>

