Information technology - UPnP Device Architecture - Part 4-10: Audio Video Device Control Protocol - Level 2 - Audio Video Transport Service

ISO/IEC 29341-4-10:2011(E) Describes the service type which enables control over the transport of audio and video streams. The service type defines a common model for A/V transport control suitable for a generic user interface. It can be used to control a wide variety of disc, tape and solid-state based media devices such as CD players, VCRs and MP3 players. A minimal implementation of this service can be used to control tuners. This service definition is compliant with the UPnP Device Architecture version 1.0. This International Standard replaces ISO/IEC 29341-4-10, first edition, published in 2008, and constitutes a technical revision.

General Information

Status
Published
Publication Date
14-Sep-2011
Current Stage
PPUB - Publication issued
Start Date
14-Sep-2011
Completion Date
31-Jan-2012
Ref Project

Relations

Standard
ISO/IEC 29341-4-10:2011 - Information technology - UPnP device architecture - Part 4-10: Audio Video Device Control Protocol - Level 2 - Audio Video Transport Service
English language
77 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


ISO/IEC 29341-4-10
Edition 2.0 2011-09
INTERNATIONAL
STANDARD
colour
inside
Information technology – UPnP device architecture –
Part 4-10: Audio Video Device Control Protocol – Level 2 – Audio Video
Transport Service
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from
either IEC or IEC's member National Committee in the country of the requester.
If you have any questions about ISO/IEC copyright or have an enquiry about obtaining additional rights to this
publication, please contact the address below or your local IEC member National Committee for further information.

IEC Central Office
3, rue de Varembé
CH-1211 Geneva 20
Switzerland
Email: inmail@iec.ch
Web: www.iec.ch
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.

About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigenda or an amendment might have been published.
 Catalogue of IEC publications: www.iec.ch/searchpub
The IEC on-line Catalogue enables you to search by a variety of criteria (reference number, text, technical committee,…).
It also gives information on projects, withdrawn and replaced publications.
 IEC Just Published: www.iec.ch/online_news/justpub
Stay up to date on all new IEC publications. Just Published details twice a month all new publications released. Available
on-line and also by email.
 Electropedia: www.electropedia.org
The world's leading online dictionary of electronic and electrical terms containing more than 20 000 terms and definitions
in English and French, with equivalent terms in additional languages. Also known as the International Electrotechnical
Vocabulary online.
 Customer Service Centre: www.iec.ch/webstore/custserv
If you wish to give us your feedback on this publication or need further assistance, please visit the Customer Service
Centre FAQ or contact us:
Email: csc@iec.ch
Tel.: +41 22 919 02 11
Fax: +41 22 919 03 00
ISO/IEC 29341-4-10
Edition 2.0 2011-09
INTERNATIONAL
STANDARD
colour
inside
Information technology – UPnP device architecture –
Part 4-10: Audio Video Device Control Protocol – Level 2 – Audio Video
Transport Service
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
PRICE CODE
W
ICS 35.200 ISBN 978-2-88912-680-4

29341-4-10 © ISO/IEC:2011(E)
CONTENTS
1  Overview and Scope . 6
1.1  Introduction . 6
1.2  Notation . 6
1.2.1  Data Types . 6
1.2.2  Strings Embedded in Other Strings . 7
1.2.3  Extended Backus-Naur Form . 7
1.3  Derived Data Types . 8
1.3.1  Comma Separated Value (CSV) Lists . 8
1.4  Management of XML Namespaces in Standardized DCPs . 9
1.4.1  Namespace Prefix Requirements . 12
1.4.2  Namespace Names, Namespace Versioning and Schema Versioning . 13
1.4.3  Namespace Usage Examples . 15
1.5  Vendor-defined Extensions . 16
1.5.1  Vendor-defined Action Names . 16
1.5.2  Vendor-defined State Variable Names . 16
1.5.3  Vendor-defined XML Elements and attributes . 16
1.5.4  Vendor-defined Property Names . 16
1.6  References . 16
2  Service Modeling Definitions . 20
2.1  ServiceType . 20
2.2  State Variables . 21
2.2.1  TransportState . 25
2.2.2  TransportStatus . 26
2.2.3  CurrentMediaCategory . 26
2.2.4  PlaybackStorageMedium . 26
2.2.5  RecordStorageMedium . 26
2.2.6  PossiblePlaybackStorageMedia . 27
2.2.7  PossibleRecordStorageMedia . 27
2.2.8  CurrentPlayMode . 27
2.2.9  TransportPlaySpeed . 27
2.2.10  RecordMediumWriteStatus . 27
2.2.11  CurrentRecordQualityMode . 27
2.2.12  PossibleRecordQualityModes . 27
2.2.13  NumberOfTracks . 28
2.2.14  CurrentTrack . 28
2.2.15  CurrentTrackDuration . 28
2.2.16  CurrentMediaDuration . 29
2.2.17  CurrentTrackMetaData . 29
2.2.18  CurrentTrackURI . 29
2.2.19  AVTransportURI . 29
2.2.20  AVTransportURIMetaData . 29
2.2.21  NextAVTransportURI . 29
2.2.22  NextAVTransportURIMetaData . 30
2.2.23  RelativeTimePosition . 30
2.2.24  AbsoluteTimePosition . 30

