1、American National StandardDeveloped byfor Information Technology Protocol to Facilitate Operation ofInformation and Electronic Productsthrough Remote and AlternativeInterfaces and Intelligent Agents User Interface Socket DescriptionANSI INCITS 390-2005ANSIINCITS390-2005Copyright American National St
2、andards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license fro
3、m IHS-,-,-ANSIINCITS 390-2005American National Standardfor Information Technology Protocol to Facilitate Operation ofInformation and Electronic Productsthrough Remote and AlternativeInterfaces and Intelligent Agents User Interface Socket DescriptionSecretariatInformation Technology Industry CouncilA
4、pproved August 12, 2005American National Standards Institute, Inc.Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-Approval of an American National Standard requires review by ANS
5、I that therequirements for due process, consensus, and other criteria for approval havebeen met by the standards developer.Consensus is established when, in the judgement of the ANSI Board ofStandards Review, substantial agreement has been reached by directly andmaterially affected interests. Substa
6、ntial agreement means much more thana simple majority, but not necessarily unanimity. Consensus requires that allviews and objections be considered, and that a concerted effort be madetowards their resolution.The use of American National Standards is completely voluntary; theirexistence does not in
7、any respect preclude anyone, whether he has approvedthe standards or not, from manufacturing, marketing, purchasing, or usingproducts, processes, or procedures not conforming to the standards.The American National Standards Institute does not develop standards andwill in no circumstances give an int
8、erpretation of any American NationalStandard. Moreover, no person shall have the right or authority to issue aninterpretation of an American National Standard in the name of the AmericanNational Standards Institute. Requests for interpretations should beaddressed to the secretariat or sponsor whose
9、name appears on the titlepage of this standard.CAUTION NOTICE: This American National Standard may be revised orwithdrawn at any time. The procedures of the American National StandardsInstitute require that action be taken periodically to reaffirm, revise, orwithdraw this standard. Purchasers of Ame
10、rican National Standards mayreceive current information on all standards by calling or writing the AmericanNational Standards Institute.American National StandardPublished byAmerican National Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2005 by Information Technology Ind
11、ustry Council (ITI)All rights reserved.No part of this publication may be reproduced in anyform, in an electronic retrieval system or otherwise,without prior written permission of ITI, 1250 Eye Street NW, Washington, DC 20005. Printed in the United States of AmericaCAUTION: The developers of this st
12、andard have requested that holders of patents that may berequired for the implementation of the standard disclose such patents to the publisher. However,neither the developers nor the publisher have undertaken a patent search in order to identifywhich, if any, patents may apply to this standard. As
13、of the date of publication of this standardand following calls for the identification of patents that may be required for the implementation ofthe standard, no such claims have been made. No further patent search is conducted by the de-veloper or publisher in respect to any standard it processes. No
14、 representation is made or impliedthat licenses are not required to avoid infringement in the use of this standard.Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-Copyright Ameri
15、can National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHSContentsPageForeword . iii1 Scope. 12 Conformance . 13 Normative References . 14 Terms, Definitions and Abbreviated Terms 25 Relation to Other Standar
16、ds 35.1 Relation to XML . 35.2 XPath Expressions. 46 Overview 56.1 General 56.2 Example. 57 Structure of a Socket Description 77.1 General 77.2 The about attribute. 77.3 The id attribute. 77.4 The element. 77.5 The element 87.6 Static, variable, command and notify elements . 87.7 XSD type schema ele
17、ments. 88 Statics and Variables . 88.1 General 88.2 The id attribute. 88.3 The type attribute. 98.4 The secret attribute 98.5 The sensitive attribute 98.6 The timeout attribute 98.7 Variable dependencies 108.7.1 General 108.7.2 The read attribute. 108.7.3 The write attribute 108.7.4 The calculate at
18、tribute 108.8 Selection 118.9 Static values. 12i-,-,-Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-Page9 Commands 129.1 General 129.2 The id attribute. 129.3 The type attribute
19、. 129.4 The sensitive attribute 139.5 Command dependencies. 139.5.1 General 139.5.2 The read attribute 149.5.3 The execute attribute . 1410 Notifications . 1410.1 General 1410.2 The id attribute. 1510.3 The explicitAck attribute. 1510.4 The category attribute 1510.5 The sensitive attribute 1510.6 No
20、tification Dependencies . 1610.6.1 General 1610.6.2 The acknowledge attribute. 1610.7 The notify timeout variable/static . 1611 Type Definitions . 1611.1 General 1711.2 id Attribute 1711.3 Facets 1711.4 List of string values 1711.5 Expressing structure within a types value space 1812 Resources for S
21、ocket Descriptions 19AnnexesA XML Schema Definition for User Interface Socket Descriptions 20B Example User Interface Socket for a Digital Thermometer . 25C Bibliography . 26iiCopyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or netw
22、orking permitted without license from IHSForeword (This foreword is not part of American National Standard ANSI INCITS 390-2005.)This American National Standard is one in a series on the operation of informationand electronic products through remote and alternative interfaces and intelligentagents.
23、The goal of this standard is to define a set of eXtensible Markup Language(XML)-based languages for describing a User Interface Socket. The purpose of theUser Interface Socket is to expose the relevant information about a target so that auser can perceive its state and operate it.This document conta
24、ins three annexes that are informative and not considered partof the standard. Requests for interpretation, suggestions for improvement or addenda, or defect re-ports are welcome. They should be sent to the InterNational Committee for Informa-tion Technology Standards (INCITS), ITI, 1250 Eye Street,
25、 NW, Suite 200,Washington, DC 20005.This standard was processed and approved for submittal to ANSI by INCITS. Com-mittee approval of this standard does not necessarily imply that all committee mem-bers voted for its approval. At the time it approved this standard, INCITS had thefollowing members:Kar
26、en Higginbottom, ChairJennifer Garner, SecretaryOrganization Represented Name of RepresentativeAIM Global Dan Mullen Charles Biss (Alt.)American National Standards Institute Lisa Rajchel Apple Computer, Inc. David Michael Electronic Industries Alliance Edward Mikoski, Jr. Henry Cuschieri (Alt.)EMC C
27、orporation Gary Robinson Farance, Inc. Frank Farance Hewlett-Packard Company. Karen Higginbottom Steve Mills (Alt.)Scott Jameson (Alt.)IBM Corporation Ronald F. Silletti Institute for Certification of Computer Professionals. Kenneth M. Zemrowski Thomas Kurihara (Alt.)IEEE . Judith Gorman Richard Hol
28、leman (Alt.)Robert Pritchard (Alt.)Intel Norbert Mikula Dave Thewlis (Alt.)Philip Wennblom (Alt.)Lexmark International . Don Wright Dwight Lewis (Alt.)Paul Menard (Alt.)Microsoft Corporation . Isabelle Valet-Harper Don Stanwyck (Alt.)Mike Ksar (Alt.)National Institute of Standards =, !=, , =. The XM
29、L Schema type xsd:double is handled as Number in XPath expressions. Booleans. Operators: and, or. The XML Schema type xsd:boolean is handled as Boolean in XPath expressions. built-in Boolean functions: boolean(), true(), false(), not(); built-in String functions: concat(), string(), string-length(),
30、 starts-with(), contains(), substring(), substring-before(), substring-after(), translate(), normalize-space(); built-in Number functions: number(), round(), floor(), ceiling(). The XPath specific rules for implicit conversion between boolean, string, and number types apply. This standard defines th
31、e following XPath functions that may be used in expressing socket dependencies. boolean/string/number value(string id) a function which takes as its argument the ID of a socket variable, command, or notification and returns the current value of that variable or state of that command or notification.
32、 For commands of type voidCommand, an empty string is returned. For commands of type basicCommand or Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-ANSI INCITS 390-2005 5timedCo
33、mmand valid return values are the strings ready, inProgress, done and error. For notifications valid return values are the strings active, inactive and stacked. string timeToComplete(string commandId) a function which takes as its argument the ID of a command that is of type uiSocket:timedCommand. R
34、eturns the current value of the timeToComplete field of the specified command if the command is in state inProgress otherwise returns an empty string. boolean isNotifyActive() a Boolean function with no argument; returns true if any notify element in the Socket is active, and false if no notify elem
35、ent is active. NOTE The XPath expression not(isNotifyActive() can be useful to check for normal mode (i.e., no notification is active). These are the only types and functions permitted in a UI Socket specification. 6 Overview 6.1 General This subclause is informative. A User Interface Socket is an a
36、bstract 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 statics, variables, commands and notifications. Static elements
37、represent fixed or constant information that shall be presented to a user, such as a safety notice or model number. 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
38、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. A command is a core function that a user can request a target to perform and that cannot
39、 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.
40、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 trig
41、gered 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 standard to describe a User Inte
42、rface Socket. NOTE Throughout the remainder of this document, the term Socket will be used as shorthand for the term User Interface Socket. 6.2 Example This subclause is informative. As a brief introduction to the User Interface Socket concept, a short example is presented, showing a complete User I
43、nterface Socket for a digital thermometer. The thermometer is connected to the mains, and so is always available. It displays the current temperature and recent maximum and minimum temperatures, and can do this in Fahrenheit or centigrade. It includes a command for resetting the maximum and minimum
44、temperatures back to the current temperature. The socket specification is shown below. It contains a static value giving the model number, read-only variables “temperature“, “maximum“ and “minimum“ of type double representing the current temperature and Copyright American National Standards Institut
45、e Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-ANSI INCITS 390-2005 6 maximum and minimum recorded temperatures, and a readable and writeable enumerated type variable “scale“ representing the temperature scale used in the d
46、isplay (centigrade or Fahrenheit). A reset command to reset the maximum and minimum temperatures to the current temperature is also available. When a reset command is given, the thermometer enters a confirmation state in which the user confirms or cancels the command. This is represented by the chec
47、kReset notify element, and the confirmReset and cancelReset commands, which are only readable and executable when the checkReset notify state is active. When the checkReset notify state is active, all other variables and commands can be read but not written (i.e., the only thing a user can do is to
48、confirm or cancel the reset operation). The final element of the socket is an XSD type schema specifying the enumerated type indicating the temperature scale to be used. Note that this specification is a static document and does not include information on the current state of the socket values for t
49、he variables and other dynamically changing information are provided separately. Also note that the example does not contain commands for accessing the values of the variables it is assumed that the value of a readable variable will be made accessible to a user in an appropriate way. Commands are limited to those functions that cannot be represented by data values.