Input: [Keyword] submit [State] Submit Button [Control type] A button [Data type]

Output: An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission


Input: [Keyword] image [State] Image Button [Control type] Either a clickable image, or a button [Data type]

Output: A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission


Input: [Keyword] reset [State] Reset Button [Control type] A button [Data type]


Input: [Keyword] button [State] Button [Control type] A button [Data type]


Input: [State] Hidden [Data type] An arbitrary string [Control type] n/a [Keyword]

Output: hidden


Input: [State] Text [Data type] Text with no line breaks [Control type] Text field [Keyword]

Output: text


Input: [State] Search [Data type] Text with no line breaks [Control type] Search field [Keyword]

Output: search


Input: [State] Telephone [Data type] Text with no line breaks [Control type] A text field [Keyword]

Output: tel


Input: [State] URL [Data type] An absolute IRI [Control type] A text field [Keyword]

Output: url


Input: [State] E-mail [Data type] An e-mail address or list of e-mail addresses [Control type] A text field [Keyword]

Output: email


Input: [State] Password [Data type] Text with no line breaks (sensitive information) [Control type] Text field that obscures data entry [Keyword]

Output: password


Input: [State] Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type] A date and time control [Keyword]

Output: datetime


Input: [State] Date [Data type] A date (year, month, day) with no time zone [Control type] A date control [Keyword]

Output: date


Input: [State] Month [Data type] A date consisting of a year and a month with no time zone [Control type] A month control [Keyword]

Output: month


Input: [State] Week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type] A week control [Keyword]

Output: week


Input: [State] Time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type] A time control [Keyword]

Output: time


Input: [State] Local Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type] A date and time control [Keyword]

Output: datetime-local


Input: [State] Number [Data type] A numerical value [Control type] A text field or spinner control [Keyword]

Output: number


Input: [State] Range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type] A slider control or similar [Keyword]

Output: range


Input: [State] Color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type] A color well [Keyword]

Output: color


Input: [State] Checkbox [Data type] A set of zero or more values from a predefined list [Control type] A checkbox [Keyword]

Output: checkbox


Input: [State] Radio Button [Data type] An enumerated value [Control type] A radio button [Keyword]

Output: radio


Input: [State] File Upload [Data type] Zero or more files each with a MIME type and optionally a file name [Control type] A label and a button [Keyword]

Output: file


Input: [State] Submit Button [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type] A button [Keyword]

Output: submit


Input: [State] Image Button [Data type] A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission [Control type] Either a clickable image, or a button [Keyword]

Output: image


Input: [State] Reset Button [Data type] n/a [Control type] A button [Keyword]

Output: reset


Input: [State] Button [Data type] n/a [Control type] A button [Keyword]

Output: button


Input: [Name] bargein [Description] Controls whether the prompt can be interrupted. [Required] No [Default Value] bargein property [Type]

Output: boolean

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] bargeintype [Description] On prompts that can be interrupted, determines the type of bargein, either 'speech', or 'hotword'. [Required] No [Default Value] bargeintype property [Type]

Output: string

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] cond [Description] A data model expression that must evaluate to true after conversion to boolean in order for the prompt to be played. [Required] No [Default Value] true [Type]

Output: data model expression

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] count [Description] A number indicating the repetition count, allowing a prompt to be activated or not depending on the current repetition count. [Required] No [Default Value] 1 [Type]

Output: positive integer

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] timeout [Description] The time to wait for user input. [Required] No [Default Value] timeout property [Type]

Output: Time Designation

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] xml:lang [Description] The language identifier for the prompt. [Required] No [Default Value] document's "xml:lang" attribute [Type]

Output: string

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] xml:base [Description] Declares the base URI from which relative URIs in the prompt are resolved. [Required] No [Default Value] document's "xml:base" attribute [Type]

Output: string

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] string-set [Value] [[ ] [, ]* ] | none [Applies to] all elements, but not pseudo-elements [Inh.] no [%ages] N/A [Media] all [Computed value] specified value [Initial]

CSS Generated Content for Paged Media Module


Input: [Name] running [Applies to] elements [Inh.] no [%ages] N/A [Media] all [Computed value] specified value [Initial]

CSS Generated Content for Paged Media Module


Input: [Name] footnote-display [Value] block | inline | compact [Applies to] elements [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Initial]

Output: block

CSS Generated Content for Paged Media Module


Input: [Name] footnote-policy [Value] auto | line | block [Applies to] elements [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Initial]

Output: auto

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-level [Value] none | [Applies to] all elements [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Initial]

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-label [Value] | none [Applies to] all elements [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Initial]

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-state [Value] open | closed [Applies to] block-level elements [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Initial]

Output: open

CSS Generated Content for Paged Media Module


Input: [Keyword] hidden [State] Hidden [Data type] An arbitrary string [Control type]


Input: [Keyword] text [State] Text [Data type] Text with no line breaks [Control type]

Output: Text field


Input: [Keyword] search [State] Search [Data type] Text with no line breaks [Control type]

Output: Search field


Input: [Keyword] tel [State] Telephone [Data type] Text with no line breaks [Control type]

Output: A text field


Input: [Keyword] url [State] URL [Data type] An absolute IRI [Control type]

Output: A text field


Input: [Keyword] email [State] E-mail [Data type] An e-mail address or list of e-mail addresses [Control type]

Output: A text field


Input: [Keyword] password [State] Password [Data type] Text with no line breaks (sensitive information) [Control type]

Output: Text field that obscures data entry


Input: [Keyword] datetime [State] Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type]

Output: A date and time control


Input: [Keyword] date [State] Date [Data type] A date (year, month, day) with no time zone [Control type]

Output: A date control


Input: [Keyword] month [State] Month [Data type] A date consisting of a year and a month with no time zone [Control type]

Output: A month control


Input: [Keyword] week [State] Week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type]

Output: A week control


Input: [Keyword] time [State] Time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type]

Output: A time control


Input: [Keyword] datetime-local [State] Local Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type]

Output: A date and time control


Input: [Keyword] number [State] Number [Data type] A numerical value [Control type]

Output: A text field or spinner control


Input: [Keyword] range [State] Range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type]

Output: A slider control or similar


Input: [Keyword] color [State] Color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type]

Output: A color well


Input: [Keyword] checkbox [State] Checkbox [Data type] A set of zero or more values from a predefined list [Control type]

Output: A checkbox


Input: [Keyword] radio [State] Radio Button [Data type] An enumerated value [Control type]

Output: A radio button


Input: [Keyword] file [State] File Upload [Data type] Zero or more files each with a MIME type and optionally a file name [Control type]

Output: A label and a button


Input: [Keyword] submit [State] Submit Button [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type]

Output: A button


Input: [Keyword] image [State] Image Button [Data type] A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission [Control type]

Output: Either a clickable image, or a button


Input: [Keyword] reset [State] Reset Button [Data type] n/a [Control type]

Output: A button


Input: [Keyword] button [State] Button [Data type] n/a [Control type]

Output: A button


Input: [Name] string-set [Value] [[ ] [, ]* ] | none [Initial] none [Applies to] all elements, but not pseudo-elements [Inh.] no [%ages] N/A [Computed value] specified value [Media]

Output: all

CSS Generated Content for Paged Media Module


Input: [Name] running [Initial] none [Applies to] elements [Inh.] no [%ages] N/A [Computed value] specified value [Media]

Output: all

CSS Generated Content for Paged Media Module


Input: [Name] footnote-display [Value] block | inline | compact [Initial] block [Applies to] elements [Inh.] no [%ages] N/A [Computed value] specified value [Media]

Output: paged

CSS Generated Content for Paged Media Module


Input: [Name] footnote-policy [Value] auto | line | block [Initial] auto [Applies to] elements [Inh.] no [%ages] N/A [Computed value] specified value [Media]

Output: paged

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-level [Value] none | [Initial] none [Applies to] all elements [Inh.] no [%ages] N/A [Computed value] specified value [Media]