XXXX © IEC:2010 — 2 — 29341-4-10 29341-4-10 © ISO/IEC:2011(E)© ISO/IEC:2011(E)
2.2.25  RelativeCounterPosition . 30
2.2.26  AbsoluteCounterPosition . 31
2.2.27  CurrentTransportActions . 31
2.2.28  LastChange . 31
2.2.29  DRMState . 31
2.2.30  A_ARG_TYPE_SeekMode . 32
2.2.31  A_ARG_TYPE_SeekTarget . 32
2.2.32  A_ARG_TYPE_InstanceID . 33
2.2.33  A_ARG_TYPE_DeviceUDN . 33
2.2.34  A_ARG_TYPE_ServiceType . 33
2.2.35  A_ARG_TYPE_ServiceID . 33
2.2.36  A_ARG_TYPE_StateVariableValuePairs . 33
2.2.37  A_ARG_TYPE_StateVariableList . 34
2.3  Eventing and Moderation . 35
2.3.1  Event Model. 35
2.4  Actions . 37
2.4.1  SetAVTransportURI() . 37
2.4.2  SetNextAVTransportURI() . 39
2.4.3  GetMediaInfo() . 40
2.4.4  GetMediaInfo_Ext() . 41
2.4.5  GetTransportInfo() . 42
2.4.6  GetPositionInfo() . 42
2.4.7  GetDeviceCapabilities() . 43
2.4.8  GetTransportSettings() . 43
2.4.9  Stop() . 44
2.4.10  Play() . 45
2.4.11  Pause() . 46
2.4.12  Record() . 47
2.4.13  Seek() . 48
2.4.14  Next() . 50
2.4.15  Previous() . 51
2.4.16  SetPlayMode() . 52
2.4.17  SetRecordQualityMode() . 53
2.4.18  GetCurrentTransportActions() . 53
2.4.19  GetDRMState() . 54
2.4.20  GetStateVariables() . 55
2.4.21  SetStateVariables() . 55
2.4.22  Common Error Codes . 56
2.5  Theory of Operation . 58
2.5.1  TransportState Contro l . 58
2.5.2  Transport Settings . 60
2.5.3  Navigation . 60
2.5.4  AVTransportURI Concept . 60
2.5.5  AVTransport Abstraction . 61
2.5.6  Supporting Multiple Virtual Transports . 63
2.5.7  Playlist Playback . 64
3  XML Service Description . 65
4  Test . . 78
Annex A (normative) SetAVTransportURI() Protocol Specifics . 79

