MINI MINI MANI MO
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
NAME
ordcmdp.xsd - XML Schema for DICOM protocol documents.
MODIFIED (MM/DD/YY)
jiezhan 09/12/12 - special tag and admin docs
dnoblet 08/16/11 - Created
-->
<xs:schema xmlns="http://xmlns.oracle.com/ord/dicom/protocol_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/protocol_1_0"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<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 DICOM protocol document.
Structure Overview
Question mark "?" means optional items.
Plus "+" means one or more items.
Asterisk "*" means zero or more items.
DICOM_PROTOCOL
DOCUMENT_HEADER?
DOCUMENT_CHANGE_LOG*
DOCUMENT_MODIFIER
DOCUMENT_MODIFICATION_DATE
DOCUMENT_VERSION?
MODIFICATION_COMMENT?
BASE_DOCUMENT?
BASE_DOCUMENT_RELEASE_DATE?
BASE_DOCUMENT_DESCRIPTION?
STORAGE+
ATTRIBUTE*
DICOM*
METADATA*
PREVIEW*
The preceding element values specify the configuration required by the
Oracle DICOM Protocol Adapter Suite to serve DICOM protocol requests
based on user tables storing DICOM images and/or metadata.
</xs:documentation>
</xs:annotation>
<xs:simpleType name="table_name_t">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="261"/>
<xs:pattern value='(("[^"]+")|([a-zA-Z][a-zA-Z0-9_#$]*))([.](("[^"]+")|([a-zA-Z][a-zA-Z0-9_#$]*)))?'/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="column_name_t">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="130"/>
<xs:pattern value='("[^"]+")|([a-zA-Z][a-zA-Z0-9_#$]*)'/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="column_type_t">
<xs:restriction base="xs:string">
<xs:enumeration value="blob"/>
<xs:enumeration value="BLOB"/>
<xs:enumeration value="clob"/>
<xs:enumeration value="CLOB"/>
<xs:enumeration value="ORDImage"/>
<xs:enumeration value="ORDIMAGE"/>
<xs:enumeration value="ORDDicom"/>
<xs:enumeration value="ORDDICOM"/>
<xs:enumeration value="varchar2"/>
<xs:enumeration value="VARCHAR2"/>
<xs:enumeration value="date"/>
<xs:enumeration value="DATE"/>
<xs:enumeration value="number"/>
<xs:enumeration value="NUMBER"/>
<xs:enumeration value="XMLType"/>
<xs:enumeration value="XMLTYPE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="image_verb_t">
<xs:annotation>
<xs:documentation>
Specify the image transformation options when generating a DICOM image
preview.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="wado_link_t">
<xs:annotation>
<xs:documentation>
Specify an HTTP WADO link.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ORD_table_col_t">
<xs:attribute name="column" type="column_name_t" use="required"/>
<xs:attribute name="type" type="column_type_t" use="optional"/>
</xs:complexType>
<xs:complexType name="ORD_dicom_col_t">
<xs:annotation>
<xs:documentation>
Specify a column in a table that will be used to store a DICOM image
(either as ORDDicom or BLOB).
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ORD_table_col_t">
<xs:attribute name="retain" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ORD_metadata_col_t">
<xs:annotation>
<xs:documentation>
Specify a column in a table that will be used to store an XML-based
representation of the DICOM metadata corresponding to a DICOM image
(as XMLType).
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ORD_table_col_t"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ORD_preview_col_t">
<xs:annotation>
<xs:documentation>
Specify a column in a table will be used to store a non-DICOM image
(JPEG, TIFF, etc.) representation of a DICOM image (as ORDImage or
BLOB).
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ORD_table_col_t">
<xs:attribute name="options" type="image_verb_t" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ORD_attr_col_t">
<xs:annotation>
<xs:documentation>
Specify a column in a table will be used to store a value corresponding
to a given DICOM metadata tag.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ORD_table_col_t">
<xs:attribute name="tag" type="dt:AT" use="required"/>
<xs:attribute name="definer" type="dt:LO" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ORD_special_tag_col_t">
<xs:annotation>
<xs:documentation>
Specify a column in a table will be used to store a value corresponding
to a given DICOM metadata tag name.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ORD_table_col_t">
<xs:attribute name="tag_name" type="dt:LT" use="required"/>
<xs:attribute name="definer" type="dt:LO" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="ORD_mapping_doc_option_t">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL"/>
<xs:enumeration value="MAPPED"/>
<xs:enumeration value="STANDARD"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ORD_mapping_doc_t">
<xs:annotation>
<xs:documentation>
Specify the DICOM mapping documents for extracting metadata of those DICOM
stored in BLOB
</xs:documentation>
</xs:annotation>
<xs:attribute name="doc_type" use="required" type="xs:string" fixed="MAPPING"/>
<xs:attribute name="doc_name" use="required" type="table_name_t"/>
<xs:attribute name="doc_option" use="required" type="ORD_mapping_doc_option_t"/>
</xs:complexType>
<xs:complexType name="ORD_wado_col_t">
<xs:annotation>
<xs:documentation>
Specify a column in a table will be used to store a WADO link.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ORD_table_col_t">
<xs:attribute name="prefix" type="wado_link_t" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ORD_storage_t">
<xs:annotation>
<xs:documentation>
Specify the columns of a user table where DICOM images and/or metadata
are stored. When the corresponding instance of the Oracle DICOM
Protocol Adapter Suite receives a new image to store in Oracle Database,
it will populate the given columns of the specified user table.
Likewise, when the Oracle Protocol Adapter Suite serves a DICOM query
(usually C-FIND or C-MOVE), it will search the given columns of the
specified user table in order to return the DICOM image data or metadata
requested by the remote user.
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="DICOM" type="ORD_dicom_col_t"/>
<xs:element name="METADATA" type="ORD_metadata_col_t"/>
<xs:element name="PREVIEW" type="ORD_preview_col_t"/>
<xs:element name="ATTRIBUTE" type="ORD_attr_col_t"/>
<xs:element name="WADO" type="ORD_wado_col_t"/>
<xs:element name="SPECIAL_TAG" type="ORD_special_tag_col_t"/>
</xs:choice>
<xs:attribute name="table" use="required" type="table_name_t"/>
<xs:attribute name="id_col" use="required" type="column_name_t"/>
<xs:attribute name="ver_col" use="optional" type="column_name_t"/>
</xs:complexType>
<xs:complexType name="ORD_DICOM_PROTOCOL_t">
<xs:annotation>
<xs:documentation>
Specify the user tables where DICOM images and/or metadata are stored
that are accessible to the Oracle DICOM Protocol Adapter Suite. Each
"STORAGE" tag corresponds to a table where DICOM images and/or metadata
are stored.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="DOCUMENT_HEADER"
type="dt:DOCUMENT_HEADER_T" minOccurs="0"/>
<xs:element name="ADMIN_DOC"
type="ORD_mapping_doc_t" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="STORAGE"
type="ORD_storage_t" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="DICOM_PROTOCOL" type="ORD_DICOM_PROTOCOL_t"/>
</xs:schema>
OHA YOOOO