Output: paged

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-label [Value] | none [Initial] none [Applies to] all elements [Inh.] no [%ages] N/A [Computed value] specified value [Media]

Output: paged

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-state [Value] open | closed [Initial] open [Applies to] block-level elements [Inh.] no [%ages] N/A [Computed value] specified value [Media]

Output: paged

CSS Generated Content for Paged Media Module


Input: [Name] target [Required] true [Type] ECMAScript Expression [Default Value] none [Description] An ECMAScript expression returning the target location of the event. The target attribute specifies the unique identifier of the event target that the Event I/O Processor should send the event to. [Valid Values]

Output: A valid target URL

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] targettype [Required] false [Type] ECMAScript Expression [Default Value] ccxml [Description] An ECMAScript expression which returns a character string that specifies the type of the Event I/O Processor that the event should be dispatched to. Values defined by the specification are: ccxml This species that the event will be dispatched to the CCXML Session Event Processor.. dialog This species that the event will be dispatched to the Dialog Event Processor.. [Valid Values]

Output: ccxml dialog

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] sendid [Required] false [Type] ECMAScript Left Hand Side Expression [Default Value] none [Description] An ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute will receive an internally generated unique string identifier to be associated with the event being sent. If this attribute is not specified, the event identifier is dropped. [Valid Values]

Output: ECMAScript Variable

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] delay [Required] false [Type] ECMAScript Expression [Default Value] '0s' [Description] The character string returned is interpreted as a time interval. The send tag will return immediately, but the event is not dispatched until the delay interval elapses. Timers are useful for a wide variety of programming tasks, and can be implemented using this attribute. Note: The queue for sending events is maintained locally. Any events waiting to be sent will be purged when the session that issued this request terminates. [Valid Values]

Output: An ECMAScript expression which returns a character string in CSS2 [CSS2] format

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with inline content [Type] Var List [Default Value] none [Description] A list of zero or more whitespace separated CCXML variable names to be included with the event. When an ECMAscript variable is included with the event, its value is first converted into a string. If the variable is an ECMAScript Object, the mechanism by which it is included is not currently defined. Instead of including ECMAScript Objects directly, the application developer may explicitly include the properties of an Object. e.g. "date.month date.year". If used in conjunction with the inline content, an error.fetch will be thrown. [Valid Values]

Output: List of ECMAScript Variable names

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] hints [Required] false [Type] ECMAScript Expression [Default Value] none [Description] The ECMAScript object returned contains information which may be used by the implementing platform to configure the event processor. The meaning of these hints is specific to the implementing platform and the event processor. [Valid Values]

Output: An ECMAScript expression that returns an ECMAScript object

Voice Browser Call Control: CCXML Version 1.0


Input: [Keyword] hidden [Data type] An arbitrary string [Control type] n/a [State]

Output: Hidden


Input: [Keyword] text [Data type] Text with no line breaks [Control type] Text field [State]

Output: Text


Input: [Keyword] search [Data type] Text with no line breaks [Control type] Search field [State]

Output: Search


Input: [Keyword] tel [Data type] Text with no line breaks [Control type] A text field [State]

Output: Telephone


Input: [Keyword] url [Data type] An absolute IRI [Control type] A text field [State]

Output: URL


Input: [Keyword] email [Data type] An e-mail address or list of e-mail addresses [Control type] A text field [State]

Output: E-mail


Input: [Keyword] password [Data type] Text with no line breaks (sensitive information) [Control type] Text field that obscures data entry [State]

Output: Password


Input: [Keyword] datetime [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type] A date and time control [State]

Output: Date and Time


Input: [Keyword] date [Data type] A date (year, month, day) with no time zone [Control type] A date control [State]

Output: Date


Input: [Keyword] month [Data type] A date consisting of a year and a month with no time zone [Control type] A month control [State]

Output: Month


Input: [Keyword] week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type] A week control [State]

Output: Week


Input: [Keyword] time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type] A time control [State]

Output: Time


Input: [Keyword] datetime-local [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type] A date and time control [State]

Output: Local Date and Time


Input: [Keyword] number [Data type] A numerical value [Control type] A text field or spinner control [State]

Output: Number


Input: [Keyword] range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type] A slider control or similar [State]

Output: Range


Input: [Keyword] color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type] A color well [State]

Output: Color


Input: [Keyword] checkbox [Data type] A set of zero or more values from a predefined list [Control type] A checkbox [State]

Output: Checkbox


Input: [Keyword] radio [Data type] An enumerated value [Control type] A radio button [State]

Output: Radio Button


Input: [Keyword] file [Data type] Zero or more files each with a MIME type and optionally a file name [Control type] A label and a button [State]

Output: File Upload


Input: [Keyword] submit [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type] A button [State]

Output: Submit Button


Input: [Keyword] image [Data type] A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission [Control type] Either a clickable image, or a button [State]

Output: Image Button


Input: [Keyword] reset [Data type] n/a [Control type] A button [State]

Output: Reset Button


Input: [Keyword] button [Data type] n/a [Control type] A button [State]

Output: Button


Input: [Name] name [Description] The form item variable in the dialog scope that will hold the recording. The name must be unique among form items in the form. If the name is not unique, then a badfetch error is thrown when the document is fetched. Note that how this variable is implemented may vary between platforms (although all platforms must support its behavior in and as described in this specification). [Required] Yes [Type]

Output: The name must conform to the variable naming conventions in (TODO).

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] expr [Description] The initial value of the form item variable. If initialized to a value, then the form item will not be visited unless the form item variable is cleared. [Required] No [Default Value] ECMAScript undefined [Type]

Output: TBD

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] cond [Description] A data model expression that must evaluate to true after conversion to boolean in order for the form item to be visited. [Required] No [Default Value] true [Type]

Output: data model expression

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] modal [Description] If this is true, all non-local speech and DTMF grammars are not active while making the recording. If this is false, non-local speech and DTMF grammars are active. [Required] No [Default Value] true [Type]

Output: boolean

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] beep [Description] If true, a tone is emitted just prior to recording. [Required] No [Default Value] false [Type]

Output: boolean

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] maxtime [Description] The maximum duration to record. [Required] No [Default Value] Platform-specific value [Type]

Output: Time Designation

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] finalsilence [Description] The interval of silence that indicates end of speech. [Required] No [Default Value] Platform-specific value [Type]

Output: Time Designation

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] dtmfterm [Description] If true, any DTMF keypress will be treated as a match of an active (anonymous) local DTMF grammar. [Required] No [Default Value] true [Type]

Output: boolean

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Name] type [Description] The media format of the resulting recording. [Required] No [Default Value] Platform-specific (one of the required formats) [Type]

Output: Required audio file formats specified in Appendix E of VoiceXML 2 (Other formats may also be supported)

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Feature] Dependencies [Payload Security] Authentication defined by XKMS specification, client does not need to implement a comprehensive framework [Transaction Layer Security]

Output: Authentication mechanism defined by TLS which clients must implement

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Use of XML Signature [Payload Security] Uses XML Signature in Enveloped Mode requiring slightly more complex processing [Transaction Layer Security]

Output: Not required

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Support for Routing [Payload Security] Specification describes bi-lateral authentication only, multi-hop message routing and multi-party transactions are not supported [Transaction Layer Security]

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Support for Confidentiality [Payload Security] None, although applications may employ TLS to establish a secure channel [Transaction Layer Security]

Output: Supported

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Non-Repudiation [Payload Security] Supported [Transaction Layer Security]

Output: Requires additional payload security

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Unspecified Party Authentication [Payload Security] Supported [Transaction Layer Security]

Output: Requires additional payload security

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Client Authentication [Payload Security] Supported [Transaction Layer Security]

Output: Supported through certificate client authentication or through use of payload security

XML Key Management Specification (XKMS 2.0) Bindings


Input: [State] Hidden [Data type] An arbitrary string [Control type] n/a [Keyword]

