ISO/IEC 24752-2:2008
(Main)Information technology — User interfaces — Universal remote console — Part 2: User interface socket description
Information technology — User interfaces — Universal remote console — Part 2: User interface socket description
ISO/IEC 24752 facilitates operation of information and electronic products through remote and alternative interfaces and intelligent agents. ISO/IEC 24752-2:2008 describes user interface sockets, an abstract concept that describes the functionality and state of a device or service (target) in a machine interpretable manner. It defines an extensible markup language (XML) based language for describing a user interface socket. The purpose of the user interface socket is to expose the relevant information about a target so that a user can perceive its state and operate it. This includes data presented to the user, variables that can be manipulated by the user, commands that the user can activate, and exceptions that the user is notified about. The user interface socket specification is applicable to the construction or customization of user interfaces. Annexes entail an XML schema definition and an example user interface socket description.
Technologies de l'information — Interfaces utilisateur — Console à distance universelle — Partie 2: Description de "socket" d'interface utilisateur
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 24752-2
FIrst edition
2008-02-15
Information technology — User
interfaces — Universal remote
console —
Part 2:
User interface socket description
Technologies de l'information — Interfaces utilisateur — Console à
distance universelle —
Partie 2: Description de "Socket" d'Interface utilisateur
Reference number
ISO/IEC 24752-2:2008(E)
©
ISO/IEC 2008
---------------------- Page: 1 ----------------------
ISO/IEC 24752-2:2008(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2008
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 ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2008 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 24752-2:2008(E)
Contents Page
Foreword. v
Introduction . vi
1 Scope .1
2 Conformance.1
3 Normative references .1
4 Terms and definitions .2
5 Relation to other standards.3
5.1 Relation to XML.3
5.2 XPath expressions.3
5.3 MIME type .9
6 Structure of a socket description.10
6.1 General.10
6.2 The ‘about’ attribute .10
6.3 The ‘id’ attribute.10
6.4 The ‘sufficient’ attribute .10
6.5 The ‘complete’ attribute .11
6.6 The element .11
6.7 The element .11
6.8 Socket description properties from DCMI.11
6.9 , , , and elements.12
6.10 XSD type schema elements.12
6.11 Platform-specific mapping information.12
7 Sets .12
7.1 General.12
7.2 Attribute ‘id’.12
7.3 Attribute ‘dim’.13
7.4 Set dependencies .14
7.5 Platform-specific mapping information.15
7.6 Set properties from DCMI .15
7.7 Set members .15
8 Variables .15
8.1 General.15
8.2 The ‘id’ attribute.15
8.3 The ‘type’ attribute.16
8.4 The ‘secret’ attribute .18
8.5 The ‘sensitive’ attribute.18
8.6 The ‘timeout’ attribute .18
8.7 The ‘optional’ attribute .19
8.8 The ‘final’ attribute.19
8.9 The ‘dim’ attribute.19
8.10 The ‘includesRes’ attribute.20
8.11 Variable dependencies.21
8.12 Selection .27
8.13 Platform-specific mapping information.28
8.14 Properties from DCMI.28
9 Constants .28
9.1 General.28
© ISO/IEC 2008 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 24752-2:2008(E)
9.2 Constant attributes . 29
9.3 Constant subelements. 29
9.4 Constant value. 29
10 Commands. 30
10.1 General . 30
10.2 The ‘id’ attribute . 30
10.3 The ‘type’ attribute . 30
10.4 The ‘sensitive’ attribute . 32
10.5 The ‘sufficient’ attribute . 32
10.6 The ‘complete’ attribute. 32
10.7 The ‘optional’ attribute . 33
10.8 The ‘dim’ attribute . 33
10.9 The ‘includesRes’ attribute . 33
10.10 Command dependencies. 34
10.11 Platform-specific mapping information . 36
10.12 Command parameters . 36
10.13 Properties from DCMI . 40
11 Notifications. 40
11.1 General . 40
11.2 The ‘id’ attribute . 40
11.3 The ‘category’ attribute . 41
11.4 The ‘sensitive’ attribute . 41
11.5 The ‘optional’ attribute . 41
11.6 The ‘dim’ attribute . 41
11.7 The ‘includesRes’ attribute . 42
11.8 Notification dependencies . 42
11.9 The notify timeout variable/constant . 45
11.10 Platform-specific mapping information . 45
11.11 Properties from DCMI . 45
12 Type definitions. 45
12.1 General . 45
12.2 The ‘id’ attribute . 46
12.3 Facets . 46
12.4 List of string values . 46
12.5 Expressing structure within a type's value space. 47
12.6 Complex types. 47
Annex A (informative) XML schema definition for user interface socket descriptions. 48
Annex B (informative) Example user interface socket for a digital thermometer. 49
Bibliography . 51
iv © ISO/IEC 2008 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 24752-2:2008(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the 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 through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. 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.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 24752-2 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 35, User interfaces.
ISO/IEC 24752 consists of the following parts, under the general title Information technology — User
interfaces — Universal remote console:
⎯ Part 1: Framework
⎯ Part 2: User interface socket description
⎯ Part 3: Presentation template
⎯ Part 4: Target description
⎯ Part 5: Resource description
© ISO/IEC 2008 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 24752-2:2008(E)
Introduction
A user interface socket is an abstract concept that, when implemented, exposes the functionality and state of
a target in a machine-interpretable manner. A user interface socket is independent of any specific
implementation platform.
A user interface socket contains variables, constants, commands and notifications. The variables include all
of the dynamic data a user can perceive and/or manipulate, and may also include additional dynamic
supporting data that is not presented to the user. Example variables include the volume of a television, the
current floor of an elevator, or an internal variable representing the current state of a transaction that is used
to control dynamic features of the interface. Constants represent fixed or constant information known before
runtime which may be presented to the user, such as a model number. A command is a core function that a
user can request a target to perform and that cannot be represented by a variable. The commands include all
target functions that can be called by users. Examples include the ‘search’ command of an airline reservation
system or the ‘seek’ command of a CD player. A user interface socket does not include commands for
accessing the values of the variables. There are typically no commands that simply change the values of
variables. An exception would be a ‘reset’ operation which puts the target into a specific state. The
notifications are special states where normal operation is suspended, such as an exception state.
Notifications are special states triggered by the target. Examples include an announcement made by a public
address system in an airport, a clock alarm, or a response to invalid input for a field of a form.
A user interface socket specification is an XML document that uses the constructs defined in this part of
ISO/IEC 24752 to describe a user interface socket.
An example user interface socket description is included as Annex B.
NOTE Additional information is needed before the socket can be presented to a user, including natural language
labels and help text associated with the elements of the user interface. This information is provided externally to the
socket description. Resources reference socket elements using the socket’s name (as given in the socket descriptions
about URI, see 6.2) and the element ids (see sections 7.2, 10.2 and 11.2). Refer to ISO/IEC 24752-5 for further details.
vi © ISO/IEC 2008 – All rights reserved
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISO/IEC 24752-2:2008(E)
Information technology — User interfaces — Universal remote
console —
Part 2:
User interface socket description
1 Scope
ISO/IEC 24752 is a multi-part International Standard to facilitate operation of information and electronic
products through remote and alternative interfaces and intelligent agents.
A user interface socket is an abstract concept that describes the functionality and state of a device or service
(target) in a machine interpretable manner. This part of ISO/IEC 24752 defines an extensible Markup
Language (XML) based language for describing a user interface socket. The purpose of the user interface
socket is to expose the relevant information about a target so that a user can perceive its state and operate it.
This includes data presented to the user, variables that can be manipulated by the user, commands that the
user can activate, and exceptions that the user is notified about. The user interface socket specification is
applicable to the construction or customization of user interfaces.
2 Conformance
An XML file conforms to this part of ISO/IEC 24752 (i.e. is a user interface socket description) if
• it has the MIME type specified in 5.3, if applicable, and
• its root element is the element as defined in Clause 6.
An XML file does not conform to this part of ISO/IEC 24752 if it uses any element, attribute or value that is not
part of this specification.
NOTE 1 Target manufacturers who want to add information to a socket description beyond the elements, attributes and
values specified in this document can do so by externally providing (proprietary) resource descriptions that point into the
structure of a socket description. Refer to ISO/IEC 24752-5 for details.
NOTE 2 Future versions of this part of ISO/IEC 24752 might add new elements, attributes and values. Also, future
versions might drop the policy of strict language conformance in favor of allowing for language extensions. Therefore,
URC manufacturers are encouraged to implement their URCs so that unrecognized markup is ignored without failing.
3 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO/IEC 24752-1, Information technology — User interfaces — Universal remote console — Part 1:
Framework
© ISO/IEC 2008 – All rights reserved 1
---------------------- Page: 7 ----------------------
ISO/IEC 24752-2:2008(E)
ISO/IEC 10646:2003, Information technology — Universal Multiple-Octet Coded Character Set (UCS)
ISO/IEC 14977:1996, Information technology — Syntactic metalanguage — Extended BNF
ISO 15836:2003, Information and documentation — The Dublin Core metadata element set
DCMI Metadata Terms, http://dublincore.org/documents/dcmi-terms/
IETF RFC 2046, Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, November 1996,
http://www.ietf.org/rfc/rfc2046.txt
IETF RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, January 2005,
http://www.ietf.org/rfc/rfc3986.txt
W3C Recommendation: Extensible Markup Language (XML) 1.0 (Third Edition), 04 February 2004,
http://www.w3.org/TR/2004/REC-xml-20040204/
W3C Recommendation: Namespaces in XML, World Wide Web Consortium 14 January 1999,
http://www.w3.org/TR/1999/REC-xml-names-19990114/
W3C Recommendation: XML Path Language (XPath) 2.0, W3C Recommendation 23 January 2007,
http://www.w3.org/TR/2007/REC-xpath20-20070123/
W3C Recommendation: XQuery 1.0 and XPath 2.0 Functions and Operators, W3C Recommendation
23 January 2007, http://www.w3.org/TR/2007/REC-xpath-functions-20070123/
W3C Recommendation: XML Schema Part 1: Structures Second Edition, W3C Recommendation 28 October
2004, http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/
W3C Recommendation: XML Schema Part 2: Datatypes Second Edition, W3C Recommendation 28 October
2004, http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/
4 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 24752-1 and the following
apply.
4.1
context element
element to which a dependency pertains
4.2
dependency
expression that defines a relationship between a property of a socket variable, constant, command or notify
element and the values of other socket elements
4.3
notify
socket element that represents a notification
4.4
uniform resource identifier
URI
name or address that refers to a resource, as defined in IETF RFC 3986
2 © ISO/IEC 2008 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC 24752-2:2008(E)
5 Relation to other standards
5.1 Relation to XML
This specification defines an extensible Markup Language (XML) based language. Markup in XML is case
sensitive.
Tag names, and attribute names and values are not localizable, i.e. they are identical for all international
languages. However, the text content between tags can be language specific. As with all XML based
languages, white space characters immediately surrounding tags are non-significant.
This specification makes use of the XML namespaces concept to enable the import of element and attribute
names defined elsewhere.
All element and attribute names used in this document with no namespace prefix are defined by this
International Standard and are part of the namespace with URI reference http://myurc.org/ns/uisocketdesc. If
not defined as the default namespace, the namespace identifier 'uis' should be used.
Throughout this document, the following namespace prefixes and corresponding namespace identifiers are
used for referencing foreign namespaces:
• xsd: The XML Schema namespace (http://www.w3.org/2001/XMLSchema);
• dc: The Dublin Core Metadata Element Set namespace (http://purl.org/dc/elements/1.1/) (Element Set
defined by ISO 15836);
• dcterms: The DCMI Metadata Terms namespace (http://purl.org/dc/terms);
• xsi: The XML Schema Instance namespace (http://www.w3.org/2001/XMLSchema-instance).
For an XML Schema definition for the user interface socket description see Annex A.
5.2 XPath expressions
5.2.1 General
This specification uses XML Path Language (XPath) Version 2.0 for addressing elements within the socket.
Specifically, XPath is used in describing dependencies between the elements of the socket.
XPath 2.0 syntax is used without XPath 1.0 compatibility.
5.2.2 Use of XPath 2.0 syntax and semantics
This International Standard uses the syntax and semantics of XPath 2.0, with the following additions and
exceptions:
• The XPath expressions shall be coded in UCS.
• The static expression context (see section 2.1.1 in XPath 2.0) shall be initialized with the following
components:
o “XPath 1.0 compatibility mode” shall be false.
o The “statically known namespaces” are the namespace declarations that are in scope for
the XML element that contains the XPath expression.
© ISO/IEC 2008 – All rights reserved 3
---------------------- Page: 9 ----------------------
ISO/IEC 24752-2:2008(E)
o The “default element/type namespace” shall be the null namespace (which refers to
types that are defined in the socket description, see 12).
o The “default function namespace” shall be the standard function namespace of XPath
2.0: http://www.w3.org/2005/xpath-functions.
o The “in-scope schema definitions” shall only contain “in-scope schema types” with the
following content: All types of namespace http://www.w3.org/2001/XMLSchema, as
specified in section 2.5.1 of XPath 2.0; and the local types defined in a socket
description’s part (see 12).
NOTE 1 XPath 2.0 adds the following pre-defined types to the pre-defined types of XML
Schema Definition Part 2: xsd:untyped, xsd:untypedAtomic, xsd:anyAtomicType,
xsd:dayTimeDuration, xsd:yearMonthDuration.
o The “in-scope variables” shall be empty.
o The “function signatures” shall be the functions of the namespace
http://www.w3.org/2005/xpath-functions, as defined in XQuery 1.0 and XPath 2.0
Functions and Operators, with exceptions as specified in 5.2.4 ; the constructor functions
for all the atomic types in the “in-scope schema definitions”; and the additional functions
defined in 5.2.5.
NOTE 2 The following components of the XPath 2.0 static expression context are not used in this
International Standard: “context item static type”, “statically known collations”, “default collation”, “base
URI”, “statically known documents”, “statically known collections”, “statically known default collection
type”.
• The dynamic expression context (see section 2.1.2 in XPath 2.0) shall be initialized with the following
components:
o The “context item” shall be the socket set or element that the XPath expression is
specified for as dependency.
o The “variable values” shall be empty.
o The “function implementations” shall include implementations of the functions of the
namespace http://www.w3.org/2005/xpath-functions, as defined in XQuery 1.0 and XPath
2.0 Functions and Operators; the constructor functions for all the atomic types in the “in-
scope schema definitions”; and the additional functions as defined in 5.2.5.
o The “current dateTime” shall be the current time with local timezone of the URC,
represented as a value of type xsd:dateTime.
o The “implicit timezone” shall be the local timezone of the URC.
NOTE 3 The following components of the XPath 2.0 dynamic expression context are not used in this
International Standard: “context item”, “context position”, “context size”, “Available documents”,
“Available collections”, “Default collection”.
• There is no Data Model (XDM instance). Expressions and functions that refer to a data model
instance shall not be used in socket descriptions. The context item expression (see section 3.1.4 in
XPath 2.0) shall not be used. Path expressions (see section 3.2 in XPath 2.0) shall not be used.
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.