29341-4-10 29341-4-10 XXXX © IEC:2010 © ISO/IEC:2011(E)© ISO/IEC:2011(E) — 3 —
A.1  Application to HTTP Streaming . 79
A.1.1  AVTransportURI Definition . 79
A.1.2  Control Point Behavior for SetAVTransportURI() . 79
A.1.3  Implementation of SetAVTransportURI() . 79
A.1.4  Cleanup . 79
A.2  Application to RTSP/RTP/UDP Streaming . 79
A.2.1  AVTransportURI Definition . 79
A.2.2  Control Point behavior for SetAVTransportURI() . 80
A.2.3  Implementation of SetAVTransportURI() . 80
A.2.4  Cleanup . 80
A.2.5  Implementation of Transport Cont rols . 81
A.3  Application to Internal Streaming . 81
A.3.1  AVTransportURI Definition . 81
A.3.2  Implementation of SetAVTransportURI() . 81
A.3.3  Cleanup . 81
A.4  Application to IEC61883 Stream ing . 81
A.4.1  AVTransportURI Definition . 81
A.4.2  Implementation of SetAVTransportURI() . 82
A.4.3  Cleanup . 82
A.5  Application to Vendor-specific Streaming . 82
A.5.1  AVTransportURI Definition . 82
A.5.2  Implementation of SetAVTransportURI() . 82
A.5.3  Cleanup . 82

Figure 1: TransportState Transitions - INFORMATIVE . 59

Table 1-1 — EBNF Operators . 7
Table 1-2 — CSV Examples . 9
Table 1-3 — Namespace Definitions . 11
Table 1-4 — Schema-related Information . 12
Table 1-5 — Default Namespaces for the AV Specifications . 13
Table 2-6 — State Variables . 21
Table 2-7 — allowedValueList for TransportState . 22
Table 2-8 — allowedValueList for CurrentMediaCategory . 22
Table 2-9 — allowedValueList for PlaybackStorageMedium and
RecordStorageMedium . 23
Table 2-10 — allowedValueList for CurrentPlayMode . 24
Table 2-11 — allowedValueList for RecordMediumWriteStatus . 24
Table 2-12 — allowedValueList for CurrentRecordQualityMode . 24
Table 2-13 — allowedValueRange for NumberOfTracks . 24
Table 2-14 — allowedValueRange for CurrentTrack . 24
Table 2-15 — allowedValueList for CurrentTransportActions . 25
Table 2-16 — allowedValueList for DRMState . 25
Table 2-17 — allowedValueList for A_ARG_TYPE_SeekMode . 25
Table 2-18 — Format of A_ARG_TYPE_SeekTarget . 33
Table 2-19 — Event Moderat ion . 35

XXXX © IEC:2010 — 4 — 29341-4-10 29341-4-10 © ISO/IEC:2011(E)© ISO/IEC:2011(E)
Table 2-20 — Actions . 37
Table 2-21 — Arguments for SetAVTransportURI() . 38
Table 2-22 — Error Codes for SetAVTransportURI() . 38
Table 2-23 — Arguments for SetNextAVTransportURI() . 39
Table 2-24 — Error Codes for SetNextAVTransportURI() . 40
Table 2-25 — Arguments for GetMediaInfo() . 40
Table 2-26 — Error Codes for GetMediaInfo() . 41
Table 2-27 — Arguments for GetMediaInfo_Ext() . 41
Table 2-28 — Error Codes for GetMediaInfo_Ext() . 41
Table 2-29 — Arguments for GetTransportInfo() . 42
Table 2-30 — Error Codes for GetTransportInfo() . 42
Table 2-31 — Arguments for GetPositionInfo() . 42
Table 2-32 — Error Codes for GetPositionInfo() . 43
Table 2-33 — Arguments for GetDeviceCapabilities() . 43
Table 2-34 — Error Codes for GetDeviceCapabilities() . 43
Table 2-35 — Arguments for GetTransportSettings() . 44
Table 2-36 — Error Codes for GetTransportSettings() . 44
Table 2-37 — Arguments for Stop() . 44
Table 2-38 — Error Codes for Stop() . 45
Table 2-39 — Arguments for Play() . 45
Table 2-40 — Error Codes for Play() . 46
Table 2-41 — Arguments for Pause() . 47
Table 2-42 — Error Codes for Pause() . 47
Table 2-43 — Arguments for Record() . 47
Table 2-44 — Error Codes for Record() . 48
Table 2-45 — Arguments for Seek() . 49
Table 2-46 — Error Codes for Seek() . 50
Table 2-47 — Arguments for Next() . 50
Table 2-48 — Error Codes for Next() . 51
Table 2-49 — Arguments for Previous() . 51
Table 2-50 — Error Codes for Previous() . 52
Table 2-51 — Arguments for SetPlayMode() . 52
Table 2-52 — Error Codes for SetPlayMode() . 53
Table 2-53 — Arguments for SetRecordQualityMode() . 53
Table 2-54 — Error Codes for SetRecordQualityMode() . 53
Table 2-55 — Arguments for GetCurrentTransportActions() . 54
Table 2-56 — Error Codes for GetCurrentTransportActions() . 54
Table 2-57 — Arguments for GetDRMState() . 54
Table 2-58 — Error Codes for GetDRMState() . 54
Table 2-59 — Arguments for GetStateVariables() . 55
Table 2-60 — Error Codes for GetStateVariables() . 55
Table 2-61 — Arguments for SetStateVariables() . 56
Table 2-62 — Error Codes for SetStateVariables() . 56