Output: hidden


Input: [State] Text [Data type] Text with no line breaks [Control type] Text field [Keyword]

Output: text


Input: [State] Search [Data type] Text with no line breaks [Control type] Search field [Keyword]

Output: search


Input: [State] Telephone [Data type] Text with no line breaks [Control type] A text field [Keyword]

Output: tel


Input: [State] URL [Data type] An absolute IRI [Control type] A text field [Keyword]

Output: url


Input: [State] E-mail [Data type] An e-mail address or list of e-mail addresses [Control type] A text field [Keyword]

Output: email


Input: [State] Password [Data type] Text with no line breaks (sensitive information) [Control type] Text field that obscures data entry [Keyword]

Output: password


Input: [State] Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type] A date and time control [Keyword]

Output: datetime


Input: [State] Date [Data type] A date (year, month, day) with no time zone [Control type] A date control [Keyword]

Output: date


Input: [State] Month [Data type] A date consisting of a year and a month with no time zone [Control type] A month control [Keyword]

Output: month


Input: [State] Week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type] A week control [Keyword]

Output: week


Input: [State] Time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type] A time control [Keyword]

Output: time


Input: [State] Local Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type] A date and time control [Keyword]

Output: datetime-local


Input: [State] Number [Data type] A numerical value [Control type] A text field or spinner control [Keyword]

Output: number


Input: [State] Range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type] A slider control or similar [Keyword]

Output: range


Input: [State] Color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type] A color well [Keyword]

Output: color


Input: [State] Checkbox [Data type] A set of zero or more values from a predefined list [Control type] A checkbox [Keyword]

Output: checkbox


Input: [State] Radio Button [Data type] An enumerated value [Control type] A radio button [Keyword]

Output: radio


Input: [State] File Upload [Data type] Zero or more files each with a MIME type and optionally a file name [Control type] A label and a button [Keyword]

Output: file


Input: [State] Submit Button [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type] A button [Keyword]

Output: submit


Input: [State] Image Button [Data type] A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission [Control type] Either a clickable image, or a button [Keyword]

Output: image


Input: [State] Reset Button [Data type] n/a [Control type] A button [Keyword]

Output: reset


Input: [State] Button [Data type] n/a [Control type] A button [Keyword]

Output: button


Input: [Name] target [Required] true [Type] ECMAScript Expression [Default Value] none [Valid Values] A valid target URL [Description]

Output: An ECMAScript expression returning the target location of the event. The target attribute specifies the unique identifier of the event target that the Event I/O Processor should send the event to.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] targettype [Required] false [Type] ECMAScript Expression [Default Value] ccxml [Valid Values] ccxml dialog [Description]

Output: An ECMAScript expression which returns a character string that specifies the type of the Event I/O Processor that the event should be dispatched to. Values defined by the specification are: ccxml This species that the event will be dispatched to the CCXML Session Event Processor.. dialog This species that the event will be dispatched to the Dialog Event Processor..

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] sendid [Required] false [Type] ECMAScript Left Hand Side Expression [Default Value] none [Valid Values] ECMAScript Variable [Description]

Output: An ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute will receive an internally generated unique string identifier to be associated with the event being sent. If this attribute is not specified, the event identifier is dropped.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] delay [Required] false [Type] ECMAScript Expression [Default Value] '0s' [Valid Values] An ECMAScript expression which returns a character string in CSS2 [CSS2] format [Description]

Output: The character string returned is interpreted as a time interval. The send tag will return immediately, but the event is not dispatched until the delay interval elapses. Timers are useful for a wide variety of programming tasks, and can be implemented using this attribute. Note: The queue for sending events is maintained locally. Any events waiting to be sent will be purged when the session that issued this request terminates.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] xmlns:[YourNameSpacePrefix] [Required] false [Type] string [Default Value] none [Description]

Output: This returns a namespace identifying the contained message format. More than one xmlns attribute may be included.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] data [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with inline content [Type] ECMAScript Expression [Default Value] none [Description]

Output: An ECMAScript expression which returns a character string that indicates the type of event being generated. The event type may include alphanumeric characters and the "." (dot) character. The first character may not be a dot or a digit. Event type names are case-insensitive. If neither the data attribute or inline content is specified, an error.fetch event will be thrown. If used in conjunction with the inline content, an error.fetch will be thrown.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with inline content [Type] Var List [Default Value] none [Valid Values] List of ECMAScript Variable names [Description]

Output: A list of zero or more whitespace separated CCXML variable names to be included with the event. When an ECMAscript variable is included with the event, its value is first converted into a string. If the variable is an ECMAScript Object, the mechanism by which it is included is not currently defined. Instead of including ECMAScript Objects directly, the application developer may explicitly include the properties of an Object. e.g. "date.month date.year". If used in conjunction with the inline content, an error.fetch will be thrown.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] hints [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression that returns an ECMAScript object [Description]

Output: The ECMAScript object returned contains information which may be used by the implementing platform to configure the event processor. The meaning of these hints is specific to the implementing platform and the event processor.

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] an ECMAScript expression which returns the URI of the CCXML document to be fetched. [Attribute Name]

Output: next

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] a list of zero or more whitespace separated CCXML variable names. These variable names and their associated values will be included in the URI sent to the server, with the same qualification used in the namelist. [Attribute Name]

Output: namelist

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] an ECMAScript expression which returns a character string that indicates the HTTP method to use. Valid values are " get " and " post ". The default is " get ". [Attribute Name]

Output: method

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] is an ECMAScript left-hand-side expression which receives an internally generated unique string identifier to be associated with the completion event. This identifier can be tested by the fetch completion event handler to distinguish among several outstanding fetch requests. If this attribute is not specified, the fetch ID can be acquired from the fetch completion event. Every fetch request will receive a unique fetch ID, even requests for the same document. [Attribute Name]

Output: fetchid

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] is an ECMAScript left-hand-side expression that is set to the fetch completion event. The specification of this attribute in a implies a blocking fetch, which will be executed synchronously. If this attribute is not specified, the fetch is asynchronous. [Attribute Name]

Output: synch

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] is an ECMAScript expression returning a string in CSS2 [CSS2] format interpreted as a time interval. The interval begins when the is executed. The fetch will fail if not completed at the end of this interval. A failed fetch will return the error.fetch event. [Attribute Name]

Output: timeout

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] src [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] none [Description] An ECMAScript expression which returns a character string identifying the URI of the dialog document that the dialog interpreter should load and begin execution upon startup. [Valid Values]

Output: a valid Dialog URL

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] prepareddialogid [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the src, type or namelist attributes. [Type] ECMAScript Expression [Default Value] none [Description] An ECMAScript expression which returns a dialog identifier of a dialog previously prepared by the execution of a dialogprepare element. If the specified dialog identifier refers to an unknown dialog or a dialog that has already been executed, by way of another dialogstart element, an error.dialogwrongstate event is thrown. [Valid Values]

Output: a valid dialogid

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] type [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] application/voicexml+xml [Description] An ECMAScript expression which returns a character string that specifies the MIME type of the document, and as a result determines which dialog manager environment is actually used. Values defined by the specification are: application/voicexml+xml This MIME type would request a VoiceXML interpreter instance. audio/wav This MIME type would request a dialog manager that merely plays wave files. [Valid Values]

Output: a Valid MIME Type

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] Var List [Default Value] none [Description] A list of one or more whitespace separated CCXML variable names. These variables will be submitted to the server, with the same qualification as used in the namelist. When an ECMAscript variable is submitted to the server, its value is first converted into a string before being submitted. If the variable is an ECMAScript Object, the mechanism by which it is submitted is not currently defined. Instead of submitting ECMAScript Objects directly, the application developer may explicitly submit the properties of an Object. e.g. "date.month date.year". [Valid Values]

