This appendix describes the XML schemas used by the metadata methods of the ORDImage object type. These schemas are registered in Oracle Database when Oracle interMedia ("interMedia") is installed. The schemas may be examined by querying the dictionary view ALL_XML_SCHEMAS
. The schemas are also available as files located in the ord/xml/xsd
directory under <ORACLE_HOME>
.
The following XML schemas are described in this appendix:
For additional information about XML schemas, see the World Wide Web Consortium Web site at
See Oracle interMedia User's Guide for more information about the Metadata and DICOM features.
This schema is the content model for Digital Imaging and Communications in Medicine (DICOM) metadata retrieved from images. The namespace for this schema is http://xmlns.oracle.com/ord/meta/dicomImage
.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="http://xmlns.oracle.com/ord/meta/dicomImage" targetNamespace="http://xmlns.oracle.com/ord/meta/dicomImage" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:annotation> <xs:documentation> Introduction This schema defines the set of DICOM metadata published by Oracle interMedia ORDImage function getDicomMetadata(). The purpose of this set of functions is to extract from a DICOM image a set of attributes to describe the image in XML, allowing easy browsing and retrieval. Question mark "?" means optional items Structure Overview DICOM_IMAGE ORD_DICOM_HEADER VERSION DICOM_STANDARD_VERSION DICOM_STANDARD_RELEASE FILE_META_HEADER MEDIA_STORAGE_SOP_CLASS_UID MEDIA_STORAGE_SOP_INSTANCE_UID TRANSFER_SYNTAX_UID IMPLEMENTATION_CLASS_UID IMPLEMENTATION_VERSION_NAME SOURCE_APPLICATION_ENTITY_TITLE PATIENT NAME ID BIRTH_DATE SEX GENERAL_STUDY INSTANCE_UID DATE TIME REFERING_PHYSICIANS_NAME ID ACCESSION_NUMBER DESCRIPTION? PATIENT_STUDY? ADMITTING_DIAGNOSES_DESCRIPTION ADMITTING_DIAGNOSES_CODE_SEQUENCE GENERAL_SERIES MODALITY INSTANCE_UID DATE TIME PERFORMING_PHYSICIANS_NAME BODY_PART_EXAMINED PATIENT_POSITION PERFORMED_PROCEDURE_STEP_ID PERFORMED_PROCEDURE_STEP_START_DATE PERFORMED_PROCEDURE_STEP_START_TIME PERFORMED_PROCEDURE_STEP_DESCRIPTION PERFORMED_PROTOCOL_CODE_SEQUENCE GENERAL_EQUIPMENT? MANUFACTURER GENERAL_IMAGE? INSTANCE_NUMBER ACQUISITION_NUMBER ACQUISITION_DATE ACQUISITION_TIME ACQUISITION_DATETIME PATIENT_ORIENTATION FRAME_LATERALITY ANATOMIC_REGION IMAGE_PIXEL? SAMPLES_PER_PIXEL PHOTOMETRIC_INTERPRETATION ROWS COLUMNS BIT_ALLOCATED BIT_STORED HIGH_BIT PIXEL_REPRESENTATION PLANAR_CONFIGURATION PIXEL_ASPECT_RATIO SOP_COMMON CLASS_UID INSTANCE_UID SPECIFIC_CHARACTER_SET List of DICOM attribute tags appeared in this schema (0002, 0002) MEDIA_STORAGE_SOP_CLASS_UID (0002, 0003) MEDIA_STORAGE_SOP_INSTANCE_UID (0002, 0010) TRANSFER_SYNTAX_UID (0002, 0012) IMPLEMENTATION_CLASS_UID (0002, 0013) IMPLEMENTATION_VERSION_NAME (0002, 0016) SOURCE_APPLICATION_ENTITY_TITLE (0008, 0005) SPECIFIC_CHARACTER_SET (0008, 0016) SOP CLASS_UID (0008, 0018) SOP INSTANCE_UID (0008, 0020) STUDY DATE (0008, 0021) SERIES DATE (0008, 0022) ACQUISITION_DATE (0008, 002A) ACQUISITION_DATETIME (0008, 0030) STUDY TIME (0008, 0031) SERIES TIME (0008, 0032) ACQUISITION_TIME (0008, 0050) ACCESSION_NUMBER (0008, 0060) MODALITY (0008, 0070) MANUFACTURER (0008, 0090) REFERING_PHYSICIANS_NAME (0008, 1030) STUDY DESCRIPTION (0008, 1050) PERFORMING_PHYSICIANS_NAME (0008, 1080) ADMITTING_DIAGNOSES_DESCRIPTION (0008, 1084) ADMITTING_DIAGNOSES_CODE_SEQUENCE (0008, 2218) ANATOMIC_REGION (0010, 0010) PATIENT NAME (0010, 0020) PATIENT ID (0010, 0030) PATIENT BIRTH_DATE (0010, 0040) PATIENT SEX (0018, 0015) BODY_PART_EXAMINED (0018, 5100) PATIENT_POSITION (0020, 000D) STUDY INSTANCE_UID (0020, 000E) SERIES INSTANCE_UID (0020, 0010) STUDY ID (0020, 0012) ACQUISITION_NUMBER (0020, 0013) INSTANCE_NUMBER (0020, 0020) PATIENT_ORIENTATION (0020, 9072) FRAME_LATERALITY (0028, 0002) SAMPLES_PER_PIXEL (0028, 0004) PHOTOMETRIC_INTERPRETATION (0028, 0006) PLANAR_CONFIGURATION (0028, 0010) ROWS (0028, 0011) COLUMNS (0028, 0034) PIXEL_ASPECT_RATIO (0028, 0100) BIT_ALLOCATED (0028, 0101) BIT_STORED (0028, 0102) HIGH_BIT (0028, 0103) PIXEL_REPRESENTATION (0040, 0244) PERFORMED_PROCEDURE_STEP_START_DATE (0040, 0245) PERFORMED_PROCEDURE_STEP_START_TIME (0040, 0253) PERFORMED_PROCEDURE_STEP_ID (0040, 0254) PERFORMED_PROCEDURE_STEP_DESCRIPTION (0040, 0260) PERFORMED_PROTOCOL_CODE_SEQUENCE </xs:documentation> </xs:annotation> <xs:element name="DICOM_IMAGE"> <xs:complexType> <xs:sequence> <xs:element name="ORD_DICOM_HEADER"> <xs:complexType> <xs:sequence> <!-- XML document version number is "1.0" for database release 10gR2 --> <xs:element name="VERSION" type="SH"/> <!-- DICOM standard version this XML document is based on, for database 10gR2, it is "3" --> <xs:element name="DICOM_STANDARD_VERSION" type="SH"/> <!-- DICOM standard release this XML document is based on, for database 10gR2, it is "2003" --> <xs:element name="DICOM_STANDARD_RELEASE" type="SH"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="FILE_META_HEADER"> <xs:complexType> <xs:sequence> <!-- (0002, 0002), mandatory--> <xs:element name="MEDIA_STORAGE_SOP_CLASS_UID" type="UI"/> <!-- (0002, 0003), mandatory --> <xs:element name="MEDIA_STORAGE_SOP_INSTANCE_UID" type="UI"/> <!-- (0002, 0010), mandatory --> <xs:element name="TRANSFER_SYNTAX_UID" type="UI"/> <!-- (0002, 0012), mandatory --> <xs:element name="IMPLEMENTATION_CLASS_UID" type="UI"/> <!-- (0002, 0013), nullable --> <xs:element name="IMPLEMENTATION_VERSION_NAME" type="SH" minOccurs="0" nillable="true"/> <!-- (0002, 0016), nullable --> <xs:element name="SOURCE_APPLICATION_ENTITY_TITLE" type="AE" minOccurs="0" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PATIENT" minOccurs="0"> <xs:complexType> <xs:sequence> <!-- (0010, 0010), nullable --> <xs:element name="NAME" type="PN" minOccurs="0" nillable="true"/> <!-- (0010, 0020), nullable --> <xs:element name="ID" type="LO" minOccurs="0" nillable="true"/> <!-- (0010, 0030), nullable --> <xs:element name="BIRTH_DATE" type="DA" minOccurs="0" nillable="true"/> <!-- (0010, 0040), nullable --> <xs:element name="SEX" type="CS" minOccurs="0" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GENERAL_STUDY"> <xs:complexType> <xs:sequence> <!-- (0020, 000D) mandatory --> <xs:element name="INSTANCE_UID" type="UI"/> <!-- (0008, 0020), nullable --> <xs:element name="DATE" type="DA" minOccurs="0" nillable="true"/> <!-- (0008, 0030), nullable --> <xs:element name="TIME" type="TM" minOccurs="0" nillable="true"/> <!-- (0008, 0090), nullable --> <xs:element name="REFERING_PHYSICIANS_NAME" type="PN" minOccurs="0" nillable="true"/> <!-- (0020, 0010), nullable --> <xs:element name="ID" type="SH" minOccurs="0" nillable="true"/> <!-- (0008, 0050), nullable --> <xs:element name="ACCESSION_NUMBER" type="SH" minOccurs="0" nillable="true"/> <!-- (0008, 1030) optional --> <xs:element name="DESCRIPTION" type="LO" minOccurs="0" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PATIENT_STUDY" minOccurs="0"> <xs:complexType> <xs:sequence> <!-- (0008, 1080), optional --> <xs:element name="ADMITTING_DIAGNOSES_DESCRIPTION" type="LO" minOccurs="0" maxOccurs="unbounded" nillable="true"/> <!-- (0008, 1084), optional --> <xs:element name="ADMITTING_DIAGNOSES_CODE_SEQUENCE" type="CODE_SQ" minOccurs="0" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GENERAL_SERIES"> <xs:complexType> <xs:sequence> <!-- (0008, 0060), mandatory --> <xs:element name="MODALITY" type="CS"/> <!-- (0020, 000E), mandatory --> <xs:element name="INSTANCE_UID" type="UI"/> <!-- (0008, 0021), optional --> <xs:element name="DATE" type="DA" minOccurs="0" nillable="true"/> <!-- (0008, 0031), optional --> <xs:element name="TIME" type="TM" minOccurs="0" nillable="true"/> <!-- (0008, 1050), optional --> <xs:element name="PERFORMING_PHYSICIANS_NAME" type="PN" minOccurs="0" maxOccurs="unbounded" nillable="true"/> <!-- (0018, 0015), optional --> <!-- Note will not replace with modality specific values --> <xs:element name="BODY_PART_EXAMINED" type="CS" minOccurs="0" nillable="true"/> <!-- (0018, 5100), conditional --> <xs:element name="PATIENT_POSITION" type="CS" minOccurs="0" nillable="true"/> <!-- (0040, 0253), optional --> <xs:element name="PERFORMED_PROCEDURE_STEP_ID" type="SH" minOccurs="0" nillable="true"/> <!-- (0040, 0244), optional --> <xs:element name="PERFORMED_PROCEDURE_STEP_START_DATE" type="DA" minOccurs="0" nillable="true"/> <!-- (0040, 0245), optional --> <xs:element name="PERFORMED_PROCEDURE_STEP_START_TIME" type="TM" minOccurs="0" nillable="true"/> <!-- (0040, 0254), optional --> <xs:element name="PERFORMED_PROCEDURE_STEP_DESCRIPTION" type="LO" minOccurs="0" nillable="true"/> <!-- (0040, 0260), optional --> <xs:element name="PERFORMED_PROTOCOL_CODE_SEQUENCE" type="CODE_SQ" minOccurs="0" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GENERAL_EQUIPMENT" minOccurs="0"> <xs:complexType> <xs:sequence> <!-- (0008, 0070), nullable --> <xs:element name="MANUFACTURER" type="LO" minOccurs="0" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GENERAL_IMAGE" minOccurs="0"> <xs:complexType> <xs:sequence> <!-- (0020, 0013), nullable --> <xs:element name="INSTANCE_NUMBER" type="IS" minOccurs="0" nillable="true"/> <!-- (0020, 0012), optional --> <xs:element name="ACQUISITION_NUMBER" type="IS" minOccurs="0" nillable="true"/> <!-- (0008, 0022), optional --> <xs:element name="ACQUISITION_DATE" type="DA" minOccurs="0" nillable="true"/> <!-- (0008, 0032), optional --> <xs:element name="ACQUISITION_TIME" type="TM" minOccurs="0" nillable="true"/> <!-- (0008, 002A), optional --> <xs:element name="ACQUISITION_DATETIME" type="DT" minOccurs="0" nillable="true"/> <!-- (0020, 0020), conditional --> <xs:element name="PATIENT_ORIENTATION" type="CS" minOccurs="0" maxOccurs="2" nillable="true"/> <!-- (0020, 9072) conditional--> <xs:element name="FRAME_LATERALITY" type="CS" minOccurs="0" nillable="true"/> <!-- (0008, 2218) Frame anatomy macro, conditional --> <xs:element name="ANATOMIC_REGION" type="CODE_SQ" minOccurs="0" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="IMAGE_PIXEL" minOccurs="0"> <xs:complexType> <xs:sequence> <!-- (0028, 0002), mandatory --> <xs:element name="SAMPLES_PER_PIXEL" type="US" /> <!-- (0028, 0004), mandatory --> <xs:element name="PHOTOMETRIC_INTERPRETATION" type="CS" /> <!-- (0028, 0010), mandatory --> <xs:element name="ROWS" type="US" /> <!-- (0028, 0011), mandatory --> <xs:element name="COLUMNS" type="US" /> <!-- (0028, 0100), mandatory --> <xs:element name="BIT_ALLOCATED" type="US" /> <!-- (0028, 0101), mandatory --> <xs:element name="BIT_STORED" type="US" /> <!-- (0028, 0102), mandatory --> <xs:element name="HIGH_BIT" type="US" /> <!-- (0028, 0103), mandatory --> <xs:element name="PIXEL_REPRESENTATION" type="US" /> <!-- (7FE0, 0010) PIXEL_DATA, not included --> <!-- (0028, 0006), conditional --> <xs:element name="PLANAR_CONFIGURATION" type="US" minOccurs="0" nillable="true" /> <!-- (0028, 0034), conditional --> <xs:element name="PIXEL_ASPECT_RATIO" type="IS" minOccurs="0" maxOccurs="2" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SOP_COMMON"> <xs:complexType> <xs:sequence> <!-- (0008, 0016), mandatory --> <xs:element name="CLASS_UID" type="UI"/> <!-- (0008, 0018), mandatory --> <xs:element name="INSTANCE_UID" type="UI"/> <!-- (0008, 0005) --> <xs:element name="SPECIFIC_CHARACTER_SET" type="CS" minOccurs="0" maxOccurs="unbounded" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!-- Complex data type --> <!-- code sequence --> <xs:complexType name="CODE_SQ"> <xs:sequence> <xs:element name="CODE_SEQUENCE" type="CODE_SEQUENCE" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="CODE_SEQUENCE"> <xs:sequence> <xs:element name="ITEM_NUMBER" type="xs:positiveInteger"/> <xs:element name="CODE_VALUE" type="xs:string"/> <xs:element name="CODING_SCHEME" type="xs:string"/> <xs:element name="CODING_SCHEME_VERSION" type="xs:string" minOccurs="0"/> <xs:element name="CODING_MEANING" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <!-- Simple data types --> <!-- Application Entity --> <xs:simpleType name="AE"> <xs:restriction base="xs:string"> <xs:maxLength value="16"/> </xs:restriction> </xs:simpleType> <!-- Coded String --> <xs:simpleType name="CS"> <xs:restriction base="xs:token"> <xs:maxLength value="16"/> </xs:restriction> </xs:simpleType> <!-- DAte --> <xs:simpleType name="DA"> <xs:restriction base="xs:date"/> </xs:simpleType> <!-- DateTime --> <xs:simpleType name="DT"> <xs:restriction base="xs:dateTime"/> </xs:simpleType> <!-- Integer String --> <xs:simpleType name="IS"> <xs:restriction base="xs:integer"/> </xs:simpleType> <!-- LOng string --> <xs:simpleType name="LO"> <xs:restriction base="xs:string"> <xs:maxLength value="64"/> </xs:restriction> </xs:simpleType> <!-- Person Name --> <xs:simpleType name="PN"> <xs:restriction base="xs:token"> <xs:maxLength value="64"/> </xs:restriction> </xs:simpleType> <!-- SHort String --> <xs:simpleType name="SH"> <xs:restriction base="xs:string"> <xs:maxLength value="16"/> </xs:restriction> </xs:simpleType> <!-- Short String --> <xs:simpleType name="SS"> <xs:restriction base="xs:short"/> </xs:simpleType> <!-- TiMe --> <xs:simpleType name="TM"> <xs:restriction base="xs:time"/> </xs:simpleType> <!-- UId --> <xs:simpleType name="UI"> <xs:restriction base="xs:token"> <xs:maxLength value="64"/> <xs:pattern value='([0-9]+\.)*[0-9]+'/> </xs:restriction> </xs:simpleType> <!-- Unsigned Short --> <xs:simpleType name="US"> <xs:restriction base="xs:unsignedShort"/> </xs:simpleType> </xs:schema>
This schema is the content model for EXIF metadata retrieved from images. The namespace for this schema is http://xmlns.oracle.com/ord/meta/exif
.
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2004, 2005, Oracle. All rights reserved. --> <xsd:schema targetNamespace="http://xmlns.oracle.com/ord/meta/exif" xmlns="http://xmlns.oracle.com/ord/meta/exif" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> <xsd:annotation> <xsd:documentation> Introduction This is the Oracle interMedia schema for image metadata stored in the EXIF format for digital still cameras. This schema supports tags defined up to EXIF version 2.21 Metadata extracted only from the 0th IFD. For JPEG images, this means that the metadata comes from the main image in the file. Metadata is not extracted for the thumbnail image (1st IFD). Structure This schema defines a single global element exifMetadata which contains up to four child elements. Each child element contains tags from a TIFF IFD directory as defined by the EXIF standard. TiffIfd contains tags from the TIFF IFD. ExifIfd contains tags from the EXIF IFD. GpsIfd contains tags from the GPS IFD. InteroperabilityIfd contains tags from the Interoperability IFD. All elements that derive directly from EXIF tags contain a required "tag" attribute. The value of this attribute is the Tag ID value as defined in the EXIF standard. Unsupported tags The table below lists tags that are defined by the EXIF standard but which the current version of Oracle interMedia does not read from image files. Note that this schema does define data models for these tags and future versions of Oracle interMedia may parse these fields from image files. Those tags could be represented by documents conforming to this schema. These tags are from the TIFF IFD tag 301: TransferFunction tag 318: WhitePoint tag 319: PrimaryChromaticities tag 529: YCbCrCoefficients tag 532: ReferenceWhiteBlack tag 273: StripOffsets tag 278: RowsPerStrip tag 279: StripByteCounts tag 513: JPEGInterChangeFormat tag 514: JPEGInterChangeFormatLength These tags are from the EXIF IFD tag 34855: ISOSpeedRatings tag 34856: OECF tag 37396: SubjectArea tag 37500: MakerNote tag 41484: SpatialFrequencyResponse tag 41492: SubjectLocation tag 41730: CFAPattern tag 41995: DeviceSettingsDescription tag 42016: ImageUniqueID </xsd:documentation> </xsd:annotation> <!-- ATTRIBUTE DEFINITIONS --> <xsd:attributeGroup name="exifAttrs"> <xsd:annotation> <xsd:documentation> This attribute group defines a single attribute that is required for all elements. The tag attribute value is the TIFF tag value (in decimal) that is the datasource for the tag. </xsd:documentation> </xsd:annotation> <xsd:attribute name="tag" type="xsd:nonNegativeInteger" use="required"/> </xsd:attributeGroup> <!-- BASE TYPE DEFINITIONS Base types are formed from the simple XML schema types. Sometimes restrictions are added. They are extended with the required "tag" attribute --> <xsd:complexType name="positiveIntegerType"> <xsd:simpleContent> <xsd:extension base="xsd:positiveInteger"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="nonNegativeIntegerType"> <xsd:simpleContent> <xsd:extension base="xsd:nonNegativeInteger"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="stringType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="nonNegativeRealType"> <xsd:simpleContent> <xsd:extension base="nonNegativeReal"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="nonNegativeReal"> <xsd:restriction base="xsd:float"> <xsd:minInclusive value="0"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="realType"> <xsd:simpleContent> <xsd:extension base="xsd:float"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="dateType"> <xsd:simpleContent> <xsd:extension base="xsd:date"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="dateTimeType"> <xsd:simpleContent> <xsd:extension base="xsd:dateTime"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="timeType"> <xsd:simpleContent> <xsd:extension base="xsd:time"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- EXIF TYPE DEFINITIONS Generally these types are formed from a simple type that is restricted. The simple type is extended with the required 'tag' attribute These types form the basis for the document elements --> <xsd:complexType name="colorSpaceType"> <xsd:simpleContent> <xsd:extension base="colorSpace_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="colorSpace_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="sRGB"/> <xsd:enumeration value="Uncalibrated"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="exposureProgramType"> <xsd:simpleContent> <xsd:extension base="exposureProgram_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="exposureProgram_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Not defined"/> <xsd:enumeration value="Manual"/> <xsd:enumeration value="Normal program"/> <xsd:enumeration value="Aperture priority"/> <xsd:enumeration value="Shutter priority"/> <xsd:enumeration value="Creative program"/> <xsd:enumeration value="Action program"/> <xsd:enumeration value="Portrait mode"/> <xsd:enumeration value="Landscape mode"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="meteringModeType"> <xsd:simpleContent> <xsd:extension base="meteringMode_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="meteringMode_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="unknown"/> <xsd:enumeration value="Average"/> <xsd:enumeration value="Center Weighted Average"/> <xsd:enumeration value="Spot"/> <xsd:enumeration value="MultiSpot"/> <xsd:enumeration value="Pattern"/> <xsd:enumeration value="Partial"/> <xsd:enumeration value="other"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="lightSourceType"> <xsd:simpleContent> <xsd:extension base="lightSource_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="lightSource_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="unknown"/> <xsd:enumeration value="Daylight"/> <xsd:enumeration value="Fluorescent"/> <xsd:enumeration value="Tungsten"/> <xsd:enumeration value="Flash"/> <xsd:enumeration value="Fine weather"/> <xsd:enumeration value="Cloudy weather"/> <xsd:enumeration value="Shade"/> <xsd:enumeration value="Daylight fluorescent"/> <xsd:enumeration value="Day white fluorescent"/> <xsd:enumeration value="Cool white fluorescent"/> <xsd:enumeration value="Standard light A"/> <xsd:enumeration value="Standard light B"/> <xsd:enumeration value="Standard light C"/> <xsd:enumeration value="D55"/> <xsd:enumeration value="D65"/> <xsd:enumeration value="D75"/> <xsd:enumeration value="D50"/> <xsd:enumeration value="ISO studio tungsten"/> <xsd:enumeration value="other light source"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="flashType"> <xsd:sequence> <xsd:element name="Fired" type="yesNo_t"/> <xsd:element name="Return" type="flashReturn_t" minOccurs="0"/> <xsd:element name="Mode" type="flashMode_t" minOccurs="0"/> <xsd:element name="Function" type="yesNo_t" minOccurs="0"/> <xsd:element name="RedEyeReduction" type="yesNo_t" minOccurs="0"/> </xsd:sequence> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> <xsd:simpleType name="yesNo_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Yes"/> <xsd:enumeration value="No"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="flashReturn_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="No strobe return function"/> <xsd:enumeration value="Strobe return not detected"/> <xsd:enumeration value="Strobe return detected"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="flashMode_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="unknown"/> <xsd:enumeration value="Compulsory firing"/> <xsd:enumeration value="Compulsory suppression"/> <xsd:enumeration value="Auto"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="resolutionType"> <xsd:simpleContent> <xsd:extension base="resolution_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="resolution_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="inches"/> <xsd:enumeration value="centimeters"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="sensingMethodType"> <xsd:simpleContent> <xsd:extension base="sensingMethod_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="sensingMethod_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Not defined"/> <xsd:enumeration value="One-chip color area"/> <xsd:enumeration value="Two-chip color area"/> <xsd:enumeration value="Three-chip color area"/> <xsd:enumeration value="Color-sequential area"/> <xsd:enumeration value="Trilinear"/> <xsd:enumeration value="Color sequential linear"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="fileSourceType"> <xsd:simpleContent> <xsd:extension base="fileSource_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="fileSource_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="others"/> <xsd:enumeration value="scanner of transparent type"/> <xsd:enumeration value="scanner of reflex type"/> <xsd:enumeration value="DSC"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="bitsPerSampleType"> <xsd:simpleContent> <xsd:extension base="bitsPerSample_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="bitsPerSample_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="8,8,8"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="compressionType"> <xsd:simpleContent> <xsd:extension base="compression_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="compression_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="uncompressed"/> <xsd:enumeration value="JPEG"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="photometricInterpretationType"> <xsd:simpleContent> <xsd:extension base="photometricInterpretation_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="photometricInterpretation_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="RGB"/> <xsd:enumeration value="YCbCr"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="orientationType"> <xsd:simpleContent> <xsd:extension base="orientation_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="orientation_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="top left"/> <xsd:enumeration value="top right"/> <xsd:enumeration value="bottom right"/> <xsd:enumeration value="bottom left"/> <xsd:enumeration value="left top"/> <xsd:enumeration value="right top"/> <xsd:enumeration value="right bottom"/> <xsd:enumeration value="left bottom"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="planarConfigurationType"> <xsd:simpleContent> <xsd:extension base="planarConfiguration_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="planarConfiguration_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="chunky"/> <xsd:enumeration value="planar"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="yCbCrSubSamplingType"> <xsd:simpleContent> <xsd:extension base="yCbCrSubSampling_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="yCbCrSubSampling_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="4:2:2"/> <xsd:enumeration value="4:2:0"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="yCbCrPositioningType"> <xsd:simpleContent> <xsd:extension base="yCbCrPositioning_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="yCbCrPositioning_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="centered"/> <xsd:enumeration value="co-sited"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="stripOffsetsType"> <xsd:sequence> <xsd:element name="StripOffset" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="Index" type="xsd:nonNegativeInteger"/> <xsd:element name="Offset" type="xsd:positiveInteger"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> <xsd:complexType name="stripByteCountsType"> <xsd:sequence> <xsd:element name="StripByteCount" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="Index" type="xsd:nonNegativeInteger"/> <xsd:element name="Bytes" type="xsd:positiveInteger"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> <xsd:complexType name="whitePointType"> <xsd:complexContent> <xsd:extension base="chromaticity"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="primaryChromaticitiesType"> <xsd:sequence> <xsd:element name="Color_1" type="chromaticity"/> <xsd:element name="Color_2" type="chromaticity"/> <xsd:element name="Color_3" type="chromaticity"/> </xsd:sequence> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> <xsd:complexType name="chromaticity"> <xsd:sequence> <xsd:element name="X" type="nonNegativeReal"/> <xsd:element name="Y" type="nonNegativeReal"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="yCbCrCoefficientsType"> <xsd:sequence> <xsd:element name="Coefficient_1" type="nonNegativeReal"/> <xsd:element name="Coefficient_2" type="nonNegativeReal"/> <xsd:element name="Coefficient_3" type="nonNegativeReal"/> </xsd:sequence> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> <xsd:complexType name="subjectLocationType"> <xsd:sequence> <xsd:element name="CenterX" type="xsd:nonNegativeInteger"/> <xsd:element name="CenterY" type="xsd:nonNegativeInteger"/> </xsd:sequence> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> <xsd:complexType name="subjectAreaType"> <xsd:complexContent> <xsd:extension base="subjectLocationType"> <xsd:choice> <xsd:element name="Diameter" type="xsd:positiveInteger"/> <xsd:sequence> <xsd:element name="Width" type="xsd:positiveInteger"/> <xsd:element name="Height" type="xsd:positiveInteger"/> </xsd:sequence> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="customRenderedType"> <xsd:simpleContent> <xsd:extension base="customRendered_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="customRendered_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Normal process"/> <xsd:enumeration value="Custom process"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="exposureModeType"> <xsd:simpleContent> <xsd:extension base="exposureMode_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="exposureMode_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Auto exposure"/> <xsd:enumeration value="Manual exposure"/> <xsd:enumeration value="Auto bracket"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="whiteBalanceType"> <xsd:simpleContent> <xsd:extension base="whiteBalance_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="whiteBalance_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Auto"/> <xsd:enumeration value="Manual"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="sceneCaptureType"> <xsd:simpleContent> <xsd:extension base="sceneCapture_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="sceneCapture_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Standard"/> <xsd:enumeration value="Landscape"/> <xsd:enumeration value="Portrait"/> <xsd:enumeration value="Night scene"/> <xsd:enumeration value=""/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gainControlType"> <xsd:simpleContent> <xsd:extension base="gainControl_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gainControl_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="None"/> <xsd:enumeration value="Low gain up"/> <xsd:enumeration value="High gain up"/> <xsd:enumeration value="Low gain down"/> <xsd:enumeration value="High gain down"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="contrastType"> <xsd:simpleContent> <xsd:extension base="contrast_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="contrast_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Normal"/> <xsd:enumeration value="Soft"/> <xsd:enumeration value="Hard"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="saturationType"> <xsd:simpleContent> <xsd:extension base="saturation_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="saturation_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Normal"/> <xsd:enumeration value="Low saturation"/> <xsd:enumeration value="High saturation"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="sharpnessType"> <xsd:simpleContent> <xsd:extension base="contrast_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="subjectDistanceRangeType"> <xsd:simpleContent> <xsd:extension base="subjectDistanceRange_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="subjectDistanceRange_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="unknown"/> <xsd:enumeration value="Macro"/> <xsd:enumeration value="Close view"/> <xsd:enumeration value="Distant view"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="uuidType"> <xsd:simpleContent> <xsd:extension base="uuid_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="uuid_t"> <xsd:restriction base="xsd:hexBinary"> <xsd:pattern value=".{8}-.{4}-.{4}-.{4}-.{12}"/> </xsd:restriction> </xsd:simpleType> <!-- TYPES FOR THE GPS IFD --> <xsd:complexType name="gpsLatitudeRefType"> <xsd:simpleContent> <xsd:extension base="gpsLatitudeRef_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsLatitudeRef_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="North latitude"/> <xsd:enumeration value="South latitude"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsAltitudeRefType"> <xsd:simpleContent> <xsd:extension base="gpsAltitudeRef_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsAltitudeRef_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Sea level"/> <xsd:enumeration value="Sea level reference"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsLatitudeType"> <xsd:simpleContent> <xsd:extension base="gpsLatitude_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsLatitude_t"> <xsd:restriction base="xsd:float"> <xsd:minInclusive value="0.0"/> <xsd:maxInclusive value="90.0"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsLongitudeRefType"> <xsd:simpleContent> <xsd:extension base="gpsLongitudeRef_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsLongitudeRef_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="East longitude"/> <xsd:enumeration value="West longitude"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsLongitudeType"> <xsd:simpleContent> <xsd:extension base="gpsLongitude_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsLongitude_t"> <xsd:restriction base="xsd:float"> <xsd:minInclusive value="0.0"/> <xsd:maxInclusive value="180.0"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsBearingType"> <xsd:simpleContent> <xsd:extension base="gpsBearing_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsBearing_t"> <xsd:restriction base="xsd:float"> <xsd:minInclusive value="0.0"/> <xsd:maxExclusive value="360.0"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsStatusType"> <xsd:simpleContent> <xsd:extension base="gpsStatus_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsStatus_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Measurement in progress"/> <xsd:enumeration value="Measurement interoperability"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsMeasureModeType"> <xsd:simpleContent> <xsd:extension base="gpsMeasureMode_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsMeasureMode_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="2-dimensional measurement"/> <xsd:enumeration value="3-dimensional measurement"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsSpeedRefType"> <xsd:simpleContent> <xsd:extension base="gpsSpeedRef_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsSpeedRef_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Kilometers per hour"/> <xsd:enumeration value="Miles per hour"/> <xsd:enumeration value="Knots"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsDirectionType"> <xsd:simpleContent> <xsd:extension base="gpsDirection_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsDirection_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="True direction"/> <xsd:enumeration value="Magnetic direction"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsDistanceRefType"> <xsd:simpleContent> <xsd:extension base="gpsDistanceRef_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsDistanceRef_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Kilometers"/> <xsd:enumeration value="Miles"/> <xsd:enumeration value="Knots"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="gpsDifferentialType"> <xsd:simpleContent> <xsd:extension base="gpsDifferential_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="gpsDifferential_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Measurement without differential correction"/> <xsd:enumeration value="Differential correction applied"/> </xsd:restriction> </xsd:simpleType> <!-- TYPES FOR THE INTEROPERABILTY IFD --> <xsd:complexType name="interoperabilityType"> <xsd:simpleContent> <xsd:extension base="interoperability_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="interoperability_t"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="R98"/> <xsd:enumeration value="THM"/> <xsd:enumeration value="R03"/> </xsd:restriction> </xsd:simpleType> <!-- GENERIC TYPE A generic type to hold any type of tag data. Defines a name, value, datatype triplet Datatype values refer to types as defined by XML Schema. singleFieldType is for EXIF tag that define a single value, the common case. repeatedFieldTyp is for the uncommon case where many data items are defined in an EXIF tag. --> <xsd:complexType name="singleFieldType"> <xsd:complexContent> <xsd:extension base="singleField_t"> <xsd:attributeGroup ref="exifAttrs"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="repeatedFieldType"> <xsd:sequence> <xsd:element name="Field" type="singleField_t" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> <xsd:complexType name="singleField_t"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Value" type="xsd:string"/> <xsd:element name="Datatype"> <xsd:simpleType> <xsd:annotation> <xsd:documentation>The enumerated datatype values refer to types defined by XML Schema </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:string"> <xsd:enumeration value="string"/> <xsd:enumeration value="integer"/> <xsd:enumeration value="float"/> <xsd:enumeration value="date"/> <xsd:enumeration value="time"/> <xsd:enumeration value="dateTime"/> <xsd:enumeration value="hexBinary"/> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> <!-- END TYPE DEFINITIONS --> <!-- THE GLOBAL ELEMENT --> <xsd:element name="exifMetadata"> <xsd:complexType> <xsd:sequence> <xsd:element name="TiffIfd" minOccurs="0"> <xsd:annotation> <xsd:documentation>Tags from the TIFF IFD</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:all> <!-- Tags relating to image data structure --> <xsd:element name="ImageWidth" type="positiveIntegerType" minOccurs="0"/> <xsd:element name="ImageLength" type="positiveIntegerType" minOccurs="0"/> <xsd:element name="BitsPerSample" type="bitsPerSampleType" minOccurs="0"/> <xsd:element name="Compression" type="compressionType" minOccurs="0"/> <xsd:element name="PhotometricInterpretation" type="photometricInterpretationType" minOccurs="0"/> <xsd:element name="Orientation" type="orientationType" minOccurs="0"/> <xsd:element name="SamplesPerPixel" type="positiveIntegerType" minOccurs="0"/> <xsd:element name="PlanarConfiguration" type="planarConfigurationType" minOccurs="0"/> <xsd:element name="YCbCrSubSampling" type="yCbCrSubSamplingType" minOccurs="0"/> <xsd:element name="YCbCrPositioning" type="yCbCrPositioningType" minOccurs="0"/> <xsd:element name="XResolution" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>Unit is pixels per ResolutionUnit</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="YResolution" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>Unit is pixels per Resolution Unit</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ResolutionUnit" type="resolutionType" minOccurs="0"/> <!--Tags relating to recording offset --> <xsd:element name="StripOffsets" type="stripOffsetsType" minOccurs="0"/> <xsd:element name="RowsPerStrip" type="positiveIntegerType" minOccurs="0"/> <xsd:element name="StripByteCounts" type="stripByteCountsType" minOccurs="0"/> <xsd:element name="JPEGInterChangeFormat" type="positiveIntegerType" minOccurs="0"/> <xsd:element name="JPEGInterChangeFormatLength" type="positiveIntegerType" minOccurs="0"/> <!-- Tags relating to image data characteristics --> <xsd:element name="TransferFunction" type="xsd:anyType" minOccurs="0"/> <xsd:element name="WhitePoint" type="whitePointType" minOccurs="0"/> <xsd:element name="PrimaryChromaticities" type="primaryChromaticitiesType" minOccurs="0"/> <xsd:element name="YCbCrCoefficients" type="yCbCrCoefficientsType" minOccurs="0"/> <xsd:element name="ReferenceBlackWhite" type="primaryChromaticitiesType" minOccurs="0"/> <!--Other tags --> <xsd:element name="DateTime" type="dateTimeType" minOccurs="0"/> <xsd:element name="ImageDescription" type="stringType" minOccurs="0"/> <xsd:element name="Make" type="stringType" minOccurs="0"/> <xsd:element name="Model" type="stringType" minOccurs="0"/> <xsd:element name="Software" type="stringType" minOccurs="0"/> <xsd:element name="Artist" type="stringType" minOccurs="0"/> <xsd:element name="Copyright" type="stringType" minOccurs="0"/> <!-- Placeholder tags for future tags that may be defined --> <xsd:element name="TiffField1" type="singleFieldType" minOccurs="0"/> <xsd:element name="TiffField2" type="singleFieldType" minOccurs="0"/> <xsd:element name="TiffField3" type="repeatedFieldType" minOccurs="0"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="ExifIfd"> <xsd:annotation> <xsd:documentation>Tags from the EXIF IFD</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:all> <!-- Tags releating to version --> <xsd:element name="ExifVersion" type="stringType" minOccurs="0"/> <xsd:element name="FlashpixVersion" type="stringType" minOccurs="0"/> <!-- Tags relating to image data characteristics --> <xsd:element name="ColorSpace" type="colorSpaceType" minOccurs="0"/> <!-- Tags relating to image configuration --> <xsd:element name="ComponentsConfiguration" type="stringType" minOccurs="0"/> <xsd:element name="CompressedBitsPerPixel" type="nonNegativeRealType" minOccurs="0"/> <xsd:element name="PixelXDimension" type="nonNegativeIntegerType" minOccurs="0"/> <xsd:element name="PixelYDimension" type="nonNegativeIntegerType" minOccurs="0"/> <!-- Tags relating to user information --> <xsd:element name="MakerNote" type="repeatedFieldType" minOccurs="0"/> <xsd:element name="UserComment" type="stringType" minOccurs="0"/> <!-- Tag relating to related file information --> <xsd:element name="RelatedSoundFile" type="stringType" minOccurs="0"/> <!-- Tags relating to date and time --> <xsd:element name="DateTimeOriginal" type="dateTimeType" minOccurs="0"/> <xsd:element name="DateTimeDigitized" type="dateTimeType" minOccurs="0"/> <xsd:element name="SubSecTime" type="nonNegativeIntegerType" minOccurs="0"/> <xsd:element name="SubSecTimeOriginal" type="nonNegativeIntegerType" minOccurs="0"/> <xsd:element name="SubSecTimeDigitized" type="nonNegativeIntegerType" minOccurs="0"/> <!-- Tags relating to picture taking conditions --> <xsd:element name="ExposureTime" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>Units is seconds</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="FNumber" type="nonNegativeRealType" minOccurs="0"/> <xsd:element name="ExposureProgram" type="exposureProgramType" minOccurs="0"/> <xsd:element name="SpectralSensitivity" type="stringType" minOccurs="0"/> <xsd:element name="ISOSpeedRatings" type="nonNegativeIntegerType" minOccurs="0"/> <xsd:element name="OECF" type="repeatedFieldType" minOccurs="0"/> <xsd:element name="ShutterSpeedValue" type="realType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is the APEX Value</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ApertureValue" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is the APEX value</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="BrightnessValue" type="realType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is the APEX value</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ExposureBiasValue" type="realType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is the APEX value</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="MaxApertureValue" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is the APEX value</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="SubjectDistance" type="stringType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is meters</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="MeteringMode" type="meteringModeType" minOccurs="0"/> <xsd:element name="LightSource" type="lightSourceType" minOccurs="0"/> <xsd:element name="Flash" type="flashType" minOccurs="0"/> <xsd:element name="FocalLength" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is millimeters.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="SubjectArea" type="subjectAreaType" minOccurs="0"/> <xsd:element name="FlashEnergy" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is Beam Candle Power Seconds</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="SpatialFrequencyResponse" type="repeatedFieldType" minOccurs="0"> <xsd:annotation> <xsd:documentation>Not implemented</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="FocalPlaneXResolution" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is pixels</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="FocalPlaneYResolution" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>The unit is pixels</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="FocalPlaneResolutionUnit" type="resolutionType" minOccurs="0"/> <xsd:element name="SubjectLocation" type="subjectLocationType" minOccurs="0"/> <xsd:element name="ExposureIndex" type="nonNegativeRealType" minOccurs="0"/> <xsd:element name="SensingMethod" type="sensingMethodType" minOccurs="0"/> <xsd:element name="FileSource" type="fileSourceType" minOccurs="0"/> <xsd:element name="SceneType" type="stringType" minOccurs="0"/> <xsd:element name="CFAPattern" type="repeatedFieldType" minOccurs="0"/> <xsd:element name="CustomRendered" type="customRenderedType" minOccurs="0"/> <xsd:element name="ExposureMode" type="exposureModeType" minOccurs="0"/> <xsd:element name="WhiteBalance" type="whiteBalanceType" minOccurs="0"/> <xsd:element name="DigitalZoomRatio" type="nonNegativeRealType" minOccurs="0"/> <xsd:element name="FocalLengthIn35mmFilm" type="positiveIntegerType" minOccurs="0"/> <xsd:element name="SceneCaptureType" type="sceneCaptureType" minOccurs="0"/> <xsd:element name="GainControl" type="gainControlType" minOccurs="0"/> <xsd:element name="Contrast" type="contrastType" minOccurs="0"/> <xsd:element name="Saturation" type="saturationType" minOccurs="0"/> <xsd:element name="Sharpness" type="sharpnessType" minOccurs="0"/> <xsd:element name="DeviceSettingDescription" type="repeatedFieldType" minOccurs="0"/> <xsd:element name="SubjectDistanceRange" type="subjectDistanceRangeType" minOccurs="0"/> <xsd:element name="ImageUniqueID" type="uuidType" minOccurs="0"/> <xsd:element name="Gamma" type="nonNegativeRealType" minOccurs="0"/> <!-- Placeholder tags for future tags that may be defined --> <xsd:element name="ExifField1" type="singleFieldType" minOccurs="0"/> <xsd:element name="ExifField2" type="singleFieldType" minOccurs="0"/> <xsd:element name="ExifField3" type="repeatedFieldType" minOccurs="0"/> </xsd:all> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> </xsd:element> <xsd:element name="GpsIfd" minOccurs="0"> <xsd:annotation> <xsd:documentation>Tags from the GPS IFD</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:all> <xsd:element name="GPSVersionID" type="stringType"/> <xsd:element name="GPSLatitudeRef" type="gpsLatitudeRefType" minOccurs="0"/> <xsd:element name="GPSLatitude" type="gpsLatitudeType" minOccurs="0"> <xsd:annotation> <xsd:documentation>Unit is decimal degrees</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="GPSLongitudeRef" type="gpsLongitudeRefType" minOccurs="0"/> <xsd:element name="GPSLongitude" type="gpsLongitudeType" minOccurs="0"> <xsd:annotation> <xsd:documentation>Unit is decimal degrees</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="GPSAltitudeRef" type="gpsAltitudeRefType" minOccurs="0"/> <xsd:element name="GPSAltitude" type="nonNegativeRealType" minOccurs="0"> <xsd:annotation> <xsd:documentation>Unit is meters</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="GPSTimeStamp" type="timeType" minOccurs="0"/> <xsd:element name="GPSSatellites" type="stringType" minOccurs="0"/> <xsd:element name="GPSStatus" type="gpsStatusType" minOccurs="0"/> <xsd:element name="GPSMeasureMode" type="gpsMeasureModeType" minOccurs="0"/> <xsd:element name="GPSDOP" type="nonNegativeRealType" minOccurs="0"/> <xsd:element name="GPSSpeedRef" type="gpsSpeedRefType" minOccurs="0"/> <xsd:element name="GPSSpeed" type="nonNegativeRealType" minOccurs="0"/> <xsd:element name="GPSTrackRef" type="gpsDirectionType" minOccurs="0"/> <xsd:element name="GPSTrack" type="gpsBearingType" minOccurs="0"/> <xsd:element name="GPSImgDirectionRef" type="gpsDirectionType" minOccurs="0"/> <xsd:element name="GPSImgDirection" type="gpsBearingType" minOccurs="0"/> <xsd:element name="GPSMapDatum" type="stringType" minOccurs="0"/> <xsd:element name="GPSDestLatitudeRef" type="gpsLatitudeRefType" minOccurs="0"/> <xsd:element name="GPSDestLatitude" type="gpsLatitudeType" minOccurs="0"/> <xsd:element name="GPSDestLongitudeRef" type="gpsLongitudeRefType" minOccurs="0"/> <xsd:element name="GPSDestLongitude" type="gpsLongitudeType" minOccurs="0"/> <xsd:element name="GPSDestBearingRef" type="gpsDirectionType" minOccurs="0"/> <xsd:element name="GPSDestBearing" type="gpsBearingType" minOccurs="0"/> <xsd:element name="GPSDestDistanceRef" type="gpsDistanceRefType" minOccurs="0"/> <xsd:element name="GPSDestDistance" type="nonNegativeRealType" minOccurs="0"/> <xsd:element name="GPSProcessingMethod" type="stringType" minOccurs="0"/> <xsd:element name="GPSAreaInformation" type="stringType" minOccurs="0"/> <xsd:element name="GPSDateStamp" type="dateType" minOccurs="0"/> <xsd:element name="GPSDifferential" type="gpsDifferentialType" minOccurs="0"/> <!-- Placeholder tags for future tags that may be defined --> <xsd:element name="GPSField1" type="singleFieldType" minOccurs="0"/> <xsd:element name="GPSField2" type="singleFieldType" minOccurs="0"/> <xsd:element name="GPSField3" type="repeatedFieldType" minOccurs="0"/> </xsd:all> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> </xsd:element> <xsd:element name="InteroperabilityIfd" minOccurs="0"> <xsd:annotation> <xsd:documentation>Tags from the Interoperability IFD</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:all> <xsd:element name="InteroperabilityIndex" type="interoperabilityType" minOccurs="0"/> </xsd:all> <xsd:attributeGroup ref="exifAttrs"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
This schema is the content model for IPTC-IIM metadata retrieved from images. The namespace for this schema is http://xmlns.oracle.com/ord/meta/iptc
.
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2004, 2005, Oracle. All rights reserved. --> <xsd:schema xmlns="http://xmlns.oracle.com/ord/meta/iptc" targetNamespace="http://xmlns.oracle.com/ord/meta/iptc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:annotation> <xsd:documentation> Introduction This is the Oracle interMedia schema for metadata stored in Application record sets of the IPTC-NAA Information Interchange Model Version 4. This metadata is often referred to as 'IPTC' tags. For the JPEG file format, IPTC metadata is parsed from the APP13 marker. For the TIFF file format, IPTC metadata is parsed from tag 33723. All tags with string values are decoded using the ISO-8859-1 character set. The resulting strings may contain characters that are legal in the character set but are illegal in XML documents. Illegal XML characters are replaced with the space (0x20) character. Supported datasets The following datasets from the application record are extracted. 2:00 recordVersion 2:05 objectName 2:07 editStatus 2:10 urgency 2:15 category 2:20 supplementalCategory 2:22 fixtureIdentifer 2:25 keyword 2:26 contentLocation:code 2:27 contentLocation:name 2:40 instructions 2:55 dateCreated 2:60 timeCreated 2:62 digitalCreationDate 2:63 digitalCreationTime 2:80 byline:author 2:85 byline:authorTitle 2:90 city 2:92 subLocation 2:95 provinceState 2:100 country 2:101 location 2:103 transmissionReference 2:105 headline 2:110 credit 2:115 source 2:116 copyright 2:118 contact 2:120 caption 2:122 captionWriter 2:135 languageId Structure The schema defines a number of types, both simple and complex, to represent some of the IPTC tags. The itpcMetadataType is defined as a sequence of all the supported IPTC tags. This type is used to define a single global element that can appear in an instance document. </xsd:documentation> </xsd:annotation> <!-- Basic type definitions --> <xsd:simpleType name="urgencyType"> <xsd:restriction base="xsd:positiveInteger"> <xsd:minExclusive value="1"/> <xsd:maxInclusive value="8"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="locationType"> <xsd:sequence> <xsd:element name="code" type="xsd:string"/> <xsd:element name="name" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="bylineType"> <xsd:sequence> <xsd:element name="author" type="xsd:string"/> <xsd:element name="authorTitle" minOccurs="0" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <!-- Type definition for the global element --> <xsd:complexType name="iptcMetadataType"> <xsd:sequence> <xsd:element name="recordVersion" type="xsd:integer"/> <xsd:element name="objectName" minOccurs="0" type="xsd:string"/> <xsd:element name="editStatus" minOccurs="0" type="xsd:string"/> <xsd:element name="urgency" minOccurs="0" type="urgencyType"/> <xsd:element name="category" minOccurs="0" type="xsd:string"/> <xsd:element name="supplementalCategory" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> <xsd:element name="fixtureIdentifier" minOccurs="0" type="xsd:string"/> <xsd:element name="keyword" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> <xsd:element name="contentLocation" minOccurs="0" maxOccurs="unbounded" type="locationType"/> <xsd:element name="instructions" minOccurs="0" type="xsd:string"/> <xsd:element name="dateCreated" minOccurs="0" type="xsd:date"/> <xsd:element name="timeCreated" minOccurs="0" type="xsd:string"/> <xsd:element name="digitalCreationDate" minOccurs="0" type="xsd:date"/> <xsd:element name="digitalCreationTime" minOccurs="0" type="xsd:string"/> <xsd:element name="byline" minOccurs="0" maxOccurs="unbounded" type="bylineType"/> <xsd:element name="city" minOccurs="0" type="xsd:string"/> <xsd:element name="subLocation" minOccurs="0" type="xsd:string"/> <xsd:element name="provinceState" minOccurs="0" type="xsd:string"/> <xsd:element name="country" minOccurs="0" type="xsd:string"/> <xsd:element name="location" minOccurs="0" type="xsd:string"/> <xsd:element name="transmissionReference" minOccurs="0" type="xsd:string"/> <xsd:element name="headline" minOccurs="0" type="xsd:string"/> <xsd:element name="credit" minOccurs="0" type="xsd:string"/> <xsd:element name="source" minOccurs="0" type="xsd:string"/> <xsd:element name="copyright" minOccurs="0" type="xsd:string"/> <xsd:element name="contact" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> <xsd:element name="caption" minOccurs="0" type="xsd:string"/> <xsd:element name="captionWriter" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> <xsd:element name="languageId" minOccurs="0" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <!-- The gobal element --> <xsd:element name="iptcMetadata" type="iptcMetadataType"/> </xsd:schema>
This schema is the content model for the object attributes of ORDImage. The namespace for this schema is http://xmlns.oracle.com/ord/meta/ordimage
.
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright 2004, 2005 Oracle. All rights reserved. --> <xsd:schema xmlns="http://xmlns.oracle.com/ord/meta/ordimage" targetNamespace="http://xmlns.oracle.com/ord/meta/ordimage" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:annotation> <xsd:documentation> Introduction Oracle interMedia schema for ORDSYS.ORDImage attributes Elements are optional and can appear in any order. </xsd:documentation> </xsd:annotation> <xsd:complexType name="ordImageAttributesType"> <xsd:all minOccurs="0"> <xsd:element name="height" type="xsd:positiveInteger" minOccurs="0"/> <xsd:element name="width" type="xsd:positiveInteger" minOccurs="0"/> <xsd:element name="contentLength" type="xsd:positiveInteger" minOccurs="0"/> <xsd:element name="fileFormat" type="xsd:string" minOccurs="0"/> <xsd:element name="contentFormat" type="xsd:string" minOccurs="0"/> <xsd:element name="compressionFormat" type="xsd:string" minOccurs="0"/> <xsd:element name="mimeType" type="xsd:string" minOccurs="0"/> </xsd:all> </xsd:complexType> <xsd:element name="ordImageAttributes" type="ordImageAttributesType"/> </xsd:schema>
This schema is the content model for XMP metadata retrieved from images. It is also the content model for writing metadata to images. The namespace for this schema is http://xmlns.oracle.com/ord/meta/xmp
.
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2004, 2005, Oracle. All rights reserved. --> <xsd:schema xmlns="http://xmlns.oracle.com/ord/meta/xmp" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" targetNamespace="http://xmlns.oracle.com/ord/meta/xmp" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:annotation> <xsd:documentation> Introduction This is the Oracle interMedia schema for metadata embedded in XMP packets. The schema provides for a single element from the RDF namespace. As defined in the January 2004 version of the XMP specification, this element should be an rdf:RDF element. XMP is defined by Adobe Systems Incorporated. For more information about XMP, see the XMP Specification at the Adobe website. </xsd:documentation> </xsd:annotation> <xsd:complexType name="xmpMetadataType" mixed="false"> <xsd:sequence> <xsd:any namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xdb:SQLType="CLOB" processContents="skip" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:element name="xmpMetadata" type="xmpMetadataType"/> </xsd:schema>