29341-4-10 29341-4-10 XXXX © IEC:2010 © ISO/IEC:2011(E)© ISO/IEC:2011(E) — 5 — — 5 —
Table 2-63 — Common Error Codes . 57
Table 2-64 — Allowed AVTransportURIs . 61
Table 2-65 — Example mappings of resources type to track sequences . 62
Table 2-66 — Example seek modes, play modes and transport actions, per resource
type . 63

29341-4-10 © ISO/IEC:2011(E)
INFORMATION TECHNOLOGY –
UPNP DEVICE ARCHITECTURE –
Part 4-10: Audio Video Device Control Protocol –
Level 2 – Audio Video Transport Service
FOREWORD
1) ISO (International Organization for Standardization) and IEC (International Electrotechnical Commission) form the
specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in
the development of International Standards. Their preparation is entrusted to technical committees; any ISO and
IEC member body interested in the subject dealt with may participate in this preparatory work. International
governmental and non-governmental organizations liaising with ISO and IEC also participate in this preparation.
2) In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting.
Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.
3) The formal decisions or agreements of IEC and ISO on technical matters express, as nearly as possible, an
international consensus of opinion on the relevant subjects since each technical committee has representation
from all interested IEC and ISO member bodies.
4) IEC, ISO and ISO/IEC publications have the form of recommendations for international use and are accepted
by IEC and ISO member bodies in that sense. While all reasonable efforts are made to ensure that the
technical content of IEC, ISO and ISO/IEC publications is accurate, IEC or ISO cannot be held responsible for
the way in which they are used or for any misinterpretation by any end user.
5) In order to promote international uniformity, IEC and ISO member bodies undertake to apply IEC, ISO and
ISO/IEC publications transparently to the maximum extent possible in their national and regional publications.
Any divergence between any ISO/IEC publication and the corresponding national or regional publication
should be clearly indicated in the latter.
6) ISO and IEC provide no marking procedure to indicate their approval and cannot be rendered responsible for
any equipment declared to be in conformity with an ISO/IEC publication.
7) All users should ensure that they have the latest edition of this publication.
8) No liability shall attach to IEC or ISO or its directors, employees, servants or agents including individual experts
and members of their technical committees and IEC or ISO member bodies for any personal injury, property
damage or other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees)
and expenses arising out of the publication of, use of, or reliance upon, this ISO/IEC publication or any other IEC,
ISO or ISO/IEC publications.
9) Attention is drawn to the normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
10) Attention is drawn to the possibility that some of the elements of this International Standard may be the subject of
patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
International Standard ISO/IEC 29341-4-10 was prepared by UPnP Forum Steering
committee , was adopted, under the fast track procedure, by subcommittee 25:
Interconnection of information technology equipment, of ISO/IEC joint technical committee 1:
Information technology.
This International Standard replaces ISO/IEC 29341-4-10, first edition, published in 2008, and
constitutes a technical revision.
The list of all currently available parts of the ISO/IEC 29341 series, under the general title
Information technology – UPnP device architecture, can be found on the IEC web site.
This International Standard has been approved by vote of the member bodies, and the voting
results may be obtained from the address given on the second title page.
—————————
rd
UPnP Forum Steering committee, UPnP Forum, 3855 SW 153 Drive, Beaverton, Oregon 97006 USA. See also
“Introduction”.
29341-4-10 © ISO/IEC:2011(E)
IMPORTANT – The “colour inside” logo on the cover page of this publication indicates
that it contains colours which are considered to be useful for the correct understanding
of its contents. Users should therefore print this publication using a colour printer.