Output: List of ECMAScript Variable names

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] dialogid [Required] false [Type] ECMAScript Left Hand Side Expression [Default Value] none [Description] An ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute will receive a dialog identifier value for the launched dialog interpreter instance. This identifier may be used on future invocations of dialogterminate, join, or unjoin. [Valid Values]

Output: ECMAScript Variable

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] connectionid [Required] false [Attribute Constraints] Can not be used with conferenceid. [Type] ECMAScript Expression [Default Value] comes from the event being processed [Description] An Optional ECMAScript expression which returns the identifier of a connection. The specified connection will be associated with the dialog being prepared. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown. [Valid Values]

Output: Connection IDs

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] conferenceid [Required] false [Attribute Constraints] Can not be used with connectionid. [Type] ECMAScript Expression [Default Value] comes from the event being processed [Description] An Optional ECMAScript expression which returns the identifier of a conference bridge. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown. [Valid Values]

Output: Conference IDs

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] mediadirection [Required] false [Attribute Constraints] If used in conjunction with prepareddialogid , the bridge type must match that used on the previous dialogprepare element. [Type] ECMAScript Expression [Default Value] both [Description] An ECMAScript expression that defines the direction of the media flow between the Dialog and the Connection or Conference. The following values can be used: both Specifies a full duplex connection where the media flows in both directions. dialogtransmit The dialog transmits media to the Connection or Conference but does not receive any media streams. dialogreceive The dialog receives media from the Connection or Conference but does not transmit any media streams. If both the mediadirection and the prepareddialogid are specified and the bridge type specified by the mediadirection attribute does not match that used on the previous dialogprepare element, an error.dialog.notstarted event will be raised. If no value for the mediadirection attribute was specified on the previous dialogprepare element, any mediadirection type option may be specified. [Valid Values]

Output: both dialogtransmit dialogreceive

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxage [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] none [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content whose age is no greater than the specified time in seconds (cf. 'max-age' in HTTP 1.1 [RFC2616]). The document is not willing to use stale content, unless maxstale is also provided. [Valid Values]

Output: An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxstale [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] none [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content that has exceeded its expiration time (cf. 'max-age' in HTTP 1.1 [RFC2616]). If maxstale is assigned a value, then the document is willing to accept content that has exceeded its expiration time by no more than the specified number of seconds. [Valid Values]

Output: An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] enctype [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. Valid only when the value of the method is "post". [Type] ECMAScript Expression [Default Value] application/x-www-form-urlencoded [Description] An ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document (when the value of the method is "post"). Values defined by the specification are: application/x-www-form-urlencoded This indicates that the ccxml variables specified in the namelist will be url encoded. [Valid Values]

Output: valid media encoding type

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] method [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] get [Description] An ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: get This indicates that the "GET" method will be used by the dialog manager. post This indicates that the "POST" method will be used by the dialog manager. [Valid Values]

Output: get post

Voice Browser Call Control: CCXML Version 1.0


Input: [Keyword] hidden [Data type] An arbitrary string [Control type] n/a [State]

Output: Hidden


Input: [Keyword] text [Data type] Text with no line breaks [Control type] Text field [State]

Output: Text


Input: [Keyword] search [Data type] Text with no line breaks [Control type] Search field [State]

Output: Search


Input: [Keyword] tel [Data type] Text with no line breaks [Control type] A text field [State]

Output: Telephone


Input: [Keyword] url [Data type] An absolute IRI [Control type] A text field [State]

Output: URL


Input: [Keyword] email [Data type] An e-mail address or list of e-mail addresses [Control type] A text field [State]

Output: E-mail


Input: [Keyword] password [Data type] Text with no line breaks (sensitive information) [Control type] Text field that obscures data entry [State]

Output: Password


Input: [Keyword] datetime [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type] A date and time control [State]

Output: Date and Time


Input: [Keyword] date [Data type] A date (year, month, day) with no time zone [Control type] A date control [State]

Output: Date


Input: [Keyword] month [Data type] A date consisting of a year and a month with no time zone [Control type] A month control [State]

Output: Month


Input: [Keyword] week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type] A week control [State]

Output: Week


Input: [Keyword] time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type] A time control [State]

Output: Time


Input: [Keyword] datetime-local [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type] A date and time control [State]

Output: Local Date and Time


Input: [Keyword] number [Data type] A numerical value [Control type] A text field or spinner control [State]

Output: Number


Input: [Keyword] range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type] A slider control or similar [State]

Output: Range


Input: [Keyword] color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type] A color well [State]

Output: Color


Input: [Keyword] checkbox [Data type] A set of zero or more values from a predefined list [Control type] A checkbox [State]

Output: Checkbox


Input: [Keyword] radio [Data type] An enumerated value [Control type] A radio button [State]

Output: Radio Button


Input: [Keyword] file [Data type] Zero or more files each with a MIME type and optionally a file name [Control type] A label and a button [State]

Output: File Upload


Input: [Keyword] submit [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type] A button [State]

Output: Submit Button


Input: [Keyword] image [Data type] A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission [Control type] Either a clickable image, or a button [State]

Output: Image Button


Input: [Keyword] reset [Data type] n/a [Control type] A button [State]

Output: Reset Button


Input: [Keyword] button [Data type] n/a [Control type] A button [State]

Output: Button


Input: [Feature] Dependencies [Transaction Layer Security] Authentication mechanism defined by TLS which clients must implement [Payload Security]

Output: Authentication defined by XKMS specification, client does not need to implement a comprehensive framework

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Use of XML Signature [Transaction Layer Security] Not required [Payload Security]

Output: Uses XML Signature in Enveloped Mode requiring slightly more complex processing

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Support for Routing [Transaction Layer Security] None [Payload Security]

Output: Specification describes bi-lateral authentication only, multi-hop message routing and multi-party transactions are not supported

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Support for Confidentiality [Transaction Layer Security] Supported [Payload Security]

Output: None, although applications may employ TLS to establish a secure channel

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Non-Repudiation [Transaction Layer Security] Requires additional payload security [Payload Security]

Output: Supported

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Unspecified Party Authentication [Transaction Layer Security] Requires additional payload security [Payload Security]

Output: Supported

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Feature] Client Authentication [Transaction Layer Security] Supported through certificate client authentication or through use of payload security [Payload Security]

Output: Supported

XML Key Management Specification (XKMS 2.0) Bindings


Input: [Numerical Code] 200 [Example] property delivered correctly [Textual Description]

Output: OK


Input: [Numerical Code] 204 [Example] property retrieved without content [Textual Description]

Output: No Content


Input: [Numerical Code] 206 [Example] only a subset of the available data stored in the result set [Textual Description]

Output: Partial Content


Input: [Numerical Code] 400 [Example] syntactical error [Textual Description]

Output: Bad Request


Input: [Numerical Code] 404 [Example] the queries resource is not found [Textual Description]

Output: Not Found


Input: [Numerical Code] 415 [Example] get duration call on an image data store [Textual Description]

Output: Unsupported Media Type


Input: [Numerical Code] 462 [Example] location is not defined in MediaRSS [Textual Description]

Output: Property not defined in Source Format


Input: [Numerical Code] 500 [Example] internal library (e.g., extractor) crashes [Textual Description]

Output: Internal Server Error


Input: [Numerical Code] 562 [Example] a subset of properties implemented [Textual Description]

Output: Property not supported


Input: [Keyword] hidden [State] Hidden [Data type] An arbitrary string [Control type]


Input: [Keyword] text [State] Text [Data type] Text with no line breaks [Control type]

Output: Text field


Input: [Keyword] search [State] Search [Data type] Text with no line breaks [Control type]

Output: Search field


Input: [Keyword] tel [State] Telephone [Data type] Text with no line breaks [Control type]

Output: A text field


Input: [Keyword] url [State] URL [Data type] An absolute IRI [Control type]

Output: A text field


Input: [Keyword] email [State] E-mail [Data type] An e-mail address or list of e-mail addresses [Control type]

Output: A text field


