Validation of Non-TMS XML Files

CROs using a system other than TMS for dictionary coding should validate their XML files before sending them to the sponsor. Sponsors working with CROs operating without TMS should provide them with the following information about how to do this:

  1. Copy the schema text supplied (see Example B-3 below) into an .xsd file with an appropriate name such as dsi_sponsor.xsd.
  2. Modify the XML file you have created for export to the sponsor so that its TMSDSI element (at the top of the file) references the .xsd file. (You must remove this reference when you send the XML file to the sponsor.) For example:

    <TMSDSI

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:noNamespaceSchemaLocation="dsi_sponsor.xsd">

  3. Put the .xsd file into the same directory as the XML file.
  4. From that directory, if you are running on an Oracle database, invoke the Oracle tool oraxml to validate the XML file against the XML schema:

    oraxml -schema xmlfilename.xml

    This tool is included with Oracle Database. You must install the XML Toolkit. See the Oracle Database documentation for more information.

    If you are not running on an Oracle database, you can find a tool on the Internet for verifying XML files against XML schemas.

  5. If there are any errors, you must fix them. The sponsor cannot process the file if its XML structure is invalid for the TMS XML schema.

Example B-3 Sponsor Schema Validation Text

<?xml version="1.0" encoding="UTF-8"?>
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      TMS schema to validate DSI XML Files.
      Source data Import (Sponsor Extract)
      Copyright (c) 2004 Oracle Corporation. All rights reserved.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:element name="ACTION_OWNER" type="xsd:string"/>
  <xsd:element name="ACTION_TEXT" type="xsd:string"/>
  <xsd:element name="APPROVED_FLAG" type="xsd:string"/>
  <xsd:element name="CREATED_BY" type="xsd:string"/>
  <xsd:element name="DEF_DETAIL_VALUE"  type="xsd:string"/>
  <xsd:element name="DICTIONARY_SHORT_NAME" type="xsd:string"/>
  <xsd:element name="DICTIONARY_TERM" type="xsd:string"/>
  <xsd:element name="ERROR_ROW" type="xsd:string"/>
  <xsd:element name="DOMAIN_NAME" type="xsd:string"/>
  <xsd:element name="LABEL_TEXT_UPPER" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_1" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_2" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_3" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_4" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_5" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_6" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_7" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_8" type="xsd:string"/>
  <xsd:element name="GMT_DIFF" type="xsd:string"/>
  <xsd:element name="INSTANCE_NAME" type="xsd:string"/>
  <xsd:element name="INTEGRATION_KEY" type="xsd:string"/>
  <xsd:element name="OCCURRENCE_ID" type="xsd:integer"/>
  <xsd:element name="OMISSION_STATUS" type="xsd:string"/>
  <xsd:element name="SOURCE_TERM_ALT_KEY" type="xsd:string"/>
  <xsd:element name="SOURCE_TERM_ID" type="xsd:integer"/>
  <xsd:element name="STATUS"  type="xsd:string"/>
  <xsd:element name="VERBATIM_TERM" type="xsd:string"/>
  <xsd:element name="VT_SUBTYPE" type="xsd:string"/>
  <xsd:element name="VTA_CREATED_BY" type="xsd:string"/>
  <xsd:element name="VTI_CREATED_BY" type="xsd:string"/>  
  <xsd:element name="DICT_CONTENT_CODE" type="xsd:string"/>
  <xsd:element name="VTA_GLOBAL_FLAG" type="xsd:string"/>
  <xsd:element name="X_AREA" type="xsd:integer"/>
  <xsd:element name="X_AREA_NAME" type="xsd:string"/>
  <xsd:element name="WARNING_ROW" type="xsd:string"/>
  <xsd:attribute name="LOCAL_FLAG" type="xsd:string"/>
  <xsd:element name="TMSDSI">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="META_DATA" type="MetaDataType"/>
        <xsd:element name="ACCOUNTS" type="AccountRowType" minOccurs="0"/>
        <xsd:element name="VTA_DEL" type="VtaDelType" minOccurs="0"/>
        <xsd:element name="VTI_DEL" type="VtiDelType" minOccurs="0"/>
        <xsd:element name="VTA" type="VtaType" minOccurs="0"/>
        <xsd:element name="VTI" type="VtiType" minOccurs="0"/>
        <xsd:element name="VT" type="VtType" minOccurs="0"/>
        <xsd:element name="SOURCE_DATA" type="SourceDataType" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="MetaDataType">
    <xsd:sequence>
      <xsd:element name="INTEGRATION_KEY"/>
      <xsd:element name="INSTANCE_NAME"/>
      <xsd:element name="X_AREA"/>
      <xsd:element name="X_AREA_NAME"/>
      <xsd:element name="GMT_DIFF"/>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SourceDataRowType">
    <xsd:sequence maxOccurs="1" minOccurs="0">
      <xsd:element name="SOURCE_TERM_ID"/>
      <xsd:element name="OCCURRENCE_ID"/>
      <xsd:element name="OMISSION_STATUS" minOccurs="0"/>
      <xsd:element name="ACTION_TEXT" minOccurs="0"/>
      <xsd:element name="ACTION_OWNER" minOccurs="0">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SourceDataType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="SOURCE_DATA_ROW" type="SourceDataRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtaDelRowType">
    <xsd:sequence maxOccurs="1" minOccurs="0">
      <xsd:element name="DICTIONARY_SHORT_NAME"/>
      <xsd:element name="DOMAIN_NAME"/>
      <xsd:element name="VERBATIM_TERM"/>
      <xsd:element name="VTA_GLOBAL_FLAG"/>
      <xsd:element name="VTA_MODIFIED_BY">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
    <xsd:complexType name="VtiDelRowType">
    <xsd:sequence maxOccurs="1" minOccurs="0">
      <xsd:element name="DICTIONARY_SHORT_NAME"/>
      <xsd:element name="DOMAIN_NAME"/>
      <xsd:element name="VERBATIM_TERM"/>
      <xsd:element name="SOURCE_TERM_ID"/>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtaDelType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VTA_DEL_ROW" type="VtaDelRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtiDelType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VTI_DEL_ROW" type="VtiDelRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtaRowType">
    <xsd:sequence minOccurs="0">
      <xsd:element name="DICTIONARY_SHORT_NAME"/>
      <xsd:element name="DOMAIN_NAME"/>
      <xsd:element name="VERBATIM_TERM"/>
      <xsd:element name="VT_SUBTYPE" minOccurs="0"/>
      <xsd:element name="DICTIONARY_TERM" minOccurs="0"/>
      <xsd:element name="APPROVED_FLAG" minOccurs="0"/>
      <xsd:element name="VTA_GLOBAL_FLAG" minOccurs="0"/>
      <xsd:element name="VTA_CREATED_BY" minOccurs="0">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtiRowType">
    <xsd:sequence minOccurs="0">
      <xsd:element name="DICTIONARY_SHORT_NAME"/>
      <xsd:element name="DOMAIN_NAME"/>
      <xsd:element name="VERBATIM_TERM"/>
      <xsd:element name="SOURCE_TERM_ID"/>
      <xsd:element name="OCCURRENCE_ID"/>
      <xsd:element name="VT_SUBTYPE" minOccurs="0"/>
      <xsd:element name="DICTIONARY_TERM" minOccurs="0"/>
      <xsd:element name="DICT_CONTENT_CODE" minOccurs="0"/>      
      <xsd:element name="VTI_CREATED_BY" minOccurs="0">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>  
      </xsd:element>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>  
  <xsd:complexType name="VtaType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VTA_ROW" type="VtaRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtiType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VTI_ROW" type="VtiRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtNoteRowType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="LABEL_TEXT_UPPER"/>
      <xsd:element name="OCCURRENCE_ID"/>
      <xsd:element name="DEF_DETAIL_VALUE" minOccurs="0"/>
      <xsd:element name="CREATED_BY">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtNoteType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VT_NOTE_ROW" type="VtNoteRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtRowType">
    <xsd:sequence  maxOccurs="1" minOccurs="1">
      <xsd:element name="DICTIONARY_SHORT_NAME"/>
      <xsd:element name="DOMAIN_NAME"/>
      <xsd:element name="VERBATIM_TERM"/>
      <xsd:element name="VT_NOTE" type="VtNoteType"/>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VT_ROW" type="VtRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ErrorRowType">
    <xsd:sequence minOccurs="0">
      <xsd:element name="ERROR_ROW"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="WarningRowType">
    <xsd:sequence minOccurs="0">
      <xsd:element name="WARNING_ROW"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="AccountRowType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="OPA_ACCOUNT">
        <xsd:complexType mixed="true">
          <xsd:attribute name="FIRST_NAME" use="required"/>
          <xsd:attribute name="LAST_NAME" use="required"/>
          <xsd:attribute name="ENTRY_TS" use="required"/>
          <xsd:attribute name="END_TS" use="required"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Example B-4 Source Schema Validation Text