XXXX © IEC:2010 — 6 — 29341-4-10 © ISO/IEC:2011(E)
1 Overview and Scope
1.1 Introduction
This service definition is compliant with the UPnP Device Architecture version 1.0.
This service type enables control over the transport of audio and video streams. The service
type defines a common model for A/V transport control suitable for a generic user interface. It
can be used to control a wide variety of disc, tape and solid-state based media devices such
as CD players, VCRs and MP3 players. A minimal implementation of this service can be used
to control tuners.
The service type is related to the ConnectionManager service type, which describes A/V
connection setup procedures, and the ContentDirectory service, which offers meta-
information about the resource stored on the media. AVTransport also offers an action to
retrieve any meta-data embedded in the resource itself.
This service type does not offer scheduled recording.
1.2 Notation
• In this document, features are described as Required, Recommended, or Optional as
follows:
The keywords “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].
In addition, the following keywords are used in this specification:
PROHIBITED – The definition or behavior is prohibited by this specification. Opposite of
REQUIRED.
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.
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.
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.
• Strings that are to be taken literally are enclosed in “double quotes”.
• Words that are emphasized are printed in italic.
• Keywords that are defined by the UPnP AV Working Committee are printed using the
forum character style.
• Keywords that are defined by the UPnP Device Architecture specification are printed
using the arch character style [DEVICE].
• 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.
1.2.1 Data Types
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

29341-4-10 XXXX © IEC:2010 © ISO/IEC:2011(E) — 7 —
types [DEVICE]. The XML Schema namespace is used to define property data types [XML
SCHEMA-2].
For UPnP Device Architecture defined boolean data types, it is strongly RECOMMENDED to
use the value “0” for false, and the value “1” for true. However, when used as input
arguments, the values “false”, “no”, “true”, “yes” may also be encountered and MUST be
accepted. Nevertheless, it is strongly RECOMMENDED that all boolean state variables and
output arguments be represented as “0” and “1”.
For XML Schema defined Boolean data types, it is strongly RECOMMENDED to use the value
“0” for false, and the value “1” for true. However, when used as input properties, the values
“false”, “true” may also be encountered and MUST be accepted. Nevertheless, it is strongly
RECOMMENDED that all properties be represented as “0” and “1”.
1.2.2 Strings Embedded in Other Strings
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 Clause 1.3.1, “Comma Separated Value (CSV) Lists”) and property values in
search criteria strings. Escaping conventions use the backslash character, “\” (character code
U+005C), as follows:
a) Backslash (“\”) is represented as “\\” in both contexts.
b) Comma (“,”) is
1) represented as “\,” in individual substring entries in CSV lists
2) not escaped in search strings
c) Double quote (“””) is
1) not escaped in CSV lists
2) not escaped in search strings when it appears as the start or end delimiter of a
property value
3) represented as “\”” in search strings when it appears as a character that is part of the
property value
1.2.3 Extended Backus-Naur Form
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].
1.2.3.1 Typographic conventions for EBNF
Non-terminal 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 'single quotes' are terminal strings and MUST appear literally in valid strings.
Character sequences between (*comment delimiters*) 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:
Table 1-1 — EBNF Operators
Operator Semantics
::=
definition – the non-terminal symbol on the left is defined by one or more alternative
sequences of terminals and/or non-terminals to its right.