Input: [Keyword] password [State] Password [Data type] Text with no line breaks (sensitive information) [Control type]

Output: Text field that obscures data entry


Input: [Keyword] datetime [State] Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type]

Output: A date and time control


Input: [Keyword] date [State] Date [Data type] A date (year, month, day) with no time zone [Control type]

Output: A date control


Input: [Keyword] month [State] Month [Data type] A date consisting of a year and a month with no time zone [Control type]

Output: A month control


Input: [Keyword] week [State] Week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type]

Output: A week control


Input: [Keyword] time [State] Time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type]

Output: A time control


Input: [Keyword] datetime-local [State] Local Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type]

Output: A date and time control


Input: [Keyword] number [State] Number [Data type] A numerical value [Control type]

Output: A text field or spinner control


Input: [Keyword] range [State] Range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type]

Output: A slider control or similar


Input: [Keyword] color [State] Color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type]

Output: A color well


Input: [Keyword] checkbox [State] Checkbox [Data type] A set of zero or more values from a predefined list [Control type]

Output: A checkbox


Input: [Keyword] radio [State] Radio Button [Data type] An enumerated value [Control type]

Output: A radio button


Input: [Keyword] file [State] File Upload [Data type] Zero or more files each with a MIME type and optionally a file name [Control type]

Output: A label and a button


Input: [Keyword] submit [State] Submit Button [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type]

Output: A button


Input: [Keyword] image [State] Image Button [Data type] A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission [Control type]

Output: Either a clickable image, or a button


Input: [Keyword] reset [State] Reset Button [Data type] n/a [Control type]

Output: A button


Input: [Keyword] button [State] Button [Data type] n/a [Control type]

Output: A button


Input: [Numerical Code] 200 [Textual Description] OK [Example]

Output: property delivered correctly


Input: [Numerical Code] 204 [Textual Description] No Content [Example]

Output: property retrieved without content


Input: [Numerical Code] 206 [Textual Description] Partial Content [Example]

Output: only a subset of the available data stored in the result set


Input: [Numerical Code] 400 [Textual Description] Bad Request [Example]

Output: syntactical error


Input: [Numerical Code] 404 [Textual Description] Not Found [Example]

Output: the queries resource is not found


Input: [Numerical Code] 415 [Textual Description] Unsupported Media Type [Example]

Output: get duration call on an image data store


Input: [Numerical Code] 462 [Textual Description] Property not defined in Source Format [Example]

Output: location is not defined in MediaRSS


Input: [Numerical Code] 500 [Textual Description] Internal Server Error [Example]

Output: internal library (e.g., extractor) crashes


Input: [Numerical Code] 562 [Textual Description] Property not supported [Example]

Output: a subset of properties implemented


Input: [Responder] David Baron

Output: Making varying DOCTYPE syntax conforming will make it more likely that browsers to use variations in DOCTYPE decarations to trigger new mode changes, even if the specification declares this to be nonconforming. I believe authors would be more willing to use apparently-non-proprietary mode changing syntax than clearly proprietary markup or clearly-proprietary comment syntax. Having more modes makes it harder for new entrants in the browser market, as I described in http://dbaron.org/log/2007-03#e20070325a , http://lists.w3.org/Archives/Public/public-html/2007Apr/0279.html , and http://lists.w3.org/Archives/Public/www-tag/2009Aug/0054.html . Allowing variations in syntax that are conforming, but do nothing, seems likely to encourage authors to believe that those variations will do something. (Witness, for example, the large numbers of authors who change the "EN" within the HTML 4.0 FPI to their own language code.) Allowing DOCTYPE declarations that can be connected to DTD-based validators encourages people to use inferior DTD-based validation tools rather than a conformant HTML5 conformance checker.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] Boris Zbarsky

Output: Fundamentally, if UAs treat all HTML versions as the same there is no need for versioning information. So a proposal to create such information presupposes that UAs will NOT treat versions the same. We have this to a small extent now in terms of quirks mode, and even that is a significant maintenance burden. So in effect, a proposal that we introduce versioning is a proposal that favors big players over small ones in the HTML space: the next obvious course of action is to make sure several incompatible versions of HTML are created and that all need to be supported. This raises barriers to entry into the field, and while it may be good for certain W3C member companies I believe it's very bad for HTML and HTML consumers as a whole. I can see various scenarios where a producer might want to keep internal versioning information, but I believe this can be put in a comment as well as in a doctype, and in any case ideally should be removed before publishing the content (so that conformance issues don't arise even is such tools want to put the information in the doctype). While I agree that it's possible that in the future a situation will arise where HTML documents from that point on need to be differentiated from all preceding ones, such a situation has not arisen in practice in the nearly 20 years of HTML's existence. In the unlikely event that it does arise, that would be the right time to consider adding a version indicator. Clearly this would not be done lightly at that point, but neither should changes to HTML that are backwards-incompatible to the extent envisioned in this scenario be undertaken lightly.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] Henri Sivonen

Output: I strongly object to this change proposal. A WBS bug prevented me from posting my objections here, so I posted them to http://lists.w3.org/Archives/Public/www-archive/2010Jul/0124.html as advised by the Team Contact. Please consider that message as if the objections in it were stated here.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] Anne van Kesteren

Output: I have the same objections to this proposal as I have had to the ISSUE-88 change proposal to allow something without any observable effect. This will only lead to confusion for authors. http://www.w3.org/2002/09/wbs/40318/issue-88-objection-poll/results In addition, this would give the opportunity for Web browsers to fragment HTML which would be a very bad thing for the Web. If we ever need versioning for HTML (and we have not since HTML was invented) we can add it at that point. Designing for a theoretical future is not at all necessary here and only complicates matters.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] James Graham

Output: I strongly object to the proposal to add versioning information in HTML. In general terms, versioning on the UA side is bad for the web, significantly increasing the burden of complexity in new implementations, and therefore reducing competition in the browser space. Versioning is also bad for authors because it means they have to learn magic incantations to opt into the behaviour they expect, leading to confusion when things go wrong due to picking the wrong version. These problems can be seen today with quirks vs limited quirks vs standards modes. Given that switching behaviour based on versions is bad for both end users and authors, we should be designing the language to make it difficult for UAs to version switch, even if it is in their interests to do so, because it is not in the interests of the web as a whole. Although the change proposal makes some attempt to limit the scope of when versioning information is permitted and how UAs may react to it, it seems foolish to rely on both authors and vendors following such a complex set of rules when the downsides of breaking them is so great. In particular if UA vendors break the rules. costs are mostly in the form of externalities incurred by other vendors, authors and ultimately end users. We should be working to avoid such things, not encouraging them by making them easy. The suggested rules continually refer to "controlled environments". This implies that the change proposal is mainly concerned with non-web use cases. I do not believe we should give priority to non-web use cases particularly when they directly conflict with the requirements for the web. I also note that were these rules to be followed, and versioning only used in non-web applications, several of the supposed benefits of versioning could not actually occur in the manner described, unless we believe the argument that an unused syntactic construct is materially different from one that does not exist. However it is not clear why this is so; for example one suggested benefit of versioning is continuity of conformance for existing documents in the face of changes to the conformance requirements of the language. It is hard to see how this is realised in the case where there is a versioning mechanism that a document is not permitted to use, but not in the case where there is no versioning mechanism. In this sense I believe that the proposal is internally inconsistent. This inconsistency would be more troubling if the purported benefits of versioning were real. However I believe they are not, and agree with the criticisms that Henri made in his response. It has been suggested that non-browser UAs, in particular editors (or "editing workflows"), may benefit from versioning information. However it is not clear why this would be uniquely important, or even necessary, metadata for an editor. Such a UA may also want to store information such as the current cursor position, or details of the allowed features according to a specific set of browsers that the author wished to target. I do not think such UAs benefit substantially from a version indicator and certainly I see no need to raise it to a privileged position above all other possible metadata.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] Jeremy Orlow

