<?xml version="1.0" encoding="WINDOWS-1252"?>
<!-- Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.    NAME     ordcmpf.xsd - XML Schema for DICOM preference documents.   MODIFIED   (MM/DD/YY)   smavris     02/15/10   - Fix typo in ordcmpf.xsd   smavris     02/03/10   - Update with doc comments   fechen      01/07/10   - update validate_metadata description   jiezhan     09/25/09   - change max of XML_SKIP_ATTR   dnoblet     02/09/09   - add BINARY_SKIP_INVALID_ATTR   rabbott     12/19/08   - add SPECIFIC_CHARACTER_SET   myalavar    11/14/08   - add param SQ_WRITE_LEN   myalavar    11/03/08   - add PARSE_ERR to IGNORE_EXP_LIST   myalavar    10/28/08   - add param MANDATE_ATTR_TAGS_IN_STL   dolin       10/27/08   - add param MAX_RECURSION_DEPTH   dolin       06/06/07   - doc editor comments   dguo        05/18/07   - change product name   myalavar    04/10/07   - Review comments   dguo        03/03/2006 - Created-->
<xs:schema xmlns="http://xmlns.oracle.com/ord/dicom/preference_1_0" xmlns:dt="http://xmlns.oracle.com/ord/dicom/datatype_1_0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://xmlns.oracle.com/ord/dicom/preference_1_0" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:oraxdb="http://xmlns.oracle.com/xdb" oraxdb:storeVarrayAsTable="true" oraxdb:flags="2105651" oraxdb:schemaURL="http://xmlns.oracle.com/ord/dicom/preference_1_0" oraxdb:schemaOwner="ORDSYS" oraxdb:numProps="6">
  <xs:import namespace="http://xmlns.oracle.com/ord/dicom/datatype_1_0" schemaLocation="http://xmlns.oracle.com/ord/dicom/datatype_1_0"/>
  <xs:annotation>
    <xs:documentation>    Introduction      This schema defines the run-time preference settings for       Oracle Multimedia DICOM features.    Structure Overview      Question mark &quot;?&quot; means optional items.      Plus &quot;+&quot; means one or more items.      Asterisk &quot;*&quot; means zero or more items.      DICOM_RUNTIME_PREFERENCES        DOCUMENT_HEADER?          DOCUMENT_CHANGE_LOG*              DOCUMENT_MODIFIER              DOCUMENT_MODIFICATION_DATE              DOCUMENT_VERSION?              MODIFICATION_COMMENT?              BASE_DOCUMENT?              BASE_DOCUMENT_RELEASE_DATE?              BASE_DOCUMENT_DESCRIPTION?        PREFERENCE_DEF+          PARAMETER          DESCRIPTION          VALUE        The allowed values for the PARAMETER element of a         PREFERENCE_DEF entry and its corresponding         VALUE element are as follows:                PARAMETER: XML_SKIP_ATTR        VALUE: an integer type (default 512,  128~ 2^32-1)        DESCRIPTION: The value of this parameter specifies size limits for         DICOM attributes. Omit DICOM attributes with sizes (in bytes) in         the DICOM content larger than the value of this parameter. If an         attribute of type SQ is omitted, its child items are also omitted.         The smallest value allowed for this parameter is 128.                PARAMETER: AVG_ATTR_NUM        VALUE: an integer type (default 200, 20~2000)        DESCRIPTION: The value of this parameter specifies the average number        of root-level attributes expected for each DICOM Part 10 file.         Finding the optimal value for a database can help to improve storage         efficiency and performance. A value that is too large can result in         wasted memory, while a value that is too small can yield poor         performance. An optimal value is one where most (suggestion: 95%) of        the DICOM content contains fewer root-level attributes than the         value specified in this parameter.                 The smallest value allowed for this parameter is 20. The largest         value allowed for this parameter is the total number of defined, not         retired standard attributes.                PARAMETER: CONFORMANCE_LEVEL        VALUE: enum { leastConform, ignoreException(default), mostConform}        DESCRIPTION: The value of this parameter specifies how errors and        exceptions are handled by Oracle Multimedia DICOM.         - &quot;leastConform&quot; instructs all functions to ignore errors and           exceptions to maximize the processing of DICOM content.        - &quot;ignoreException&quot; instructs all functions to ignore the types of           exceptions given in the parameter &quot;IGNORED_EXP_LIST&quot;.        - &quot;mostConform&quot; instructs all functions to throw an exception when          encountering DICOM content that does not conform to the DICOM           standard.  This behavior does not include backward compatibility           cases that are allowed by the DICOM standard.                Note: Choosing an option other than &quot;mostConform&quot; might enable        some functions to accept invalid DICOM content, which could         produce incorrect results.  If you must choose an option other        than &quot;mostConform&quot;, Oracle recommends setting the value of the        LOGGING_LEVEL parameter to &quot;warning&quot; or a more detailed logging        level, and examining the log file for possible errors.                PARAMETER: IGNORED_EXP_LIST        VALUE: EmptySpace-separated exception names from the         following list:                {MISSING_MAGIC, MISSING_HEADER, MISSING_ATTR,                FAULTY_VALUE, INVALID_LENGTH,                 INVALID_VM, INVALID_VR, UNSUPPORT_VALUE,                UNDEFINED_VALUE, NOT_AN_IMAGE, PARSE_ERR}                        Default: {MISSING_ATTR INVALID_LENGTH MISSING_MAGIC                 MISSING_HEADER INVALID_VR INVALID_VM PARSE_ERR}.        DESCRIPTION: This parameter lists the exceptions to be ignored at        run time when the value of the CONFORMANCE_LEVEL parameter is         &quot;ignoreException&quot;. Ignored exceptions will be logged if the         LOGGING_LEVEL parameter is set to &quot;warning&quot; or a more detailed         level. The program will then continue, skipping the part of the         DICOM Part 10 file that triggered the ignored exception.                Possible values for this parameter are defined as follows:        - MISSING_MAGIC: a DICOM Part 10 file does not contain the file             magic number &quot;DICM&quot;.        - MISSING_HEADER: a DICOM Part 10 file does not have the file            meta header (not conformant to Part 10 of the DICOM standard)        - MISSING_ATTR: a DICOM Part 10 file does not have the mandatory            attributes (type 1) required by the DICOM standard.        - FAULTY_VALUE: a DICOM Part 10 file has an attribute value             that results in one or more parsing errors.        - INVALID_LENGTH: a DICOM Part 10 file contains a length value that             is not consistent with the DICOM encoding rules or a length             that is not permitted by the DICOM data dictionary.        - INVALID_VM: an attribute of a DICOM Part 10 file has an invalid             Value Multiplicity value (not consistent with the dictionary             definition).        - INVALID_VR: an attribute of a DICOM Part 10 file has an invalid             Value Representation value, which either conflicts with the data            dictionary or has not been defined by the data dictionary.        - UNSUPPORTED_VALUE: a DICOM Part 10 file contains attribute            values that are outside of the supported range;             for example, an unsupported pixel representation value.        - UNDEFINED_VALUE: a DICOM Part 10 file contains attribute            values that are not defined by the data model; for example,            an undefined transfer syntax UID, or an undefined SOP            class UID.        - NOT_AN_IMAGE: When an image content processing function is invoked             on a DICOM Part 10 file, and the SOP class UID is defined but             its classification is not &quot;storageClass&quot;, or its content type             is not &quot;image&quot;, an exception is thrown. The exception can             indicate that the UID definition document is out of date. If             so, an administrator can update the document, redefining the            SOP class UID as a &quot;storageClass&quot; of type &quot;image&quot;.        - PARSE_ERR: When a DICOM Part 10 file contains invalid data, a            parsing exception is thrown. When the exception is ignored, the            parsing process continues.                  PARAMETER: OUTPUT_RAW_VALUE        VALUE: an integer value (default 0, no output) (-1 ~ 32767)        DESCRIPTION: This parameter specifies what to output in an XML         metadata document when an attempt to parse DICOM content fails. The         VALUE element specifies what to save in the rawValue attribute of a         DICOM XML element, with the following options:         $VALUE == -1, (not recommended), the entire attribute, up to            32k, is saved in the rawValue attribute in base64 encoding.        $VALUE == 0, an empty string is saved in the rawValue            attribute (recommended for production systems).        $VALUE == N &gt; 0, only the first N bytes of the attribute are           saved in the rawValue attribute in base64 encoding.        A nonzero value for this parameter is useful for debugging         purposes. For a production system, do NOT pick a value        larger than 64. The value -1 should never be used outside of        a development environment.                PARAMETER: LOGGING_LEVEL        VALUE: enum {debug, conformance, warning(default), error, none }        DESCRIPTION:   This parameter specifies the logging level. Valid         values, ordered by level of detail from the most to the least, are:         &quot;debug&quot;, &quot;conformance&quot;, &quot;warning&quot;, &quot;error&quot;, and &quot;none&quot;.        - &quot;none&quot; means that logging is disabled.         - &quot;error&quot; enables logging of irrecoverable messages only.         - &quot;warning&quot; enables logging of all recoverable messages that require             operator attention. For example, calling an image processing             function on a DICOM Part 10 file that Oracle does not recognize             as an image produces a logged warning message that the content            is not defined as an image. Processing of the content can             continue, however, if the CONFORMANCE_LEVEL parameter value             &quot;ignoreException&quot; is set to ignore the exception &quot;NOT_AN_IMAGE&quot;.        - &quot;conformance&quot; enables logging of all errors and exceptions that            occur while processing DICOM content that does not conform to            the DICOM standard. Non-conformant DICOM content is common in             DICOM repositories that contain DICOM content from various             sources, such as a hospital or an imaging center. Using this             option can produce large log files for most scenarios, and might            decrease the performance.         - &quot;debug&quot; enables extensive logging of all steps. Use this option             only for debugging purposes. Do not use the &quot;debug&quot; option             for a deployed system. It adds significant overhead and slows             down all DICOM related functions.                PARAMETER: VALIDATE_METADATA        VALUE: Boolean{true, false(default)}        DESCRIPTION: The value of this parameter determines whether to         validate the XML documents used in the DICOM functions and         procedures. If the value of this parameter is false, the XML         documents are not validated. If the value is set to true, the         XML documents are validated against a specific XML schema that         is registered with Oracle XML DB.        All XML documents used in the DICOM functions and procedures,         except those that are generated by the method extractMetadata(),         are validated against the Oracle default DICOM metadata schema.         The XML documents generated by the method extractMetadata()         are validated against the XML schema whose namespace is defined         in the specified mapping document.                 PARAMETER: EXP_IF_NULL_ATTR_IN_CONSTRAINT        VALUE: Boolean{true(default), false}        DESCRIPTION: This parameter determines null or missing attribute        handling during conformance validation. When evaluating a constraint         predicate, if the value of this parameter is true, an exception is         thrown only if all of the following conditions are satisfied:        - the attribute being evaluated is missing, or has a null value        - there is no preceding &quot;notEmpty&quot; Boolean function predicate on           the attribute        If the value of this parameter is false, no exception is thrown.        This parameter affects the results of the method         isConformanceValid( ).                 PARAMETER: MAX_RECURSION_DEPTH        VALUE: an integer type (default 16, 1 ~ 32767)        DESCRIPTION: This parameter restricts the number of levels of         recursion when evaluating a recursive constraint on a DICOM Part 10        file. If the recursion level exceeds this number, an exception        is thrown.                  This parameter affects the results of the method         isConformanceValid( ).        PARAMETER: MANDATE_ATTR_TAGS_IN_STL         VALUE: Boolean{false(default), true}        DESCRIPTION: This parameter is used to enforce the rule that all tags         used by the constraint and mapping documents must be listed in the        STORED_TAG_LIST(STL) document. This rule is not enforced by default.        If this preference parameter is set to true, the rule is enforced.         If an existing STL document does not satisfy this rule, the         preference value cannot be set to true until the STL document is         deleted or updated.         PARAMETER: SQ_WRITE_LEN        VALUE: boolean{true(default), false}        DESCRIPTION: This parameter determines how the DICOM sequence (SQ)         types are encoded by the DICOM function writeMetadata().        If the value of this parameter is true, the SQ types are encoded        with explicit length and without item or sequence delimiters.        This is the default behavior and allows DICOM viewers to skip        the sequence attributes easily.        If the value of this parameter is false, the SQ types are encoded        with variable (or undefined) lengths and terminated with        sequence delimiters. This allows backward compatibility with some        older DICOM viewers and DICOM applications that only support        undefined lengths for SQ types.        PARAMETER: SPECIFIC_CHARACTER_SET        VALUE: enum {ASCII(default), ISO_IR 100, ISO_IR 101, ISO_IR 109,                      ISO_IR 110, ISO_IR 144, ISO_IR 127, ISO_IR 126,                     ISO_IR 138, ISO_IR 148, ISO_IR 13, ISO_IR 166,                     ISO_IR 192, GB18030}        DESCRIPTION: This parameter determines how data elements with value        representations of SH (Short String), LO (Long String), ST (Short Text)        LT (Long Text), PN (Person Name) or UT (Unlimited Text) are decoded        when the Specific Character Set (0008,0005) attribute is missing.        The DICOM standard states that the default character set (ISO-IR 6,         or ASCII) shall be used for decoding when the Specific Character Set         (0008,0005) attribute is not specified. This parameter allows an         application to specify a different character set to use in these         cases.        PARAMETER: BINARY_SKIP_INVALID_ATTR        VALUE: boolean{false(default), true}        DESCRIPTION: The value of this parameter determines whether Oracle         Multimedia DICOM includes or skips invalid attributes (attributes         that do not conform to the DICOM standard) and their values in the         binary output of DICOM content when making a copy of the DICOM         content. The default behavior, which is specified by setting this         parameter to &quot;false&quot;, is not to skip these values but to include         them in the resulting output. When an attribute is skipped, its         value is included in the output with length 0.   </xs:documentation>
  </xs:annotation>
  <xs:element name="DICOM_RUNTIME_PREFERENCES" oraxdb:propNumber="3242" oraxdb:global="true" oraxdb:SQLName="DICOM_RUNTIME_PREFERENCES" oraxdb:SQLType="DICOM_RUNTIME_PREFERENC510_T" oraxdb:SQLSchema="ORDSYS" oraxdb:memType="258">
    <xs:complexType oraxdb:SQLType="DICOM_RUNTIME_PREFERENC510_T" oraxdb:SQLSchema="ORDSYS">
      <xs:sequence>
        <xs:element name="DOCUMENT_HEADER" type="dt:DOCUMENT_HEADER_T" minOccurs="0" oraxdb:propNumber="3237" oraxdb:global="false" oraxdb:SQLName="DOCUMENT_HEADER" oraxdb:SQLType="DOCUMENT_HEADER_T314_T" oraxdb:SQLSchema="ORDSYS" oraxdb:memType="258" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
        <xs:element name="PREFERENCE_DEF" maxOccurs="unbounded" oraxdb:propNumber="3241" oraxdb:global="false" oraxdb:SQLName="PREFERENCE_DEF" oraxdb:SQLType="PREFERENCE_DEF511_T" oraxdb:SQLSchema="ORDSYS" oraxdb:memType="258" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false" oraxdb:SQLCollType="PREFERENCE_DEF512_COLL" oraxdb:SQLCollSchema="ORDSYS">
          <xs:annotation>
            <xs:documentation>                  Each PREFERENCE_DEF entry describes one parameter                  that a repository administrator may modify to adjust the                  run-time behavior of the DICOM functionality.            </xs:documentation>
          </xs:annotation>
          <xs:complexType oraxdb:SQLType="PREFERENCE_DEF511_T" oraxdb:SQLSchema="ORDSYS">
            <xs:sequence>
              <xs:element name="PARAMETER" type="dt:SHORT_ID_T" oraxdb:propNumber="3238" oraxdb:global="false" oraxdb:SQLName="PARAMETER" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="true" oraxdb:SQLInline="true" oraxdb:JavaInline="true"/>
              <xs:element name="DESCRIPTION" type="dt:SHORT_TEXT_T" minOccurs="0" oraxdb:propNumber="3239" oraxdb:global="false" oraxdb:SQLName="DESCRIPTION" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="true" oraxdb:SQLInline="true" oraxdb:JavaInline="true"/>
              <xs:element name="VALUE" oraxdb:propNumber="3240" oraxdb:global="false" oraxdb:SQLName="VALUE" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="true" oraxdb:SQLInline="true" oraxdb:JavaInline="true">
                <xs:simpleType>
                  <xs:restriction base="dt:SHORT_TEXT_T">
                    <xs:pattern value="[ 0-9_a-zA-Z]+"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
