Scope:
|
<p>This service template is compliant with the UPnP Device Architecture version 1.0. It defines a service type referred to herein as ContentDirectory service.</p><sec id="sec_intro" sec-type="intro"><label>1.1</label><title>Introduction</title><p>Many devices within the home network contain various types of content that other devices would like to access (for example, music, videos, still images, etc). As an example, a MediaServer device might contain a significant portion of the homeowner's audio, video, and still-image library. In order for the homeowner to enjoy this content, the homeowner must be able to browse the objects stored on the MediaServer, select a specific one, and cause it to be played on an appropriate rendering device (for example, an audio player for music objects, a TV for video content, an Electronic Picture Frame for still-images, etc).</p><p>For maximum convenience, it is highly desirable to allow the homeowner to initiate these operations from a variety of UI devices. In most cases, these UI devices will either be a UI built into the rendering device, or it will be a stand-alone UI device such as a wireless PDA or tablet. In any case, it is unlikely that the homeowner will interact directly with the device containing the content (that is: the homeowner won't have to walk over to the server device). In order to enable this capability, the server device needs to provide a uniform mechanism for UI devices to browse the content on the server and to obtain detailed information about individual content objects. This is the purpose of the ContentDirectory service.</p><p>The ContentDirectory service additionally provides a lookup/storage service that allows clients (for example, UI devices) to locate (and possibly store) individual objects (for example, songs, movies, pictures, etc) that the (server) device is capable of providing. For example, this service can be used to enumerate a list of songs stored on an MP3 player, a list of still-images comprising various slide-shows, a list of movies stored in a DVD-Jukebox, a list of TV shows currently being broadcast (a.k.a an EPG), a list of songs stored in a CD-Jukebox, a list of programs stored on a PVR (Personal Video Recorder) device, etc. Nearly any type of content can be enumerated via this ContentDirectory service. For devices that contain multiple types of content (for example, MP3, MPEG2, JPEG, etc.), a single instance of the ContentDirectory service can be used to enumerate all objects, regardless of their type.</p></sec><sec id="sec_1.2"><label>1.2</label><title>Notation</title><list list-type="bullet"><list-item><label>•</label><p>In this document, features are described as Required, Recommended, or Optional as follows:</p><p>The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT," "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this specification are to be interpreted as described in [RFC 2119].</p><p>In addition, the following keywords are used in this specification:</p><p>PROHIBITED — The definition or behavior is an absolute prohibition of this specification. Opposite of REQUIRED.</p><p>CONDITIONALLY REQUIRED — The definition or behavior depends on a condition. If the specified condition is met, then the definition or behavior is REQUIRED, otherwise it is PROHIBITED.</p><p>CONDITIONALLY OPTIONAL — The definition or behavior depends on a condition. If the specified condition is met, then the definition or behavior is OPTIONAL, otherwise it is PROHIBITED.</p><p>These keywords are thus capitalized when used to unambiguously specify requirements over protocol and application features and behavior that affect the interoperability and security of implementations. When these words are not capitalized, they are meant in their natural-language sense.</p></list-item><list-item><label>•</label><p>Strings that are to be taken literally are enclosed in "double quotes".</p></list-item><list-item><label>•</label><p>Words that are emphasized are printed in <italic>italic.</italic></p></list-item><list-item><label>•</label><p>Keywords that are defined by the UPnP AV Working Committee are printed using the <styled-content style="color:red"><italic><underline>forum</underline></italic></styled-content> character style.</p></list-item><list-item><label>•</label><p>Keywords that are defined by the UPnP Device Architecture are printed using the <styled-content style="color:green"><bold><underline>arch</underline></bold></styled-content> character style.</p></list-item><list-item><label>•</label><p>A double colon delimiter, signifies a hierarchical parent-child (parent::child) relationship between the two objects separated by the double colon. This delimiter is used in multiple contexts, for example: Service: : Action(), Action(): : Argument, parentProperty : :childProperty.</p></list-item></list><sec id="sec_1.2.1"><label>1.2.1</label><title>Data Types</title><p>This specification uses data type definitions from two different sources. The UPnP Device Architecture defined data types are used to define state variable and action argument data types [DEVICE], The XML Schema namespace is used to define property data types [XML SCHEMA-2],</p><p>For UPnP Device Architecture defined Boolean data types, it is strongly RECOMMENDED to use the value <bold>"<underline><styled-content style="color:green">0</styled-content></underline>"</bold> for false, and the value <bold>"<underline><styled-content style="color:green">1</styled-content></underline>"</bold> for true. However, when used as input arguments, the values "<bold><underline><styled-content style="color:green">false</styled-content></underline></bold>", "<bold><underline><styled-content style="color:green">no</styled-content></underline></bold>", "<bold><underline><styled-content style="color:green">true</styled-content></underline></bold>", "<bold><underline><styled-content style="color:green">yes</styled-content></underline></bold>" may also be encountered and MUST be accepted. Nevertheless, it is strongly RECOMMENDED that all state variables and output arguments be represented as "<bold><underline><styled-content style="color:green">0</styled-content></underline></bold>" and "<bold><underline><styled-content style="color:green">1</styled-content></underline></bold>".</p><p>For XML Schema defined Boolean data types, it is strongly RECOMMENDED to use the value "<italic><underline><styled-content style="color:red">0</styled-content></underline></italic>" for false, and the value "<italic><underline><styled-content style="color:red">1</styled-content></underline></italic>" for true. However, when used as input properties, the values "<italic><underline><styled-content style="color:red">false</styled-content></underline></italic>", "<italic><underline><styled-content style="color:red">true</styled-content></underline></italic>" may also be encountered and MUST be accepted. Nevertheless, it is strongly RECOMMENDED that all properties be represented as "<italic><underline><styled-content style="color:red">0</styled-content></underline></italic>" and "<italic><underline><styled-content style="color:red">1</styled-content></underline></italic>".</p></sec><sec id="sec_1.2.2"><label>1.2.2</label><title>Strings Embedded in Other Strings</title><p>Some string variables and arguments described in this document contain substrings that MUST be independently identifiable and extractable for other processing. This requires the definition of appropriate substring delimiters and an escaping mechanism so that these delimiters can also appear as ordinary characters in the string and/or its independent substrings. This document uses embedded strings in two contexts - Comma Separated Value (CSV) lists (see <xref ref-type="sec" rid="sec_1.3.1">Section 1.3.1</xref>, "Comma Separated Value (CSV) Lists") and property values in search criteria strings. Escaping conventions use the backslash character, "\" (character code U+005C), as follows:</p><list list-type="alpha-lower"><list-item><label>a.</label><p>Backslash ("\") is represented as "\\" in both contexts.</p></list-item><list-item><label>b.</label><p>Comma (",") is</p><list list-type="order"><list-item><label>1.</label><p>represented as "\," in individual substring entries in CSV lists</p></list-item><list-item><label>2.</label><p>not escaped in search strings</p></list-item></list></list-item><list-item><label>c.</label><p>Double quote (""") is</p><list list-type="order"><list-item><label>1.</label><p>not escaped in CSV lists</p></list-item><list-item><label>2.</label><p>not escaped in search strings when it appears as the start or end delimiter of a property value</p></list-item><list-item><label>3.</label><p>represented as "V" in search strings when it appears as a character that is part of the property value</p></list-item></list></list-item></list></sec><sec id="sec_1.2.3"><label>1.2.3</label><title>Extended Backus-Naur Form</title><p>Extended Backus-Naur Form is used in this document for a formal syntax description of certain constructs. The usage here is according to the reference [EBNF],</p><sec id="sec_1.2.3.1"><label>1.2.3.1</label><title>Typographic conventions for EBNF</title><p><styled-content style="font-family:Courier,monospace">Non-terminal</styled-content> symbols are unquoted sequences of characters from the set of English upper and lower case letters, the digits "0" through "9", and the hyphen ("-"). Character sequences between '<styled-content style="font-family:Courier,monospace">single quotes</styled-content>' are terminal strings and MUST appear literally in valid strings. Character sequences between (*<styled-content style="font-family:Courier,monospace">comment delimiters</styled-content>*) are English language definitions or supplementary explanations of their associated symbols. White space in the EBNF is used to separate elements of the EBNF, not to represent white space in valid strings. White space usage in valid strings is described explicitly in the EBNF. Finally, the EBNF uses the following operators:</p><table-wrap id="tab_1.1"><label>Table 1-1:</label><caption><title>EBNF Operators</title></caption><table cellpadding="0" cellspacing="0" frame="box" rules="all" style="border-collapse: collapse;" width="650"><colgroup><col align="left" valign="top" width="20%"/><col align="left" valign="top" width="80%"/></colgroup><thead><tr><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Operator</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Semantics</styled-content></th></tr></thead><tbody><tr><td style="padding:0 5.20px 0 5.20px;">: : =</td><td style="padding:0 5.20px 0 5.20px;"><bold>definition</bold> — the non-terminal symbol on the left is defined by one or more alternative sequences of terminals and/or non-terminals to its right.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">|</td><td style="padding:0 5.20px 0 5.20px;"><bold>alternative separator</bold> — separates sequences on the right that are independently allowed definitions for the non-terminal on the left.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">*</td><td style="padding:0 5.20px 0 5.20px;"><bold>null repetition</bold> — means the expression to its left MAY occur zero or more times.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">+</td><td style="padding:0 5.20px 0 5.20px;"><bold>non-null repetition</bold> — means the expression to its left MUST occur at least once and MAY occur more times.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">[ ]</td><td style="padding:0 5.20px 0 5.20px;"><bold>optional</bold> — the expression between the brackets is optional.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">( )</td><td style="padding:0 5.20px 0 5.20px;"><bold>grouping</bold> — groups the expressions between the parentheses.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">−</td><td style="padding:0 5.20px 0 5.20px;"><bold>character range</bold> — represents all characters between the left and right character operands inclusively.</td></tr></tbody></table></table-wrap></sec></sec></sec><sec id="sec_1.3"><label>1.3</label><title>Derived Data Types</title><p>This section defines a derived data type that is represented as a string data type with special syntax. This specification uses string data type definitions that originate from two different sources. The UPnP Device Architecture defined <bold><underline><styled-content style="color:green">string</styled-content></underline></bold> data type is used to define state variable and action argument <bold><underline><styled-content style="color:green">string</styled-content></underline></bold> data types. The XML Schema namespace is used to define property xsd:string data types. The following definition applies to both string data types.</p><sec id="sec_1.3.1"><label>1.3.1</label><title>Comma Separated Value (CSV) Lists</title><p>The UPnP AV services use state variables, action arguments and properties that represent lists - or one-dimensional arrays - of values. The UPnP Device Architecture, Version 1.0 [DEVICE], does not provide for either an array type or a list type, so a list type is defined here. Lists MAY either be homogeneous (all values are the same type) or heterogeneous (values of different types are allowed). Lists MAY also consist of repeated occurrences of homogeneous or heterogeneous subsequences, all of which have the same syntax and semantics (same number of values, same value types and in the same order). The data type of a homogeneous list is <bold><underline><styled-content style="color:green">string</styled-content></underline></bold> or xsd:string and denoted by CSV (<italic>x</italic>), where <italic>x</italic> is the type of the individual values. The data type of a heterogeneous list is also <bold><underline><styled-content style="color:green">string</styled-content></underline></bold> or xsd:string and denoted by CSV (<italic>x, y, z</italic>), where <italic>x,y</italic> and z are the types of the individual values. If the number of values in the heterogeneous list is too large to show each type individually, that variable type is represented as CSV (<italic><underline><styled-content style="color:red">heterogeneous</styled-content></underline></italic>), and the variable description includes additional information as to the expected sequence of values appearing in the list and their corresponding types. The data type of a repeated subsequence list is <bold><underline><styled-content style="color:green">string</styled-content></underline></bold> or xsd:string and denoted by CSV ({<italic>x, y, z</italic>}), where <italic>x, y</italic> and <italic>z</italic> are the types of the individual values in the subsequence and the subsequence MAY be repeated zero or more times.</p><list list-type="bullet"><list-item><label>•</label><p>A list is represented as a <bold><underline><styled-content style="color:green">string</styled-content></underline></bold> type (for state variables and action arguments) or xsd:string type (for properties).</p></list-item><list-item><label>•</label><p>Commas separate values within a list.</p></list-item><list-item><label>•</label><p>Integer values are represented in CSVs with the same syntax as the integer data type specified in [DEVICE] (that is: optional leading sign, optional leading zeroes, numeric ASCII)</p></list-item><list-item><label>•</label><p>Boolean values are represented in state variable and action argument CSVs as either "<bold><underline><styled-content style="color:green">0</styled-content></underline></bold>" for false or "<bold><underline><styled-content style="color:green">1</styled-content></underline></bold>" for true. These values are a subset of the defined Boolean data type values specified in [DEVICE] : <bold><underline><styled-content style="color:green">0</styled-content></underline></bold>, <bold><underline><styled-content style="color:green">false</styled-content></underline></bold>, <bold><underline><styled-content style="color:green">no</styled-content></underline></bold>, <bold><underline><styled-content style="color:green">1</styled-content></underline></bold>, <bold><underline><styled-content style="color:green">true</styled-content></underline></bold>, <bold><underline><styled-content style="color:green">yes</styled-content></underline></bold>.</p></list-item><list-item><label>•</label><p>Boolean values are represented in property CSVs as either "<italic><underline><styled-content style="color:red">0</styled-content></underline></italic>" for false or <italic>"<underline><styled-content style="color:red">1</styled-content></underline></italic>" for true. These values are a subset of the defined Boolean data type values specified in [XML SCHEMA-2]: 0, false, 1, true.</p></list-item><list-item><label>•</label><p>Escaping conventions for the comma and backslash characters are defined in <xref ref-type="sec" rid="sec_1.2.2">Section 1.2.2</xref>, "Strings Embedded in Other Strings".</p></list-item><list-item><label>•</label><p>White space before, after, or interior to any numeric data type is not allowed.</p></list-item><list-item><label>•</label><p>White space before, after, or interior to any other data type is part of the value.</p></list-item></list><table-wrap id="tab_1.2"><label>Table 1-2</label><caption><title>CSV Examples</title></caption><table cellpadding="0" cellspacing="0" frame="box" rules="all" style="border-collapse: collapse;" width="650"><colgroup><col align="left" valign="top" width="20%"/><col align="left" valign="top" width="40%"/><col align="left" valign="top" width="40%"/></colgroup><thead><tr><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Type refinement of string</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Value</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Comments</styled-content></th></tr></thead><tbody><tr><td style="padding:0 5.20px 0 5.20px;">CSV (<bold><underline><styled-content style="color:green">string</styled-content></underline></bold>) or CSV (xsd:string) "</td><td style="padding:0 5.20px 0 5.20px;">"+artist,-date"</td><td style="padding:0 5.20px 0 5.20px;">List of 2 property sort criteria.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">CSV (<bold><underline><styled-content style="color:green">int</styled-content></underline></bold>) or CSV (xsd:integer)</td><td style="padding:0 5.20px 0 5.20px;">"1,-5,006,0,+7"</td><td style="padding:0 5.20px 0 5.20px;">List of 5 integers.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">CSV (<bold><underline><styled-content style="color:green">boolean</styled-content></underline></bold>) or CSV (xsd:Boolean)</td><td style="padding:0 5.20px 0 5.20px;">"0,1,1,0"</td><td style="padding:0 5.20px 0 5.20px;">List of 4 booleans</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">CSV (<bold><underline><styled-content style="color:green">string</styled-content></underline></bold>) or CSV (xsd:string)</td><td style="padding:0 5.20px 0 5.20px;">"Smith\, Fred,Jones\, Davey"</td><td style="padding:0 5.20px 0 5.20px;">List of 2 names, "Smith, Fred" and "Jones, Davey"</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">CSV (<styled-content style="color:green"><bold><underline>i4</underline></bold>,<bold><underline>string</underline></bold>,<bold><underline>ui2</underline></bold></styled-content>) or CSV (xsd:int, xsd: string, xsd:unsignedShort)</td><td style="padding:0 5.20px 0 5.20px;">"-29837, string with leading blanks,0"</td><td style="padding:0 5.20px 0 5.20px;">Note that the second value is " string with leading blanks"</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">CSV (<bold><underline><styled-content style="color:green">i4</styled-content></underline></bold>) or CSV (xsd:int)</td><td style="padding:0 5.20px 0 5.20px;">"3, 4"</td><td style="padding:0 5.20px 0 5.20px;">Illegal CSV. White space is not allowed as part of an integer value.</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">CSV (<bold><underline><styled-content style="color:green">string</styled-content></underline></bold>) or CSV (xsd:string)</td><td style="padding:0 5.20px 0 5.20px;"><sup>"</sup>"<sup>"</sup></td><td style="padding:0 5.20px 0 5.20px;">List of 3 empty string values</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">CSV (heterogeneous)</td><td style="padding:0 5.20px 0 5.20px;">"Alice,Marketing,5, Sue,R&D,21,Dave,Finance,7"</td><td style="padding:0 5.20px 0 5.20px;">List of unspecified number of people and associated attributes. Each person is described by 3 elements: a name <bold><underline><styled-content style="color:green">string</styled-content></underline></bold>, a department <bold><underline><styled-content style="color:green">string</styled-content></underline></bold> and years-of-service <bold><underline><styled-content style="color:green">ui2</styled-content></underline></bold> or a name xsd:string, a department xsd:string and years-of-service xsd : unsigned Short.</td></tr></tbody></table></table-wrap></sec></sec><sec id="sec_1.4"><label>1.4</label><title>Management of XML Namespaces in Standardized DCPs</title><p>UPnP specifications make extensive use of XML namespaces. This allows separate DCPs, and even separate components of an individual DCP, to be designed independently and still avoid name collisions when they share XML documents. Every name in an XML document belongs to exactly one namespace. In documents, XML names appear in one of two forms: qualified or unqualified. An unqualified name (or no-colon-name) contains no colon ( ":") characters. An unqualified name belongs to the document's default namespace. A qualified name is two no-colon-names separated by one colon character. The no-colon-name before the colon is the qualified name's namespace prefix, the no-colon-name after the colon is the qualified name's "local" name (meaning local to the namespace identified by the namespace prefix). Similarly, the unqualified name is a local name in the default namespace.</p><p>The formal name of a namespace is a URI. The namespace prefix used in an XML document is <italic>not</italic> the name of the namespace. The namespace name is, or should be, globally unique. It has a single definition that is accessible to anyone who uses the namespace. It has the same meaning anywhere that it is used, both inside and outside XML documents. The namespace prefix, however, in formal XML usage, is defined only in an XML document. It must be locally unique to the document. Any valid XML no-colon-name may be used. And, in formal XML usage, no two XML documents are ever required to use the same namespace prefix to refer to the same namespace. The creation and use of the namespace prefix was standardized by the W3C XML Committee in [XML-NMSP] strictly as a convenient local shorthand replacement for the full URI name of a namespace in individual documents.</p><p>All AV object properties are represented in XML by element and attribute names, therefore, all property names belong to an XML namespace.</p><p>For the same reason that namespace prefixes are convenient in XML documents, it is convenient in specification text to refer to namespaces using a namespace prefix. Therefore, this specification declares a "standard" prefix for all XML namespaces used herein. In addition, this specification expands the scope where these prefixes have meaning, beyond a single XML document, to all of its text, XML examples, and certain string-valued properties. This expansion of scope <italic>does not</italic> supercede XML rules for usage in documents, it only augments and complements them in important contexts that are out-of-scope for the XML specifications.</p><p>All of the namespaces used in this specification are listed in the Tables "Namespace Definitions" and "Schema-related Information". For each such namespace, <xref ref-type="table" rid="tab_1.3">Table 1-3</xref>, "Namespace Definitions" gives a brief description of it, its name (a URI) and its defined "standard" prefix name. Some namespaces included in these tables are not directly used or referenced in this document. They are included for completeness to accommodate those situations where this specification is used in conjunction with other UPnP specifications to construct a complete system of devices and services. The individual specifications in such collections all use the same standard prefix. The standard prefixes are also used in <xref ref-type="table" rid="tab_1.4">Table 1-4</xref>, "Schema-related Information", to cross-reference additional namespace information. This second table includes each namespace's valid XML document root elements (if any), its schema file name, versioning information (to be discussed in more detail below), and links to the entries in the Reference section for its associated schema.</p><p>The normative definitions for these namespaces are the documents referenced in <xref ref-type="table" rid="tab_1.3">Table 1-3</xref>. The schémas are designed to support these definitions for both human understanding and as test tools. However, limitations of the XML Schema language itself make it difficult for the UPnP-defined schémas to accurately represent all details of the namespace definitions. As a result, the schémas will validate many XML documents that are not valid according to the specifications.</p><p>The Working Committee expects to continue refining these schémas after specification release to reduce the number of documents that are validated by the schémas while violating the specifications, but the schémas will still be informative, supporting documents. Some schémas might become normative in future versions of the specifications.</p><table-wrap id="tab_1.3"><label>Table 1-3</label><caption><title>Namespace Definitions</title></caption><table cellpadding="0" cellspacing="0" frame="box" rules="all" style="border-collapse: collapse;" width="650"><colgroup><col align="left" valign="top" width="10%"/><col align="left" valign="top" width="40%"/><col align="left" valign="top" width="40%"/><col align="left" valign="top" width="10%"/></colgroup><thead><tr><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Standard Namespace Prefix</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Namespace Name</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style-type="normal">Namespace Description</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style-type="normal">Normative Definition Document Reference</styled-content></th></tr><tr><th align="center" colspan="4" style="padding:0 5.20px 0 5.20px;background-color:grey;"><italic><styled-content style-type="normal">AV Working Committee defined namespaces</styled-content></italic></th></tr></thead><tbody><tr><td style="padding:0 5.20px 0 5.20px;">av:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:av:av</td><td style="padding:0 5.20px 0 5.20px;">Common data types for use in AV schemas</td><td style="padding:0 5.20px 0 5.20px;">[AV-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">avs:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:av:avs</td><td style="padding:0 5.20px 0 5.20px;">Common structures for use in AV schemas</td><td style="padding:0 5.20px 0 5.20px;">[AVS-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">avdt:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:av:avdt</td><td style="padding:0 5.20px 0 5.20px;">Datastructure Template</td><td style="padding:0 5.20px 0 5.20px;">[AVDT]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">avt-event:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:metadata-l-0/AVT/</td><td style="padding:0 5.20px 0 5.20px;">Evented <italic><underline><styled-content style="color:red">LastChange</styled-content></underline></italic> state variable for AVTransport</td><td style="padding:0 5.20px 0 5.20px;">[AVT]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">didl-lite:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:metadata-l-0/DIDL-Lite/</td><td style="padding:0 5.20px 0 5.20px;">Structure and metadata for ContentDirectory</td><td style="padding:0 5.20px 0 5.20px;">[CDS]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">res-event:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:metadata-l-0/RCS/</td><td style="padding:0 5.20px 0 5.20px;">Evented <italic><underline><styled-content style="color:red">LastChange</styled-content></underline></italic> state variable for RenderingControl</td><td style="padding:0 5.20px 0 5.20px;">[RCS]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">srs:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:av:srs</td><td style="padding:0 5.20px 0 5.20px;">Metadata and structure for ScheduledRecording</td><td style="padding:0 5.20px 0 5.20px;">[SRS]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">srs-event:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:av:srs-event</td><td style="padding:0 5.20px 0 5.20px;">Evented <italic><underline><styled-content style="color:red">LastChange</styled-content></underline></italic> state variable for ScheduledRecording</td><td style="padding:0 5.20px 0 5.20px;">[SRS]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">upnp:</td><td style="padding:0 5.20px 0 5.20px;">urn:schemas-upnp-org:metadata-1-0/upnp/</td><td style="padding:0 5.20px 0 5.20px;">Metadata for ContentDirectory</td><td style="padding:0 5.20px 0 5.20px;">[CDS]</td></tr><tr><td align="center" colspan="4" style="padding:0 5.20px 0 5.20px;background-color:grey;"><italic>Externally defined namespaces</italic></td></tr><tr><td style="padding:0 5.20px 0 5.20px;">dc:</td><td style="padding:0 5.20px 0 5.20px;"><uri xmlns:p1="http://www.w3.org/1999/xlink" p1:type="simple">http://purl.Org/dc/elements/1.1/</uri></td><td style="padding:0 5.20px 0 5.20px;">Dublin Core</td><td style="padding:0 5.20px 0 5.20px;">[DC-TERMS]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">xsd:</td><td style="padding:0 5.20px 0 5.20px;"><uri xmlns:p2="http://www.w3.org/1999/xlink" p2:type="simple">http://www.w3.org/2001/XMLSchema</uri></td><td style="padding:0 5.20px 0 5.20px;">XML Schema Language 1.0</td><td style="padding:0 5.20px 0 5.20px;">[XML SCHEMA-1]<break/>[XML SCHEMA-2]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">xsi:</td><td style="padding:0 5.20px 0 5.20px;"><uri xmlns:p3="http://www.w3.org/1999/xlink" p3:type="simple">http://www.w3.org/2001/XMLSchema-instance</uri></td><td style="padding:0 5.20px 0 5.20px;">XML Schema Instance Document schema</td><td style="padding:0 5.20px 0 5.20px;">Sections 2.6 & 3.2.7 of [XML SCHEMA-1]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">xml:</td><td style="padding:0 5.20px 0 5.20px;"><uri xmlns:p4="http://www.w3.org/1999/xlink" p4:type="simple">http://www.w3.org/XML/1998/namespace</uri></td><td style="padding:0 5.20px 0 5.20px;">The “xml:” Namespace</td><td style="padding:0 5.20px 0 5.20px;">[XML-NS]</td></tr></tbody></table></table-wrap><table-wrap id="tab_1.4"><label>Table 1-4</label><caption><title>Schema-related Information</title></caption><table cellpadding="0" cellspacing="0" frame="box" rules="all" style="border-collapse: collapse;" width="650"><colgroup><col align="left" valign="top" width="10%"/><col align="left" valign="top" width="40%"/><col align="left" valign="top" width="40%"/><col align="left" valign="top" width="10%"/></colgroup><thead><tr><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Standard Namespace Prefix</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Relative URI and File Name</styled-content><break/>
● Form 1<break/>
● Form 2</th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Valid Root Element(s)</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Schema Reference</styled-content></th></tr><tr><th align="center" colspan="4" style="padding:0 5.20px 0 5.20px;background-color:grey;"><italic><styled-content style-type="normal">AV Working Committee defined namespaces</styled-content></italic></th></tr></thead><tbody><tr><td style="padding:0 5.20px 0 5.20px;">av:</td><td style="padding:0 5.20px 0 5.20px;">• av-<italic>vn-yyyymmdd</italic>.xsd<p>
• av-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td><td style="padding:0 5.20px 0 5.20px;">[AV-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">avs:</td><td style="padding:0 5.20px 0 5.20px;">avs-<italic>vn-yyyymmdd</italic>.xsd<p>• avs-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><Features></styled-content><p><styled-content style="font-family:Courier,monospace"><stateVariableValuePairs></styled-content></p></td><td style="padding:0 5.20px 0 5.20px;">[AVS-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">avdt:</td><td style="padding:0 5.20px 0 5.20px;">avdt-<italic>vn-yyyymmdd</italic>.xsd<p>• avdt-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><AVDT></styled-content></td><td style="padding:0 5.20px 0 5.20px;">[AVDT]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">avt-event:</td><td style="padding:0 5.20px 0 5.20px;">• avt-event-<italic>vn-yyyymmdd</italic>.xsd<p>• avt-event-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><Event></styled-content></td><td style="padding:0 5.20px 0 5.20px;">[AVT-EVENT-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">didl-lite:</td><td style="padding:0 5.20px 0 5.20px;">• didl-lite-<italic>vn-yyyymmdd</italic>.xsd<p>• didl-lite-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><DIDL-Lite></styled-content></td><td style="padding:0 5.20px 0 5.20px;">[DIDL-LITE-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">rcs-event:</td><td style="padding:0 5.20px 0 5.20px;">• rcs-event-<italic>vn-yyyymmdd</italic>.xsd<p>• rcs-event-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><Event></styled-content></td><td style="padding:0 5.20px 0 5.20px;">[RCS-EVENT-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">srs:</td><td style="padding:0 5.20px 0 5.20px;">• srs-<italic>vn-yyyymmdd</italic>.xsd<p>• srs-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><srs></styled-content></td><td style="padding:0 5.20px 0 5.20px;">[SRS-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">srs-event:</td><td style="padding:0 5.20px 0 5.20px;">• srs-event-<italic>vn-yyyymmdd</italic>.xsd<p>• srs-event-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><StateEvent></styled-content></td><td style="padding:0 5.20px 0 5.20px;">[SRS-EVENT-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">upnp:</td><td style="padding:0 5.20px 0 5.20px;">• upnp-<italic>vn-yyyymmdd</italic>.xsd<p>• upnp-<italic>vn</italic>.xsd</p></td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td><td style="padding:0 5.20px 0 5.20px;">[UPNP-XSD]</td></tr><tr><td align="center" colspan="4" style="padding:0 5.20px 0 5.20px;background-color:grey;"><italic>Externally Defined Namespaces</italic></td></tr><tr><td style="padding:0 5.20px 0 5.20px;">dc:</td><td colspan="2" style="padding:0 5.20px 0 5.20px;"><italic>Absolute</italic> URL: <uri xmlns:p5="http://www.w3.org/1999/xlink" p5:type="simple">http://dublincore.org/schemas/xmls/simpledc20021212.xsd</uri>:</td><td style="padding:0 5.20px 0 5.20px;">[DC-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">xsd:</td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td><td style="padding:0 5.20px 0 5.20px;"><styled-content style="font-family:Courier,monospace"><schema></styled-content></td><td style="padding:0 5.20px 0 5.20px;">[XMLSCHEMA-XSD]</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">xsi:</td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td><td style="padding:0 5.20px 0 5.20px;"/><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td></tr><tr><td style="padding:0 5.20px 0 5.20px;">xml:</td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td><td style="padding:0 5.20px 0 5.20px;"/><td style="padding:0 5.20px 0 5.20px;">[XML-XSD]</td></tr></tbody></table></table-wrap><sec id="sec_1.4.1"><label>1.4.1</label><title>Namespace Prefix Requirements</title><p>There are many occurrences in this specification of string data types that contain XML names (property names). These XML names in strings will not be processed under namespace-aware conditions. Therefore, all occurrences in instance documents of XML names in strings MUST use the standard namespace prefixes as declared in <xref ref-type="table" rid="tab_1.3">Table 1-3</xref>. In order to properly process the XML documents described herein, control points and devices MUST use namespace-aware XML processors [XML-NMSP] for both reading and writing. As allowed by [XML-NMSP], the namespace prefixes used in an instance document are at the sole discretion of the document creator. Therefore, the declared prefix for a namespace in a document MAY be different from the standard prefix. All devices MUST be able to correctly process any valid XML instance document, even when it uses a non-standard prefix for ordinary XML names. It is strongly RECOMMENDED that all devices use these standard prefixes for all instance documents to avoid confusion on the part of both human and machine readers. These standard prefixes are used in all descriptive text and all XML examples in this and related UPnP specifications. Also, each individual specification may assume a default namespace for its descriptive text. In that case, names from that namespace may appear with no prefix.</p><p>The assumed default namespace, if any, for each UPnP AV specification is given in <xref ref-type="table" rid="tab_1.5">Table 1-5</xref>, "Default Namespaces for the AV Specifications".</p><p>Note: all UPnP AV schémas declare attributes to be "unqualified", so namespace prefixes are never used with AV Working Committee defined attribute names.</p><table-wrap id="tab_1.5"><label>Table 1-5</label><caption><title>Default Namespaces for the AV Specifications</title></caption><table cellpadding="0" cellspacing="0" frame="box" rules="all" style="border-collapse: collapse;" width="650"><colgroup><col align="left" valign="top" width="50%"/><col align="left" valign="top" width="50%"/></colgroup><thead><tr><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">AV Specification Name</styled-content></th><th align="left" style="padding:0 5.20px 0 5.20px;background-color:black;"><styled-content style="color:white">Default Namespace Prefix</styled-content></th></tr></thead><tbody><tr><td style="padding:0 5.20px 0 5.20px;">AVTransport:2</td><td style="padding:0 5.20px 0 5.20px;">avt-event:</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">ConnectionManager:2</td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td></tr><tr><td style="padding:0 5.20px 0 5.20px;">ContentDirectory:2</td><td style="padding:0 5.20px 0 5.20px;">didl-lite:</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">MediaRenderer:2</td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td></tr><tr><td style="padding:0 5.20px 0 5.20px;">MediaServer:2</td><td style="padding:0 5.20px 0 5.20px;"><italic>n/a</italic></td></tr><tr><td style="padding:0 5.20px 0 5.20px;">RenderingControl:2</td><td style="padding:0 5.20px 0 5.20px;">rcs-event:</td></tr><tr><td style="padding:0 5.20px 0 5.20px;">ScheduledRecording:1</td><td style="padding:0 5.20px 0 5.20px;">srs:</td></tr></tbody></table></table-wrap></sec><sec id="sec_1.4.2"><label>1.4.2</label><title>Namespace Names, Namespace Versioning and Schema Versioning</title><p>Each namespace that is defined by the AV Working Committee is named by a URN.</p><p>In order to enable both forward and backward compatibility, the UPnP TC has established the general policy that namespace names will not change with new versions of specifications, even when the specification changes the definition of a namespace. But, namespaces still have version numbers that reflect definitional changes. Each time the definition of a namespace is changed, the namespace's version number is incremented by one.</p><p>Therefore, namespace version information must be provided with each XML instance document so that the document's receiver can properly understand its meaning. This is achieved by the following rules:</p><list list-type="bullet"><list-item><label>•</label><p>Every release of a schema is identified by a version number and date of the form "<italic>n-yyyymmdd</italic>", where <italic>n</italic> corresponds to the namespace definition version number and <italic>yyyymmdd</italic> is the year, month and day in the Gregorian calendar that the schema is released.</p><p>For example, the new version numbers of the pre-existing "DIDL-Lite" and "upnp" schémas are "2". Versions for new schémas, such as "srs" are "1".</p><p>For each schema, the version-date will appear in two places:</p><list list-type="order"><list-item><label>1.</label><p>In the schema file name, according to the naming structure shown in <xref ref-type="table" rid="tab_1.4">Table 1-4</xref>, "Schema-related Information".</p></list-item><list-item><label>2.</label><p>As the value of the version attribute of each schema's schema root element.</p></list-item></list></list-item></list><p>Namespaces are referenced in both schema and XML instance documents by namespace name. The namespace name appears as the value of an <styled-content style="font-family:Courier,monospace">xmlns</styled-content> attribute. The xmlns attribute also declares a namespace prefix that will be used to qualify names from each namespace. Schemas are referenced in both schema and XML instance documents by URI in the <styled-content style="font-family:Courier,monospace">schemaLocation</styled-content> attribute. See <xref ref-type="sec" rid="sec_1.4.3">section 1.4.3</xref>, "Namespace Usage Examples" . Two different forms of URI are available, each with a different meaning. All UPnP AV-defined schema URIs share a common base path of "<uri xmlns:p6="http://www.w3.org/1999/xlink" p6:type="simple">http://www.upnp.org/schemas/av/</uri>". Each schema URI has two unique relative forms (see <xref ref-type="table" rid="tab_1.4">Table 1-4</xref>, "Schema-related Information"), according to which version of a namespace and its representative schema is of interest. The allowed relative URI forms are:</p><list list-type="order"><list-item><label>1.</label><p><italic>schema-root-name</italic> "-v" <italic>version-date</italic></p><p>where <italic>version-date</italic> is a full version-date of the form <italic>n-yyyymmdd.</italic> This form references the schema whose "root" name (typically the standardized prefix name used for the namespace that the schema represents) and version-date match <italic>schema-root-name</italic> and <italic>version-date</italic>, respectively.</p></list-item><list-item><label>2.</label><p><italic>schema-root-name</italic> "-v" <italic>version</italic></p><p>where <italic>version</italic> is an integer representing the namespace's version number. This form references the most recent version of the schema whose root name and namespace version number match <italic>schema-root-name</italic> and the <italic>version,</italic> respectively.</p></list-item></list><p>Usage rules for schema location URIs are as follows:</p><list list-type="bullet"><list-item><label>•</label><p>All instance documents, whether generated by a service or a control point, MUST use Form 1.</p></list-item><list-item><label>•</label><p>All UPnP AV published schémas that reference other UPnP AV schémas will also use Form 1.</p></list-item><list-item><label>•</label><p>Validation of XML instance documents in UPnP AV systems potentially serves two purposes. The first is based on standard XML and XML Schema semantics: the document's creator asserts that the document is syntactically correct with respect to the referenced schema. The receiving processor can confirm this with a validating parser that uses the referenced schema(s). The second is based on UPnP AV namespace semantics. The receiving processor knows that the XML instance document is supposed to conform to one or more specific UPnP AV specifications. Since the second context is actually the more important context for instance document processing, the receiving processor MAY validate the instance document against any version of a schema that satisfies its needs in assessing the acceptability of the received instance document.</p></list-item></list></sec><sec id="sec_1.4.3"><label>1.4.3</label><title>Namespace Usage Examples</title><p>The <styled-content style="font-family:Courier,monospace">schemaLocation</styled-content> attribute for XML instance documents comes from the XML Schema instance namespace "<uri xmlns:p7="http://www.w3.org/1999/xlink" p7:type="simple">http:://www. w3.org/2002/XML Schema-instance</uri>". A single occurrence of the attribute can declare the location of one or more schémas. The <styled-content style="font-family:Courier,monospace">schemaLocation</styled-content> attribute value consists of a whitespace separated list of values: namespace name followed by its schema location URL. This pair-sequence is repeated as necessary for the schémas that need to be located for this instance document.</p><p><bold>Example 1:</bold></p><p>Sample <italic>DIDL-Lite XML Document.</italic> This document assumes version-date 2-20060531 of the "didl-lite:" namespace/schema combination and (a possible later) version 2-20061231 of "upnp:". The lines with the gray background show how to express this versioning information in the instance document.</p><preformat orientation="portrait" position="float" preformat-type="code" xml:space="preserve"><styled-content style="font-family:Courier,monospace"><?xml version="1.0" encoding="UTF-8"?>
<DIDL-Lite
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/
http://www.upnp.org/schemas/av/didl-lite-v2-20060531.xsd
urn:schemas-upnp-org:metadata-1-0/upnp/
http://www.upnp.org/schemas/av/upnp-v2-20061231.xsd">
<item id="18" parentID="13" restricted="0">
...
</item>
</DIDL-Lite>
</styled-content></preformat><p><bold>Example 2:</bold></p><p>Sample <italic>srs XML Document.</italic> This document assumes version 1-20060531 of the "srs:" namespace/schema combination. Again, the lines with the gray background show how to express this versioning information in the instance document.</p><preformat orientation="portrait" position="float" preformat-type="code" xml:space="preserve"><styled-content style="font-family:Courier,monospace"><?xml version="1.0" encoding="UTF-8"?>
<srs
xmlns="urn:schemas-upnp-org:av:srs"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:schemas-upnp-org:av:srs
http://www.upnp.org/schemas/av/srs-v1-20060531.xsd">
...
</srs>
</styled-content></preformat></sec></sec><sec id="sec_1.5"><label>1.5</label><title>Vendor-defined Extensions</title><p>Whenever vendors create additional vendor-defined state variables, actions or properties, their assigned names and XML representation MUST follow the naming conventions and XML rules as specified in [DEVICE], <xref ref-type="sec" rid="sec_2.5">Section 2.5</xref>, "Description: Non-standard vendor extensions".</p></sec><sec id="sec_1.6"><label>1.6</label><title>References</title><p>This section lists the normative references used in the UPnP AV specifications and includes the tag inside square brackets that is used for each such reference:</p><ref-list><ref><mixed-citation xmlns:p8="http://www.w3.org/1999/xlink" p8:type="simple">[AVARCH] - <italic>AVArchitecture:1</italic>, UPnP Forum, June 25, 2002. Available at: <uri p8:type="simple">http://www.upnp.org/specs/av/UPnP-av-AVArchitecture-v1-20020625.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p9="http://www.w3.org/1999/xlink" p9:type="simple">[AVDT] - <italic>AV DataStructure Template:1</italic>, UPnP Forum, May 31, 2006. Available at: <uri p9:type="simple">http://www.upnp.org/specs/av/UPnP-av-AVDataStructure-v1-20060531.pdf</uri>. Latest version available at: <uri p9:type="simple">http://www.upnp.org/specs/av/UPnP-av-AVDataStructure-v1.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:pA="http://www.w3.org/1999/xlink" pA:type="simple">[AVDT-XSD] - <italic>XML Schema for UPnP AV Datastructure Template:1</italic>, UPnP Forum, May 31, 2006. Available at: <uri pA:type="simple">http://www.upnp.org/schemas/av/avdt-v1-20060531.xsd</uri>. Latest version available at: <uri pA:type="simple">http://www.upnp.org/schemas/av/avdt-v1.xsd</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:pB="http://www.w3.org/1999/xlink" pB:type="simple">[AV-XSD] - <italic>XML Schema for UPnP AV Common XML Data Types</italic>, UPnP Forum, May 31, 2006. Available at: <uri pB:type="simple">http://www.upnp.org/schemas/av/av-v1-20060531.xsd</uri>. Latest version available at: <uri pB:type="simple">http://www.upnp.org/schemas/av/av-v1.xsd</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:pC="http://www.w3.org/1999/xlink" pC:type="simple">[AVS-XSD] - <italic>XML Schema for UPnP AV Common XML Structures</italic>, UPnP Forum, May 31, 2006. Available at: <uri pC:type="simple">http://www.upnp.org/schemas/av/avs-v1-20060531.xsd</uri>. Latest version available at: <uri pC:type="simple">http://www.upnp.org/schemas/av/avs-v1.xsd</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:pD="http://www.w3.org/1999/xlink" pD:type="simple">[AVT] - <italic>AVTransport:2</italic>, UPnP Forum, May 31, 2006. Available at: <uri pD:type="simple">http://www.upnp.org/specs/av/UPnP-av-AVTransport-v2-Service-20060531.pdf</uri>. Latest version available at: <uri pD:type="simple">http://www.upnp.org/specs/av/UPnP-av-AVTransport-v2-Service.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:pE="http://www.w3.org/1999/xlink" pE:type="simple">[AVT-EVENT-XSD] - <italic>XML Schema for AVTransport:2 LastChange Eventing</italic>, UPnP Forum, May 31, 2006. Available at: <uri pE:type="simple">http://www.upnp.org/schemas/av/avt-event-v2-20060531.xsd</uri>. Latest version available at: <uri pE:type="simple">http://www.upnp.org/schemas/av/avt-event-v2.xsd</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:pF="http://www.w3.org/1999/xlink" pF:type="simple">[CDS] - <italic>ContentDirectory:2</italic>, UPnP Forum, May 31, 2006. Available at: <uri pF:type="simple">http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v2-Service-20060531.pdf</uri>. Latest version available at: <uri pF:type="simple">http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v2-Service.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p10="http://www.w3.org/1999/xlink" p10:type="simple">[CM] - <italic>ConnectionManager:2</italic>, UPnP Forum, May 31, 2006. Available at: <uri p10:type="simple">http://www.upnp.org/specs/av/UPnP-av-ConnectionManager-v2-Service-20060531.pdf</uri>. Latest version available at: <uri p10:type="simple">http://www.upnp.org/specs/av/UPnP-av-ConnectionManager-v2-Service.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p11="http://www.w3.org/1999/xlink" p11:type="simple">[DC-XSD] - <italic>XML Schema for UPnP AV Dublin Core</italic>. Available at: <italic>http://www.dublincore.org/schemas/xmls/simpledc20020312.xsd</italic>.</mixed-citation></ref><ref><mixed-citation xmlns:p12="http://www.w3.org/1999/xlink" p12:type="simple">[DC-TERMS] - <italic>DCMI term declarations represented in XML schema language</italic>. Available at: <uri p12:type="simple">http://www.dublincore.org/schemas/xmls</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p13="http://www.w3.org/1999/xlink" p13:type="simple">[DEVICE] - <italic>UPnP Device Architecture, version 1.0</italic>, UPnP Forum, June 13, 2000. Available at: <uri p13:type="simple">http://www.upnp.org/specs/architecture/UPnP-DeviceArchitecture-v1.0-20000613.htm</uri>. Latest version available at: <uri p13:type="simple">http://www.upnp.org/specs/architecture/UPnP-DeviceArchitecture-v1.0.htm</uri>.</mixed-citation></ref><ref><std><std-ref>[DIDL] — ISO/IEC CD 21000-2:2001</std-ref>, <title>Information Technology — Multimedia Framework — Part 2: Digital Item Declaration, July 2001.</title></std></ref><ref><mixed-citation xmlns:p14="http://www.w3.org/1999/xlink" p14:type="simple">[DIDL-LITE-XSD] -XML Schema for ContentDirectory : 2 Structure and Metadata (DIDL-Lite), UPnP Forum, May 31, 2006. Available at: <uri p14:type="simple">http://www.upnp.org/schemas/av/didl-lite-v2-20060531.xsd</uri>. Latest version available at: http : //www, upnp. org/ schémas/av/didl-lite-v2. xsd.</mixed-citation></ref><ref><std><std-ref>[EBNF] — ISO/IEC 14977</std-ref>, <title>Information technology — Syntactic metalanguage — ExtendedBNF, December 1996.</title></std></ref><ref><mixed-citation xmlns:p15="http://www.w3.org/1999/xlink" p15:type="simple">[HTTP/1.1] - <italic>HyperText Transport Protocol — HTTP/1.1</italic>, R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, June 1999. Available at: <uri p15:type="simple">http://www.upnp.org/schemas/av/didl-lite-v2.xsd</uri>.</mixed-citation></ref><ref><std><std-ref>[EBNF] — ISO/IEC 14977</std-ref>, <title>Information technology — Syntactic metalanguage — Extended BNF, December 1996.</title></std></ref><ref><mixed-citation xmlns:p16="http://www.w3.org/1999/xlink" p16:type="simple">[HTTP/1.1] - <italic>HyperText Transport Protocol — HTTP/1.1</italic>, R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, June 1999. Available at: <italic>http://www.ietf.org/rfc/rfc2616.txt</italic>.</mixed-citation></ref><ref><mixed-citation xmlns:p17="http://www.w3.org/1999/xlink" p17:type="simple">IEC 61883] - <italic>IEC 61883 Consumer Audio/Video Equipment — Digital Interface — Part 1 to 5.</italic> Available at: <uri p17:type="simple">http://www.iec.ch</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p18="http://www.w3.org/1999/xlink" p18:type="simple">[IEC-PAS 61883] - <italic>IEC-PAS 61883 Consumer Audio/Video Equipment — Digital Interface — Part 6</italic>. Available at: <uri p18:type="simple">http://www.iec.ch</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p19="http://www.w3.org/1999/xlink" p19:type="simple">[<std std-id="iso:std:iso:8601:en" type="undated"><std-ref>ISO 8601</std-ref></std>] — Data elements and interchange formats — Information interchange — Representation of dates and times, International Standards Organization, December 21, 2000. Available at: <std std-id="iso:std:iso:8601:ed-2:en" type="dated"><std-ref>ISO 8601:2000</std-ref></std>.</mixed-citation></ref><ref><mixed-citation xmlns:p1A="http://www.w3.org/1999/xlink" p1A:type="simple">[MIME] <italic>- <italic>IETF RFC 1341, MIME (Multipurpose Internet Mail Extensions)</italic>,</italic> N. Borenstein, N. Freed, June 1992. Available at: <uri p1A:type="simple">http://www.ietf.org/rfc/rfc1341.txt</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p1B="http://www.w3.org/1999/xlink" p1B:type="simple">[MR] - <italic>MediaRenderer:2,</italic> UPnP Forum, May 31, 2006. Available at: <uri p1B:type="simple">http://www.upnp.org/specs/av/UPnP-av-MediaRenderer-v2-Device-20060531.pdf</uri>. Latest version available at: <uri p1B:type="simple">http://www.upnp.org/specs/av/UPnP-AV-MediaRenderer-v2-Device.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p1C="http://www.w3.org/1999/xlink" p1C:type="simple">[MS] - <italic>MediaServer:2,</italic> UPnP Forum, May 31, 2006. Available at: <uri p1C:type="simple">http://www.upnp.org/specs/av/UPnP-av-MediaServer-v2-Device-20060531.pdf</uri>. Latest version available at: <uri p1C:type="simple">http://www.upnp.org/specs/av/UPnP-AV-MediaServer-v2-Device.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p1D="http://www.w3.org/1999/xlink" p1D:type="simple">[RCS] - <italic>RenderingControl:2,</italic> UPnP Forum, May 31, 2006. Available at: <uri p1D:type="simple">http://www.upnp.org/specs/av/UPnP-av-RenderingControl-v2-Service-20060531.pdf</uri>. Latest version available at: <uri p1D:type="simple">http://www.upnp.org/specs/av/UPnP-av-RenderingControl-v2-Service.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p1E="http://www.w3.org/1999/xlink" p1E:type="simple">[RCS-E VENT-XSD] <italic>-XML Schema for RenderingControl: 2 LastChange Eventing,</italic> UPnP Forum, May 31, 2006. Available at: <uri p1E:type="simple">http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd</uri>. Latest version available at: <uri p1E:type="simple">http://www.upnp.org/schemas/av/rcs-event-v1.xsd</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p1F="http://www.w3.org/1999/xlink" p1F:type="simple">[RFC 1738] - <italic>IETF RFC 1738, <italic>Uniform Resource Locators (URL)</italic>,</italic> Tim Berners-Lee, et. Al., December 1994. Available at: <uri p1F:type="simple">http://www.ietf.org/rfc/rfc1738.txt</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p20="http://www.w3.org/1999/xlink" p20:type="simple">[RFC 2119] - <italic>IETF RFC 2119, Keywords for use inRFCs to Indicate Requirement Levels,</italic> S. Bradner, 1997. Available at: <uri p20:type="simple">http://www.faqs.org/rfcs/rfc2119.html</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p21="http://www.w3.org/1999/xlink" p21:type="simple">[RFC 2396] - <italic>IETF RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax,</italic> Tim Berners-Lee, et al, 1998. Available at: <uri p21:type="simple">http://www.ietf.org/rfc/rfc2396.txt</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p22="http://www.w3.org/1999/xlink" p22:type="simple">[RFC 3339] - <italic>IETF RFC 3339, Date and Time on the Internet: Timestamps</italic>, G. Klyne, Clearswift Corporation, C. Newman, Sun Microsystems, July 2002. Available at: <uri p22:type="simple">http://www.ietf.org/rfc/rfc3339.txt</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p23="http://www.w3.org/1999/xlink" p23:type="simple">[RTP] - <italic>IETF RFC 1889, Realtime Transport Protocol (RTP)</italic>, H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, January 1996. Available at: <uri p23:type="simple">http://www.ietf.org/rfc/rfc1889.txt</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p24="http://www.w3.org/1999/xlink" p24:type="simple">[RTSP] — IETF RFC 2326, Real Time Streaming Protocol (RTSP), H. Schulzrinne, A. Rao, R. Lanphier, April 1998. Available at: <uri p24:type="simple">http://www.ietf.org/rfc/rfc2326.txt</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p25="http://www.w3.org/1999/xlink" p25:type="simple">[SRS] - <italic>ScheduledRecording: 1,</italic> UPnP Forum, May 31, 2006. Available at: <uri p25:type="simple">http://www.upnp.org/specs/av/UPnP-av-ScheduledRecording-v1-Service-20060531.pdf</uri>. Latest version available at: <uri p25:type="simple">http://www.upnp.org/specs/av/UPnP-av-ScheduledRecording-v1-Service-20060531.pdf</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p26="http://www.w3.org/1999/xlink" p26:type="simple">[SRS-XSD] - <italic>XML Schema for ScheduledRecording: 1 Metadata and Structure</italic>, UPnP Forum, May 31, 2006. Available at: <uri p26:type="simple">http://www.upnp.org/schemas/av/srs-v1-20060531.xsd</uri>. Latest version available at: <uri p26:type="simple">http://www.upnp.org/schemas/av/srs-v1.xsd</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p27="http://www.w3.org/1999/xlink" p27:type="simple">[SRS-EVENT-XSD] - <italic>XML Schema for ScheduledRecording: 1 LastChange Eventing</italic>, UPnP Forum, May 31, 2006. Available at: <uri p27:type="simple">http://www.upnp.org/schemas/av/srs-event-v1-20060531.xsd.</uri>. Latest version available at: <uri p27:type="simple">http://www.upnp.org/schemas/av/srs-event-v1.xsd.</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p28="http://www.w3.org/1999/xlink" p28:type="simple">[UAX 15] - <italic>Unicode Standard Annex #15, Unicode Normalization Forms, version 4.1.0, revision 25,</italic> M. Davis, M. Dürst, March 25, 2005. Available at: <uri p28:type="simple">http://www.unicode.org/reports/tr15/tr15-25.html</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p29="http://www.w3.org/1999/xlink" p29:type="simple">[UNICODE COLLATION] - <italic>Unicode Technical Standard #10, Unicode Collation Algorithm version 4.1.0,</italic> M. Davis, K. Whistler, May 5, 2005. Available at: <uri p29:type="simple">http://www.unicode.org/reports/tr10/tr10-14.html</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p2A="http://www.w3.org/1999/xlink" p2A:type="simple">[UPNP-XSD] - <italic>XML Schema for ContentDirectory: 2 Metadata</italic>, UPnP Forum, May 31, 2006. Available at: <uri p2A:type="simple">http://www.upnp.org/schemas/av/upnp-v2-20060531.xsd</uri>.
Latest version available at: <uri p2A:type="simple">http://www.upnp.org/schemas/av/upnp-v2.xsd.</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p2B="http://www.w3.org/1999/xlink" p2B:type="simple">[UTS 10] — Unicode Technical Standard #10, <italic>Unicode Collation Algorithm, version 4.1.0, revision 14</italic>, M. Davis, K. Whistler, May 5, 2005.
Available at: <uri p2B:type="simple">http://www.unicode.org/reports/tr10/tr10-14.html</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p2C="http://www.w3.org/1999/xlink" p2C:type="simple">[UTS 35] - <italic>Unicode Technical Standard #35, Locale Data Markup Language, version 1.3R1, revision</italic> 5,.M. Davis, June 2, 2005.
Available at: <uri p2C:type="simple">http://www.Unicode.org/reports/tr35/tr35-5.html</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p2D="http://www.w3.org/1999/xlink" p2D:type="simple">[XML] - <italic>Extensible Markup Language (XML) 1.0 (ThirdEdition)</italic>, François Yergeau, Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, eds., W3C Recommendation, February 4, 2004. Available at: <uri p2D:type="simple">http://www.w3.org/TR/2004/REC-xml-20040204</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p2E="http://www.w3.org/1999/xlink" p2E:type="simple">[XML-NS] <italic>- The "xml: " Namespace,</italic> November 3, 2004. Available at: <uri p2E:type="simple">http://www.w3.org/XML/1998/namespace</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p2F="http://www.w3.org/1999/xlink" p2F:type="simple">[XML-XSD] <italic>-XML Schema for the "xml: " Namespace.</italic> Available at: <uri p2F:type="simple">http://www.w3.org/2001/xml.xsd</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p30="http://www.w3.org/1999/xlink" p30:type="simple">[XML-NMSP] - <italic>Namespaces in XML,</italic> Tim Bray, Dave Hollander, Andrew Layman, eds., W3C Recommendation, January 14, 1999. Available at: <uri p30:type="simple">http://www.w3.org/TR/1999/REC-xml-names-19990114</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p31="http://www.w3.org/1999/xlink" p31:type="simple">[XML SCHEMA-1] - <italic>XML Schema Part 1: Structures, Second Edition</italic>, Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn, W3C Recommendation, 28 October 2004. Available at: <uri p31:type="simple">http://www.w3.org/TR/2004/REC-xmlschema-1-20041028</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p32="http://www.w3.org/1999/xlink" p32:type="simple">[XML SCHEMA-2] -XML Schema Part 2: Data Types, Second Edition, Paul V. Biron, Ashok Malhotra, W3C Recommendation, 28 October 2004. Available at: <uri p32:type="simple">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028</uri>.</mixed-citation></ref><ref><mixed-citation xmlns:p33="http://www.w3.org/1999/xlink" p33:type="simple">[XMLSCHEMA-XSD] - <italic>XML Schema for XML Schema</italic>. Available at: <uri p33:type="simple">http://www.w3.org/2001/XMLSchema.xsd</uri>.</mixed-citation></ref></ref-list></sec>
|