Output: Backwards compatibility is central to HTML. If your HTML needs to target specific versions of the spec, then we've failed. Adding the notion of versions to the DOCTYPE will simply confuse authors and provides no real benefit as far as I can tell. If we do for some reason, in the future, do need to break backwards compatibility, we should then consider adding a mechanism for citing versions. Until then, the version number will just be noise/overhead/confusing.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] Aryeh Gregor

Output: First, point #11 of the Rationale suggests that if an incompatible change to HTML is ever needed, adding support for version indicators now will help to avert the cost of switching to the new and incompatible version. But according to the proposal, browsers will treat a versioned doctype the same as an unversioned one, so why not just use the latter exclusively? If versioning ever needs to be added in the future, add it then. Pages with plain can then be treated as "old" pages, while ones with the new versioning syntax (whatever it is) will be "new" ones. Indeed, this is exactly what HTTP did. HTTP 0.9 had no explicit versioning, and when HTTP 1.0 added versioning, it provided that "If the protocol version is not specified, the recipient must assume that the message is in the simple HTTP/0.9 format." This scheme proved successful in practice, obviously. It is not explained why permitting versioning now makes later incompatible changes easier. As far as I can tell, this eliminates the rationale for the entire proposal, because it leaves no reason to actually permit explicit versioning now. Second, the Change Proposal (also in point #11 of the Rationale) states: """ In the history of computer languages, there are no languages that have not evolved, been extended, or otherwise "versioned" as long as the language has been in use. This applies to network protocols, character encoding standards, programming languages, and certainly to every known technology found on the web. There are no known cases where a language hasn't gone through some at least minor incompatible change. The standards process is established as a way of evolving specifications and implementations in a way to reduce the likelihood of complete failure to interoperate, but certainly not to guarantee that no incompatible changes will be needed in the future. """ I believe this is materially very wrong. HTML, CSS, and JavaScript are all languages that have maintained an extremely high degree of backward compatibility, and in particular have not ever used explicit versioning to date (that is, none that authors or UAs respected in practice, formal talismans notwithstanding). There are many other languages and interfaces that try to maintain this level of compatibility as well. The Linux system call API, the X Window System, and the Windows system call interface have all kept changes down to a level where they do not require programs or operating systems to advertise particular versions. I cannot think of a single programming language that requires programs to explicitly state what version of the language they're written in. (Perhaps this just shows my limited knowledge of programming languages, but then the original Change Proposal should have given supporting evidence for the claim in the first place.) Indeed, it's difficult to think of successful technologies that really rely on explicit versioning in practice. HTTP and XML have explicit versions, but in practice they're stuck at 1.1 and 1.0 respectively, and any new features that are adopted in practice are added backwards-compatibly, without incrementing the version number. So although they technically have version numbers, they're not good support for this Change Proposal. It's true that all languages sometimes need to break backward compatibility a bit, but version indicators are rarely necessary or helpful in doing this. In most cases, such breakage is kept as minimal as possible, so incrementing a version number would be excessive. In some cases, such as Python, there are large-scale backward compatibility breaks, but version indicators are still not used -- because they impose a permanent cost on the language to moderately ease a temporary transition period. On top of that, even if a few other languages do use explicit version indicators in the real world, they are not in the same position as web technologies. HTML is used by billions of people every day, and there are trillions of web pages in existence, under the control of countless different authors. Browser implementers have consistently emphasized that in order for people to use their browsers, they *cannot* break significant numbers of web pages. It is not a question of whether we want to change HTML incompatibly; it is impossible whether we want to or not, because market forces prohibit it. No reason is given for why this situation would ever change, as long as HTML remains widely deployed. Thus adding explicit version indicators is not only useless in the event of an incompatible change, as I explain in my first point. It also exemplifies one of the cardinal problems with pursuing long-term theoretical purity over short- to mid-term pragmatism: it burdens the language with extra syntax to avoid a problem that will very likely never exist, so that the cure is worse than the disease. In summary, the proposal seeks to address a nonexistent problem, and fails to do even that. On a final and more minor note, I also specifically object to the suggestion that the wording "mostly useless" be changed. It's good to use clear and forceful wording to help get the message out to authors that doctypes have no real purpose on the web, since they don't control browser processing (except by avoiding quirks mode). Weaker wording like "of limited utility" would reduce the effectiveness of this message. We do not need to write the spec in an overly formal fashion if that reduces the effectiveness of its phrasing.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] Tab Atkins Jr.

Output: Robin Berjon addressed the issue of a version indicator eloquently in his series on "XML Bad Practices", based on his experiences developing the SVG specification: http://berjon.com/blog/2009/12/xmlbp-naive-versioning.html. If content is expected to be rejected across version boundaries, then "versions" are actually different languages entirely. Pretending that they're just different versions helps no one, and so a versioning indicator is not needed. Luckily, HTML has never and likely will never fall into this category - the next category is the relevant one here. If content is expected to be accepted across version boundaries, then good "versioning" behavior must be relatively complex and subtle to correctly handle unknown (read: newly introduced) content. The versioning indicator itself doesn't help in any way with this - what happens if the author says the content is version 2, but uses a construct from version 1 that's obsolete in version 2, and a construct from version 3 that hadn't been thought of at the time version 2 was created? Proper error-handling (for the version1 construct) and forward-compatible design (for the version3 construct) needs to be designed into the language in the first place, and an additional version indicator provides precisely zero help here. Thus, a versioning indicator is never needed. As this appears to be the primary justification for this change proposal, then, I strongly object to changing the language in this way.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] Jace Voracek

Output: It is a key necessity for the World Wide Web to operate on a basis which does not require version-specific syntax with DOCTYPE for HTML in order to avoid confusion among platforms. Allowing such syntax may break the universal standards of HTML if many different DOCTYPE documents are produced.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Responder] David Singer

Output: - HTML and other core specifications of the Web platform are processed in an unversioned way in practice. Having an in-band version indicator is misleading to authors, who expect it to have a material effect, and creates a great deal of misunderstanding. - It may be tempting for some implementors to use a standard version indicator as an implementation version indicator. For reasons well-explained by Adam Barth, David Baron and others, this would have an anti-competitive effect on the browser market; content would end up locked in to specific bug profiles. - The proposal not only allows versioning in the doctype but also allows creation of ad-hoc custom doctypes. Profiling the language this way is likely to lead to interoperability problems. - If versioning is to be supported, versioning the doctype is inferior to versioning via an attribute; other specs use an attribute, XML documents generally would not use a doctype, and the doctype is not viable for compound documents such as Atom that embeds XHTML. - The change proposal argues that versioning in the doctype may be useful for controlled environments, but on the other hand argues that versioning must be ignored by implementations. If it has an effect, it creates an interoperability problem; if it has no effect, then it is unclear how it helps controlled environments.

Results of Questionnaire ISSUE-4 & ISSUE-84: HTML5 versioning and doctypes - Straw Poll for Objections - Web-Based Straw-poll and Balloting System

Objections to the Change Proposal to Allow much more general DOCTYPE syntax to be conforming, possibly including optional version information.


Input: [Function] avg [Arguments] node-set [Description] Average [Returns]

Output: number


Input: [Function] boolean-from-string [Arguments] string [Description] Type conversion [Returns]

Output: boolean


Input: [Function] count-non-empty [Arguments] node-set [Description] Count non-empty [Returns]

Output: number


Input: [Function] days-from-date [Arguments] string [Description] Days in epoch [Returns]

Output: number


Input: [Function] if [Arguments] boolean, string, string [Description] Conditional [Returns]

Output: string


Input: [Function] index [Arguments] string [Description] Repeat index [Returns]

Output: number


Input: [Function] instance [Arguments] string [Description] Locate instance [Returns]

Output: node-set


Input: [Function] max [Arguments] node-set [Description] Maximum [Returns]

Output: number


Input: [Function] min [Arguments] node-set [Description] Minimum [Returns]