<?xml version="1.0" encoding="UTF-8"?>
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      TMS schema to validate DSI XML Files.
      Source data Export (Sponsor Import)
      Copyright (c) 2004 Oracle Corporation. All rights reserved.
    </xsd:documentation>
  </xsd:annotation>
  <xsd:element name="ACTION_OWNER" type="xsd:string"/>
  <xsd:element name="ACTION_TEXT" type="xsd:string"/>
  <xsd:element name="APPROVED_FLAG" type="xsd:string"/>
  <xsd:element name="CREATED_BY" type="xsd:string"/>
  <xsd:element name="DEF_DETAIL_VALUE"  type="xsd:string"/>
  <xsd:element name="DICTIONARY_SHORT_NAME" type="xsd:string"/>
  <xsd:element name="DICTIONARY_TERM" type="xsd:string"/>
  <xsd:element name="ERROR_ROW" type="xsd:string"/>
  <xsd:element name="DOMAIN_NAME" type="xsd:string"/>
  <xsd:element name="LABEL_TEXT_UPPER" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_1" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_2" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_3" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_4" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_5" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_6" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_7" type="xsd:string"/>
  <xsd:element name="EXT_VALUE_8" type="xsd:string"/>
  <xsd:element name="GMT_DIFF" type="xsd:string"/>
  <xsd:element name="INSTANCE_NAME" type="xsd:string"/>
  <xsd:element name="INTEGRATION_KEY" type="xsd:string"/>
  <xsd:element name="OCCURRENCE_ID" type="xsd:integer"/>
  <xsd:element name="OMISSION_STATUS" type="xsd:string"/>
  <xsd:element name="SOURCE_TERM_ALT_KEY" type="xsd:string"/>
  <xsd:element name="SOURCE_TERM_ID" type="xsd:integer"/>
  <xsd:element name="STATUS"  type="xsd:string"/>
  <xsd:element name="VERBATIM_TERM" type="xsd:string"/>
  <xsd:element name="VT_SUBTYPE" type="xsd:string"/>
  <xsd:element name="VT_TYPE" type="xsd:string"/>
  <xsd:element name="DICT_CONTENT_CODE" type="xsd:string"/>
  <xsd:element name="VTA_CREATED_BY" type="xsd:string"/>
  <xsd:element name="VTI_CREATED_BY" type="xsd:string"/>  
  <xsd:element name="VTA_GLOBAL_FLAG" type="xsd:string"/>
  <xsd:element name="X_AREA" type="xsd:integer"/>
  <xsd:element name="X_AREA_NAME" type="xsd:string"/>
  <xsd:element name="WARNING_ROW" type="xsd:string"/>
  <xsd:attribute name="LOCAL_FLAG" type="xsd:string"/>
  <xsd:element name="TMSDSI">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="META_DATA" type="MetaDataType"/>
        <xsd:element name="ACCOUNTS" type="AccountRowType" minOccurs="0"/>
        <xsd:element name="VT" type="VtType" minOccurs="0"/>
        <xsd:element name="SOURCE_DATA_DEL" type="SourceDataDelType" minOccurs="0"/>
        <xsd:element name="SOURCE_DATA" type="SourceDataType" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="MetaDataType">
    <xsd:sequence>
      <xsd:element name="INTEGRATION_KEY"/>
      <xsd:element name="INSTANCE_NAME"/>
      <xsd:element name="X_AREA"/>
      <xsd:element name="X_AREA_NAME"/>
      <xsd:element name="GMT_DIFF"/>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SourceDataRowType">
    <xsd:sequence maxOccurs="1" minOccurs="1">
      <xsd:element name="DICTIONARY_SHORT_NAME"/>
      <xsd:element name="DOMAIN_NAME"/>
      <xsd:element name="VERBATIM_TERM"/>
      <xsd:element name="DICTIONARY_TERM" minOccurs="0"/>
      <xsd:element name="DICT_CONTENT_CODE" minOccurs="0"/>
      <xsd:element name="VTA_GLOBAL_FLAG" minOccurs="0"/>
      <xsd:element name="VTA_CREATED_BY" minOccurs="0">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VT_SUBTYPE" minOccurs="0"/>
      <xsd:element name="VT_TYPE" minOccurs="0"/>      
      <xsd:element name="SOURCE_TERM_ID"/>
      <xsd:element name="OCCURRENCE_ID"/>
      <xsd:element name="SOURCE_TERM_ALT_KEY" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_1" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_2" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_3" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_4" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_5" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_6" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_7" minOccurs="0"/>
      <xsd:element name="EXT_VALUE_8" minOccurs="0"/>
      <xsd:element name="APPROVED_FLAG" minOccurs="0"/>
      <xsd:element name="OMISSION_STATUS" minOccurs="0"/>
      <xsd:element name="ACTION_TEXT" minOccurs="0"/>
      <xsd:element name="ACTION_OWNER" minOccurs="0">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SourceDataType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="SOURCE_DATA_ROW" type="SourceDataRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SourceDataDelRowType">
    <xsd:sequence maxOccurs="1" minOccurs="1">
      <xsd:element name="SOURCE_TERM_ID"/>
      <xsd:element name="OCCURRENCE_ID"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SourceDataDelType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="SOURCE_DATA_DEL_ROW" type="SourceDataDelRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtNoteRowType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="LABEL_TEXT_UPPER"/>
      <xsd:element name="OCCURRENCE_ID"/>
      <xsd:element name="DEF_DETAIL_VALUE" minOccurs="0"/>
      <xsd:element name="CREATED_BY">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute ref="LOCAL_FLAG"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtNoteType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VT_NOTE_ROW" type="VtNoteRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtRowType">
    <xsd:sequence  maxOccurs="1" minOccurs="1">
      <xsd:element name="DICTIONARY_SHORT_NAME"/>
      <xsd:element name="DOMAIN_NAME"/>
      <xsd:element name="VERBATIM_TERM"/>
      <xsd:element name="VT_NOTE" type="VtNoteType"/>
      <xsd:element name="ERROR" maxOccurs="unbounded" minOccurs="0" type="ErrorRowType"/>
      <xsd:element name="WARNING" maxOccurs="unbounded" minOccurs="0" type="WarningRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VtType">
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
      <xsd:element name="VT_ROW" type="VtRowType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ErrorRowType">
    <xsd:sequence minOccurs="0" maxOccurs="unbounded" >
      <xsd:element name="ERROR_ROW"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="WarningRowType">
    <xsd:sequence minOccurs="0" maxOccurs="unbounded" >
      <xsd:element name="WARNING_ROW"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="AccountRowType">
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="OPA_ACCOUNT">
        <xsd:complexType mixed="true">
          <xsd:attribute name="FIRST_NAME" use="required"/>
          <xsd:attribute name="LAST_NAME" use="required"/>
          <xsd:attribute name="ENTRY_TS" use="required"/>
          <xsd:attribute name="END_TS" use="required"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>