<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:media="http://rets.org/xsd/Media/2007-08"
xmlns:commons="http://rets.org/xsd/RETSCommons/2007-08"
targetNamespace="http://rets.org/xsd/Media/2007-08"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<!--
(C)2007 National Association of REALTORS(R). All Rights Reserved
Tab stops
:set ts=3
File History
======================
$Header: Media.xsd, 21, 2/29/08 5:52:41 PM EST, Gina Accawi$
$Log:
21 055_RETS_Standard 1.20 2/29/08 5:52:41 PM EST Gina Accawi
Modifications made per Schema Workgroup meeting February 6, 7 of 2008
in Denver.
20 055_RETS_Standard 1.19 1/24/08 2:30:33 PM EST Paul Stusiak
correct copyright notice language
19 055_RETS_Standard 1.18 11/29/07 1:17:49 PM ESTPaul Stusiak
Multiple change requests from Boston, Calgary meetings
18 055_RETS_Standard 1.17 11/22/07 4:52:47 AM ESTPaul Stusiak
Work in progress check-in
17 055_RETS_Standard 1.16 10/8/07 4:22:13 PM EDT Paul Stusiak
Update version timestamp
16 055_RETS_Standard 1.15 10/2/07 3:19:25 PM EDT Gina Accawi
Create reusable type for systemId. Reference it where used. Ensure
there is a systemId on the primary single and optional on plural
version of resource payloads.
15 055_RETS_Standard 1.14 7/27/07 12:00:39 PM EDTGina Accawi
Add system Id.
14 055_RETS_Standard 1.13 7/13/07 5:51:47 PM EDT Gina Accawi
Add comment on the keys.
13 055_RETS_Standard 1.12 7/13/07 5:27:09 PM EDT Gina Accawi
Modify to follow design pattern prevalent for all other schemas.
12 055_RETS_Standard 1.11 7/9/07 3:37:03 PM EDT Paul Stusiak
Update versionTimestamp to 2007-07-09T19:21:00Z
11 055_RETS_Standard 1.10 7/2/07 12:45:31 PM EDT Gina Accawi
Rename ResourceKey to be the actual ResourceNameKey.
10 055_RETS_Standard 1.9 6/29/07 3:34:41 PM EDT Gina Accawi
Add a key for the resource.
9 055_RETS_Standard 1.8 5/2/07 4:16:58 PM EDT Paul Stusiak
change namespace reference, modify complex type names to resolve code
generation errors, update version time stamp
8 055_RETS_Standard 1.7 4/3/07 7:59:30 PM EDT Paul Stusiak
use url resolution for include, import to test schema validation
7 055_RETS_Standard 1.6 4/3/07 4:43:57 AM EDT Paul Stusiak
change namespace to remote location (www.ftc2.com) for testing
6 055_RETS_Standard 1.5 4/2/07 2:26:55 PM EDT Paul Stusiak
change namespace to match responding server and to use the URI
versioning suggested by both HP and XFront
5 055_RETS_Standard 1.4 3/30/07 9:20:40 PM EDT Paul Stusiak
Update of the versionTimestamp and the namespace (namespace to
200704). Change formating to a standard format
4 055_RETS_Standard 1.3 3/8/07 1:50:59 AM EST Paul Stusiak
Clean up the project information for the purposes of document
generation. Moved attribute into the complexType from a global -
clearly not what was intended.
3 055_RETS_Standard 1.2 2/28/07 4:02:16 AM EST Paul Stusiak
add standard header and refactoring RETSCommons changes
2 055_RETS_Standard 1.1 2/22/07 6:34:49 PM EST Gina Accawi
Remove all references to the schemaLocation as being
http://retsserver.realtors.org:8080/xsd/. These references have been
changed to be relative path (as the current directory). Now,
regardless of where they are published, the referential internal
integrity will remain. The assumption is that these will all reside as
neighbors on the target distribution server.
1 055_RETS_Standard 1.0 12/20/06 3:32:46 PM ESTJeff Brush
$
======================
-->
<xs:annotation>
<xs:documentation>
Elements related to media documents like pictures.
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:import namespace="http://rets.org/xsd/RETSCommons/2007-08"
schemaLocation="../../../xsd/RETSCommons/2007-08/RETSCommons.xsd"/>
<!-- Types -->
<xs:complexType name="ExpressionEnum">
<xs:simpleContent>
<xs:restriction base="commons:OtherEnumerationDescriptionString">
<xs:enumeration value="full"/>
<xs:enumeration value="sample"/>
<xs:enumeration value="nonstop"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="RestrictionRelationshipEnum">
<xs:simpleContent>
<xs:restriction base="commons:OtherEnumerationDescriptionString">
<xs:enumeration value="allow"/>
<xs:enumeration value="deny"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="RestrictionCategoryEnum">
<xs:simpleContent>
<xs:restriction base="commons:OtherEnumerationDescriptionString">
<xs:enumeration value="country"/>
<xs:enumeration value="uri"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ScaleEnum">
<xs:simpleContent>
<xs:restriction base="commons:OtherEnumerationDescriptionString">
<xs:enumeration value="thumb"/>
<xs:enumeration value="default"/>
<xs:enumeration value="best"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<!--<xs:complexType name="MediaCategory">
<xs:sequence>
<xs:element name="UriScheme"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Label"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Detail"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>-->
<xs:complexType name="MediaRestriction">
<xs:sequence>
<xs:element name="Relationship"
type="media:RestrictionRelationshipEnum"
minOccurs="1">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Category"
type="media:RestrictionCategoryEnum"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Detail"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MediaText">
<xs:sequence>
<xs:element name="Category"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="StartDateTime"
type="xs:dateTime"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="EndDateTime"
type="xs:dateTime"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Detail"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute ref="xml:lang"
use="optional">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="MediaHash">
<xs:sequence>
<xs:element name="Algorithm"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="HashValue"
type="xs:string"
minOccurs="1"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MediaDescription">
<xs:sequence>
<xs:element name="Category"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Detail"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MediaCopyright">
<xs:sequence>
<xs:element name="Uri"
type="xs:anyURI"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Detail"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MediaTitle">
<xs:sequence>
<xs:element name="Uri"
type="xs:anyURI"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Detail"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MediaContent">
<xs:sequence>
<xs:element name="Title"
type="media:MediaTitle"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Description"
type="media:MediaDescription"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Keywords"
type="commons:SecureString"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<!--<xs:element name="Category"
type="media:MediaCategory"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>-->
<xs:element name="CreatedDateTime"
type="commons:SecureDateTime">
<xs:annotation>
<xs:documentation>
The date of creation for the media item.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
<example>2007-11-29T16:00:00Z</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="AddedDateTime"
type="commons:SecureDateTime">
<xs:annotation>
<xs:documentation>
The date of addition to the system for the media item.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
<example>2007-11-29T16:00:00Z</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Hash"
type="media:MediaHash"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Copyright"
type="media:MediaCopyright"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Text"
type="media:MediaText"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Restriction"
type="media:MediaRestriction"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Details"
type="media:MediaDetails"
minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
Container for technical detail information, such as mime type
file size, bitrate, etc.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Source"
type="commons:SecureString"
minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
Source or origination of the media item.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
<example>EXIF</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:any namespace="##other"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MediaDetails">
<xs:sequence>
<xs:element name="FileSize"
type="xs:integer"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MimeType"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Medium"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Expression"
type="media:ExpressionEnum">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Bitrate"
type="xs:decimal"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Framerate"
type="xs:decimal"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Samplingrate"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Channels"
type="xs:decimal"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Height"
type="xs:decimal"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="HeightUnit"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Width"
type="xs:decimal"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="WidthUnit"
type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Scale"
type="media:ScaleEnum"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:any namespace="##other"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="xml:lang"
use="optional"/>
<xs:attribute name="isDefault"
type="xs:boolean"
use="optional"/>
</xs:complexType>
<xs:complexType name="MediaItemType">
<xs:sequence>
<xs:element name="MediaItemKey"
type="commons:resource-key"
minOccurs="1"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
This the is the keyfield for the resource.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="preference-order"
type="commons:preferenceOrderType">
<xs:annotation>
<xs:documentation>
Indicates the preference order within all the media items.
Highest preference is 0.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
<example>0</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="mime-preference-order"
type="commons:preferenceOrderType">
<xs:annotation>
<xs:documentation>
Indicates the preference order within all the media items
of the same mime type.
Highest preference is 0.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
<example>0</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Content"
type="media:MediaContent"
minOccurs="0">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="MediaItemUri"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="systemId"
type="commons:system-id"
use="required">
<xs:annotation>
<xs:documentation>
Optional multiple URI location for
the resource
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Binary"
type="xs:base64Binary"
minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
Optional in-line binary
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="ModificationTimestamp"
type="commons:ModificationTimestamp"
minOccurs="1"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="MLSKeyId"
type="xs:string"
use="required">
<xs:annotation>
<xs:documentation>
There is also a MediaItemKey element.
This may now be obsolete.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="systemId"
type="commons:system-id"
use="required">
<xs:annotation>
<xs:documentation>
An identifier of the system that a media
item 'belongs' to when the event involves
more than one system.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:element name="MediaItem">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="media:MediaItemType">
<xs:sequence>
<xs:any namespace="##any"
processContents="lax"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="MediaType">
<xs:sequence>
<xs:element ref="media:MediaItem"
minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versionTimestamp"
type="xs:dateTime"
use="required"
fixed="2007-11-29T16:00:00Z">
<xs:annotation>
<xs:documentation>
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="systemId"
type="commons:system-id"
use="optional">
<xs:annotation>
<xs:documentation>
An identifier of the system that a media item
'belongs' to when the event involves more than
one system.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:element name="Media"
type="media:MediaType">
<xs:annotation>
<xs:documentation>
Container element for instances of multiple MediaItem elements.
</xs:documentation>
<xs:appinfo>
<retsid></retsid>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:schema>
|