Output: number


Input: [Function] months [Arguments] string [Description] Months in period [Returns]

Output: number


Input: [Function] now [Arguments] - [Description] Current time [Returns]

Output: string


Input: [Function] property [Arguments] string [Description] Feature value [Returns]

Output: string


Input: [Function] seconds [Arguments] string [Description] Seconds in period [Returns]

Output: number


Input: [Function] seconds-from-dateTime [Arguments] string [Description] Seconds in epoch [Returns]

Output: number


Input: [Attribute Name] next [Details]

Output: an ECMAScript expression which returns the URI of the CCXML document to be fetched.

Voice Browser Call Control: CCXML Version 1.0


Input: [Attribute Name] namelist [Details]

Output: a list of zero or more whitespace separated CCXML variable names. These variable names and their associated values will be included in the URI sent to the server, with the same qualification used in the namelist.

Voice Browser Call Control: CCXML Version 1.0


Input: [Attribute Name] method [Details]

Output: an ECMAScript expression which returns a character string that indicates the HTTP method to use. Valid values are " get " and " post ". The default is " get ".

Voice Browser Call Control: CCXML Version 1.0


Input: [Attribute Name] fetchid [Details]

Output: is an ECMAScript left-hand-side expression which receives an internally generated unique string identifier to be associated with the completion event. This identifier can be tested by the fetch completion event handler to distinguish among several outstanding fetch requests. If this attribute is not specified, the fetch ID can be acquired from the fetch completion event. Every fetch request will receive a unique fetch ID, even requests for the same document.

Voice Browser Call Control: CCXML Version 1.0


Input: [Attribute Name] synch [Details]

Output: is an ECMAScript left-hand-side expression that is set to the fetch completion event. The specification of this attribute in a implies a blocking fetch, which will be executed synchronously. If this attribute is not specified, the fetch is asynchronous.

Voice Browser Call Control: CCXML Version 1.0


Input: [Attribute Name] timeout [Details]

Output: is an ECMAScript expression returning a string in CSS2 [CSS2] format interpreted as a time interval. The interval begins when the is executed. The fetch will fail if not completed at the end of this interval. A failed fetch will return the error.fetch event.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] string-set [Value] [[ ] [, ]* ] | none [Initial] none [Inh.] no [%ages] N/A [Media] all [Computed value] specified value [Applies to]

Output: all elements, but not pseudo-elements

CSS Generated Content for Paged Media Module


Input: [Name] running [Initial] none [Inh.] no [%ages] N/A [Media] all [Computed value] specified value [Applies to]

Output: elements

CSS Generated Content for Paged Media Module


Input: [Name] footnote-display [Value] block | inline | compact [Initial] block [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Applies to]

Output: elements

CSS Generated Content for Paged Media Module


Input: [Name] footnote-policy [Value] auto | line | block [Initial] auto [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Applies to]

Output: elements

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-level [Value] none | [Initial] none [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Applies to]

Output: all elements

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-label [Value] | none [Initial] none [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Applies to]

Output: all elements

CSS Generated Content for Paged Media Module


Input: [Name] bookmark-state [Value] open | closed [Initial] open [Inh.] no [%ages] N/A [Media] paged [Computed value] specified value [Applies to]

Output: block-level elements

CSS Generated Content for Paged Media Module


Input: [0] GET [LDP Resource = GSP graph] No conflict [LDP Resource = GSP endpoint] No conflict, GSP returns undefined [LDP Collection = GSP endpoint] No conflict, GSP returns undefined [LDP Collection = GSP graph]

Output: No conflict

Difference between revisions of "Linked Data Platform (LDP) vs SPARQL Graph Store HTTP Protocol (GSP)" - Linked Data Platform


Input: [0] HEAD [LDP Resource = GSP graph] No conflict [LDP Resource = GSP endpoint] No conflict; added LDP headers [LDP Collection = GSP endpoint] No conflict; added LDP headers [LDP Collection = GSP graph]

Output: No conflict; added LDP headers

Difference between revisions of "Linked Data Platform (LDP) vs SPARQL Graph Store HTTP Protocol (GSP)" - Linked Data Platform


Input: [0] OPTIONS [LDP Resource = GSP graph] No conflict [LDP Resource = GSP endpoint] No conflict; added LDP headers [LDP Collection = GSP endpoint] No conflict; added LDP headers [LDP Collection = GSP graph]

Output: No conflict; added LDP headers

Difference between revisions of "Linked Data Platform (LDP) vs SPARQL Graph Store HTTP Protocol (GSP)" - Linked Data Platform


Input: [0] PUT [LDP Resource = GSP graph] No conflict [LDP Resource = GSP endpoint] Conflict [LDP Collection = GSP endpoint] Conflict [LDP Collection = GSP graph]

Output: No conflict

Difference between revisions of "Linked Data Platform (LDP) vs SPARQL Graph Store HTTP Protocol (GSP)" - Linked Data Platform


Input: [0] POST [LDP Resource = GSP graph] No conflict [LDP Resource = GSP endpoint] Conflict [LDP Collection = GSP endpoint] Conflict [LDP Collection = GSP graph]

Output: No conflict? Different functionality is to be expected, but do not influence each other

Difference between revisions of "Linked Data Platform (LDP) vs SPARQL Graph Store HTTP Protocol (GSP)" - Linked Data Platform


Input: [0] DELETE [LDP Resource = GSP graph] No conflict [LDP Resource = GSP endpoint] No conflict [LDP Collection = GSP endpoint] No conflict [LDP Collection = GSP graph]

Output: No conflict

Difference between revisions of "Linked Data Platform (LDP) vs SPARQL Graph Store HTTP Protocol (GSP)" - Linked Data Platform


Input: [0] PATCH [LDP Resource = GSP graph] No conflict [LDP Resource = GSP endpoint] No conflict [LDP Collection = GSP endpoint] No conflict [LDP Collection = GSP graph]

Output: Conflict; changes through GSP can break consistency in LDPC

Difference between revisions of "Linked Data Platform (LDP) vs SPARQL Graph Store HTTP Protocol (GSP)" - Linked Data Platform


Input: [Name] src [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] a valid Dialog URL [Description] An ECMAScript expression which returns a character string identifying the URI of the dialog document that the dialog interpreter should load and begin execution upon startup. [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the prepareddialogid attribute.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] prepareddialogid [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] a valid dialogid [Description] An ECMAScript expression which returns a dialog identifier of a dialog previously prepared by the execution of a dialogprepare element. If the specified dialog identifier refers to an unknown dialog or a dialog that has already been executed, by way of another dialogstart element, an error.dialogwrongstate event is thrown. [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the src, type or namelist attributes.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] type [Required] false [Type] ECMAScript Expression [Default Value] application/voicexml+xml [Valid Values] a Valid MIME Type [Description] An ECMAScript expression which returns a character string that specifies the MIME type of the document, and as a result determines which dialog manager environment is actually used. Values defined by the specification are: application/voicexml+xml This MIME type would request a VoiceXML interpreter instance. audio/wav This MIME type would request a dialog manager that merely plays wave files. [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the prepareddialogid attribute.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Type] Var List [Default Value] none [Valid Values] List of ECMAScript Variable names [Description] A list of one or more whitespace separated CCXML variable names. These variables will be submitted to the server, with the same qualification as used in the namelist. When an ECMAscript variable is submitted to the server, its value is first converted into a string before being submitted. If the variable is an ECMAScript Object, the mechanism by which it is submitted is not currently defined. Instead of submitting ECMAScript Objects directly, the application developer may explicitly submit the properties of an Object. e.g. "date.month date.year". [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the prepareddialogid attribute.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] connectionid [Required] false [Type] ECMAScript Expression [Default Value] comes from the event being processed [Valid Values] Connection IDs [Description] An Optional ECMAScript expression which returns the identifier of a connection. The specified connection will be associated with the dialog being prepared. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown. [Attribute Constraints]