XXXX © IEC:2010 — 8 — 29341-4-10 © ISO/IEC:2011(E)
Operator Semantics
|
alternative separator – separates sequences on the right that are independently allowed
definitions for the non-terminal on the left.
*
null repetition – means the expression to its left MAY occur zero or more times.
+
non-null repetition – means the expression to its left MUST occur at least once and MAY
occur more times.
[ ]
optional – the expression between the brackets is optional.
( )
grouping – groups the expressions between the parentheses.
-
character range – represents all characters between the left and right character operands
inclusively.
1.3 Derived Data Types
This clause 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 string data type is used to define state
variable and action argument string data types. The XML Schema namespace is used to
define property xsd:string data types. The following definition applies to both string data
types.
1.3.1 Comma Separated Value (CSV) Lists
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 string or xsd:string and denoted by CSV (x), where x is the type of
the individual values. The data type of a heterogeneous list is also string or xsd:string and
denoted by CSV (x, y, z), where x, y 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 (heterogeneous), 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 string or xsd:string and
denoted by CSV ({x, y, z}), where x, y and z are the types of the individual values in the
subsequence and the subsequence MAY be repeated zero or more times.
• A list is represented as a string type (for state variables and action arguments) or
xsd:string type (for properties).
• Commas separate values within a list.
• 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 US-
ASCII)
• Boolean values are represented in state variable and action argument CSVs as either “0”
for false or “1” for true. These values are a subset of the defined boolean data type
values specified in [DEVICE]: 0, false, no, 1, true, yes.
• Boolean values are represented in property CSVs as either “0” for false or “1” for true.
These values are a subset of the defined Boolean data type values specified in [XML
SCHEMA-2]: 0, false, 1, true.
• Escaping conventions for the comma and backslash characters are defined in Clause
1.2.2, “Strings Embedded in Other Strings”.
• White space before, after, or interior to any numeric data type is not allowed.
• White space before, after, or interior to any other data type is part of the value.

29341-4-10 XXXX © IEC:2010 © ISO/IEC:2011(E) — 9 —
Table 1-2 — CSV Examples
Type refinement of Value Comments
string
“+artist,-date” List of 2 property sort
CSV (string) or
CSV (xsd:string) criteria.
CSV (int) or “1,-5,006,0,+7” List of 5 integers.
CSV (xsd:integer)
CSV (boolean) or “0,1,1,0” List of 4 booleans
CSV (xsd:Boolean)
CSV (string) or “Smith\, Fred,Jones\, Davey” List of 2 names,
CSV (xsd:string) “Smith, Fred” and
“Jones, Davey”
CSV (i4,string,ui2) or “-29837,  string with leading blanks,0” Note that the second value
CSV (xsd:int, is “  string with leading
xsd:string, blanks”
xsd:unsignedShort)
CSV (i4) or “3, 4” Illegal CSV. White space
is not allowed as part of
CSV (xsd:int)
an integer value.
CSV (string) or “,,” List of 3 empty string
values
CSV (xsd:string)
CSV (heterogeneous) “Alice,Marketing,5,Sue,R&D,21,Dave,Finance,7” List of unspecified number
of people and associated
attributes. Each person is
described by 3 elements:
a name string, a
department string and
years-of-service ui2 or a
name xsd:string, a
department xsd:string and
years-of-service
xsd:unsignedShort.
1.4 Management of XML Namespaces in Standardized DCPs
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.
The formal name of a namespace is a URI. The namespace prefix used in an XML document
is not 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.
All AV object properties are represented in XML by element and attribute names, therefore,
all property names belong to an XML namespace.

XXXX © IEC:2010 — 10 — 29341-4-10 © ISO/IEC:2011(E)
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 does not 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. For example, action arguments which refer to CDS properties, such as the
SearchCriteria argument of the Search() action or the Filter argument of the Browse() action,
MUST use the predefined namespace prefixes when referring to CDS properties (“upnp:”,
“dc:”, etc).
All of the namespaces used in this specification are listed in the Tables “Namespace
Definitions” and “Schema-related Information”. For each such namespace, Table 1-3,
“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. For example, since the Scheduled
Recording Service depends on and refers to the Content Directory Service, the predefined
“srs:” namespace prefix is included. The individual specifications in such collections all use
the same standard prefix. The standard prefixes are also used in Table 1-4, “Schema-related
Information”, to cross-reference additional namespace information. This second table
includes each namespace’s valid XML document root element(s) (if any), its schema file
name, versioning information (to be discussed in more detail below), and a link to the entry in
Clause 1.4.3, “Namespace Usage Examples” for its associated schema.
The normative definitions for these namespaces are the documents referenced in Table 1-3.
The schemas 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 schemas to accurately represent all deta
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...