Output: Can not be used with conferenceid.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] conferenceid [Required] false [Type] ECMAScript Expression [Default Value] comes from the event being processed [Valid Values] Conference IDs [Description] An Optional ECMAScript expression which returns the identifier of a conference bridge. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown. [Attribute Constraints]

Output: Can not be used with connectionid.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] mediadirection [Required] false [Type] ECMAScript Expression [Default Value] both [Valid Values] both dialogtransmit dialogreceive [Description] An ECMAScript expression that defines the direction of the media flow between the Dialog and the Connection or Conference. The following values can be used: both Specifies a full duplex connection where the media flows in both directions. dialogtransmit The dialog transmits media to the Connection or Conference but does not receive any media streams. dialogreceive The dialog receives media from the Connection or Conference but does not transmit any media streams. If both the mediadirection and the prepareddialogid are specified and the bridge type specified by the mediadirection attribute does not match that used on the previous dialogprepare element, an error.dialog.notstarted event will be raised. If no value for the mediadirection attribute was specified on the previous dialogprepare element, any mediadirection type option may be specified. [Attribute Constraints]

Output: If used in conjunction with prepareddialogid , the bridge type must match that used on the previous dialogprepare element.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxage [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content whose age is no greater than the specified time in seconds (cf. 'max-age' in HTTP 1.1 [RFC2616]). The document is not willing to use stale content, unless maxstale is also provided. [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the prepareddialogid attribute.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxstale [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content that has exceeded its expiration time (cf. 'max-age' in HTTP 1.1 [RFC2616]). If maxstale is assigned a value, then the document is willing to accept content that has exceeded its expiration time by no more than the specified number of seconds. [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the prepareddialogid attribute.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] enctype [Required] false [Type] ECMAScript Expression [Default Value] application/x-www-form-urlencoded [Valid Values] valid media encoding type [Description] An ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document (when the value of the method is "post"). Values defined by the specification are: application/x-www-form-urlencoded This indicates that the ccxml variables specified in the namelist will be url encoded. [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the prepareddialogid attribute. Valid only when the value of the method is "post".

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] method [Required] false [Type] ECMAScript Expression [Default Value] get [Valid Values] get post [Description] An ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: get This indicates that the "GET" method will be used by the dialog manager. post This indicates that the "POST" method will be used by the dialog manager. [Attribute Constraints]

Output: This attribute may not be specified in conjunction with the prepareddialogid attribute.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] clip-path [Value] | [ || ] | none [Initial] none [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] as specified [Media] visual [Animatable] as specified for [CSS-SHAPES], otherwise no [Computed value]

Output: as specified, but with values made absolute


Input: [Name] clip-rule [Value] nonzero | evenodd [Initial] nonzero [Applies to] Applies to SVG graphics elements [Inh.] yes [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask-image [Value] # [Initial] none [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified, but with URIs made absolute


Input: [Name] mask-mode [Value] # [Initial] auto [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask-repeat [Value] # [Initial] no-repeat [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: Consists of: two keywords, one per dimension


Input: [Name] mask-position [Value] # [Initial] center [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] refer to size of mask painting area minus size of mask layer image; see text background-position [CSS3BG] [Media] visual [Animatable] as repeatable list of simple list of length, percentage, or calc [Computed value]

Output: Consisting of: two keywords representing the origin and two offsets from that origin, each given as an absolute length (if given a ), otherwise as a percentage.


Input: [Name] mask-clip [Value] [ | no-clip ]# [Initial] border-box [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask-origin [Value] # [Initial] border-box [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask-size [Value] # [Initial] auto [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] as repeatable list of simple list of length, percentage, or calc (This means keyword values are not animatable.) [Computed value]

Output: as specified, but with lengths made absolute


Input: [Name] mask-composite [Value] # [Initial] add [Applies to] All elements. In SVG, it applies to container elements without the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask [Value] # [Initial] see individual properties [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] see individual properties [Media] visual [Animatable] see individual properties [Computed value]

Output: see individual properties


Input: [Name] mask-border-source [Value] none | [Initial] none [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: none or the image with its URI made absolute


Input: [Name] mask-border-mode [Value] luminance | alpha [Initial] alpha [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask-border-slice [Value] [ | ]{1,4} fill? [Initial] 0 [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] refer to size of the mask border image [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask-border-width [Value] [ | | | auto ]{1,4} [Initial] auto [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] relative to width/height of the mask border image area [Media] visual [Animatable] no [Computed value]

Output: all s made absolute, otherwise as specified


Input: [Name] mask-border-outset [Value] [ | ]{1,4} [Initial] 0 [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: all s made absolute, otherwise as specified


Input: [Name] mask-border-repeat [Value] [ stretch | repeat | round | space ]{1,2} [Initial] stretch [Applies to] All elements. In SVG, it applies to container elements excluding the element and all graphics elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] mask-border [Value] <‘mask-border-source’> || <‘mask-border-slice’> [ / <‘mask-border-width’>? [ / <‘mask-border-outset’> ]? ]? || <‘mask-border-repeat’> || <‘mask-border-mode’> [Initial] See individual properties [Applies to] See individual properties [Inh.] no [%ages] n/a [Media] visual [Animatable] See individual properties [Computed value]

Output: See individual properties


Input: [Name] mask-type [Value] luminance | alpha [Initial] luminance [Applies to] mask elements [Inh.] no [%ages] n/a [Media] visual [Animatable] no [Computed value]

Output: as specified


Input: [Name] clip [Value] | auto [Initial] auto [Applies to] Absolutely positioned elements. In SVG, it applies to elements which establish a new viewport, elements and mask elements. [Inh.] no [%ages] n/a [Media] visual [Animatable] as rectangle [Computed value]

Output: as specified


Input: [Name] next [Required] true [Type] ECMAScript Expression [Default Value] none [Valid Values] a valid URL [Description]

Output: An ECMAScript expression which returns the URI of the resource to be fetched.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Type] Var List [Default Value] none [Valid Values] List of ECMAScript Variable names [Description]

Output: A list of zero or more whitespace separated CCXML variable names. These variables will be submitted to the server, with the same qualification as used in the namelist. When an ECMAscript variable is submitted to the server, its value is first converted into a string before being submitted. If the variable is an ECMAScript Object, the mechanism by which it is submitted is not currently defined. Instead of submitting ECMAScript Objects directly, the application developer may explicitly submit the properties of an Object. e.g. "date.month date.year".

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] method [Required] false [Type] ECMAScript Expression [Default Value] get [Valid Values] get post [Description]

Output: An ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: get This indicates that the "GET" method will be used to fetch the URL. post This indicates that the "POST" method will be used while submitting the URL to the server.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] sessionid [Required] false [Type] ECMAScript Left Hand Side Expression [Default Value] none [Valid Values] ECMAScript Variable [Description]

Output: An ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute will receive an internally generated unique string identifier which identifies the newly created session.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] timeout [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression which returns a character string in CSS2 [CSS2] format [Description]

Output: The character string returned is interpreted as a time interval. This time interval is interpreted by the new CCXML session as the maximum time it should wait for the completion of the fetch for the initial document specified by the next attribute. If the new CCXML session is unable to fetch the initial document within the timeout interval, an error.fetch event must be thrown.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxage [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description]

Output: The character string returned is interpreted as a time interval. This indicates that the document is willing to use content whose age is no greater than the specified time in seconds (cf. 'max-age' in HTTP 1.1 [RFC2616]). The document is not willing to use stale content, unless maxstale is also provided.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxstale [Required] false [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description]

Output: The character string returned is interpreted as a time interval. This indicates that the document is willing to use content that has exceeded its expiration time (cf. 'max-age' in HTTP 1.1 [RFC2616]). If maxstale is assigned a value, then the document is willing to accept content that has exceeded its expiration time by no more than the specified number of seconds.

Voice Browser Call Control: CCXML Version 1.0