Input: [Change] Allow positional variable bindings to be optional in window variables. [Bugzilla] [XQX30] positionalVariableBinding should be optional in windowVars [Category] Substantive. [Description]

Output: Modified XQueryX schema to add minOccurs="0" on element positionalVariableBinding in windowVars complex type definition.


Input: [Change] XQueryX syntax must allow wildcards in the try/catch error list. [Bugzilla] [XQX30] cannot represent a catchErrorList wildcard in XQueryX [Category] Substantive. [Description]

Output: In XQueryX schema, modified catchErrorList complex type definition to allow a choice between a nameText (essentially a QName) and a Wildcard. In XQueryX stylesheet, modified catchErrorList template to support Wildcard as well as nameText.


Input: [Change] Private functions. [Bugzilla] None. [Category] Substantive. [Description]

Output: In XQueryX schema, added new attribute "private" in functionDecl complex type. In XQUeryX stylesheet, template for functionDecl, added support for @private (generate "private" for private functions and "public" for others)


Input: [Change] Replace "outer for" with "allowing empty". [Bugzilla] None. [Category] Substantive. [Description]

Output: In XQueryX schema, forClause complex type, delete attribute "outer"; in forClauseItem complex type, add new element allowingEmpty. In XQueryX stylesheet template for forClause, remove generation of "outer"; in template for forClauseItem, generate "allowing empty".


Input: [Change] Higher-order functions. [Bugzilla] None. [Category] Substantive. [Description]

Output: Made changes to XQueryX schema and stylesheet corresponding to new higher-order function syntax in XQuery 1.1.


Input: [Change] New "switch" expression ("value switch", analogous to typeswitch). [Bugzilla] None. [Category] Substantive. [Description]

Output: Made changes to XQueryX schema and stylesheet corresponding to new switch syntax in XQuery 3.0.


Input: [Change] Support for partial function application. [Bugzilla] None. [Category] Substantive. [Description]

Output: Made changes to XQueryX schema and stylesheet to support the partial function application capability of XQuery 3.0.


Input: [Change] XML Schema and XSLT Stylesheet [Bugzilla] lack of syntactic symmetry between the control flow expressions [Category] Substantive. [Description]

Output: Eliminated the possibility of defining three "error variables" as part of the catch clause; those variables (and others) are now implicitly defined, and may be used without explicit definition. At the same time, fixed a bug in the schema and stylesheet that recognized and produced invalid syntax for the validation expression.


Input: [Name] string-bag-size [Return Value] An attribute value of http://www.w3.org/2001/XMLSchema#integer representing the size of the bag. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#string

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] boolean-bag-size [Return Value] An attribute value of http://www.w3.org/2001/XMLSchema#integer representing the size of the bag. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#boolean

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] integer-bag-size [Return Value] An attribute value of http://www.w3.org/2001/XMLSchema#integer representing the size of the bag. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#integer

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] double-bag-size [Return Value] An attribute value of http://www.w3.org/2001/XMLSchema#integer representing the size of the bag. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#double

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] time-bag-size [Return Value] An attribute value of http://www.w3.org/2001/XMLSchema#integer representing the size of the bag. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#time

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] date-bag-size [Return Value] An attribute value of http://www.w3.org/2001/XMLSchema#integer representing the size of the bag. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#date

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] dateTime-bag-size [Return Value] An attribute value of http://www.w3.org/2001/XMLSchema#integer representing the size of the bag. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#dateTime

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] string-bag-to-value [Return Value] This function checks whether the bag contains one and only one attribute value. If it is true, then an attribute value of http://www.w3.org/2001/XMLSchema#string representing the only one value is returned, otherwise an error is returned. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#string

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] boolean-bag-to-value [Return Value] This function checks whether the bag contains one and only one attribute value. If it is true, then an attribute value of http://www.w3.org/2001/XMLSchema#boolean representing the only one value is returned, otherwise an error is returned. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#boolean

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] integer-bag-to-value [Return Value] This function checks whether the bag contains one and only one attribute value. If it is true, then an attribute value of http://www.w3.org/2001/XMLSchema#integer representing the only one value is returned, otherwise an error is returned. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#integer

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] double-bag-to-value [Return Value] This function checks whether the bag contains one and only one attribute value. If it is true, then an attribute value of http://www.w3.org/2001/XMLSchema#double representing the only one value is returned, otherwise an error is returned. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#double

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] time-bag-to-value [Return Value] This function checks whether the bag contains one and only one attribute value. If it is true, then an attribute value of http://www.w3.org/2001/XMLSchema#time representing the only one value is returned, otherwise an error is returned. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#time

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] date-bag-to-value [Return Value] This function checks whether the bag contains one and only one attribute value. If it is true, then an attribute value of http://www.w3.org/2001/XMLSchema#date representing the only one value is returned, otherwise an error is returned. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#date

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] dateTime-bag-to-value [Return Value] This function checks whether the bag contains one and only one attribute value. If it is true, then an attribute value of http://www.w3.org/2001/XMLSchema#dateTime representing the only one value is returned, otherwise an error is returned. [Arguments]

Output: A single bag of attribute values of http://www.w3.org/2001/XMLSchema#dateTime

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] string-bag [Return Value] A bag of http://www.w3.org/2001/XMLSchema#string containing all the argument values. [Arguments]

Output: Zero or more attribute values of http://www.w3.org/2001/XMLSchema#string

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] boolean-bag [Return Value] A bag of http://www.w3.org/2001/XMLSchema#boolean containing all the argument values. [Arguments]

Output: Zero or more attribute values of http://www.w3.org/2001/XMLSchema#boolean

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] integer-bag [Return Value] A bag of http://www.w3.org/2001/XMLSchema#integer containing all the argument values. [Arguments]

Output: Zero or more attribute values of http://www.w3.org/2001/XMLSchema#integer

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] double-bag [Return Value] A bag of http://www.w3.org/2001/XMLSchema#double containing all the argument values. [Arguments]

Output: Zero or more attribute values of http://www.w3.org/2001/XMLSchema#double

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] time-bag [Return Value] A bag of http://www.w3.org/2001/XMLSchema#time containing all the argument values. [Arguments]

Output: Zero or more attribute values of http://www.w3.org/2001/XMLSchema#time

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] date-bag [Return Value] A bag of http://www.w3.org/2001/XMLSchema#date containing all the argument values. [Arguments]

Output: Zero or more attribute values of http://www.w3.org/2001/XMLSchema#date

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Name] dateTime-bag [Return Value] A bag of http://www.w3.org/2001/XMLSchema#dateTime containing all the argument values. [Arguments]

Output: Zero or more attribute values of http://www.w3.org/2001/XMLSchema#dateTime

Enterprise Privacy Authorization Language (EPAL 1.2)


Input: [Property] address [Description] Physical address of the item. [Expected Type]

Output: PostalAddress

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] aggregateRating [Description] The overall rating, based on a collection of reviews or ratings, of the item. [Expected Type]

Output: aggregateRating

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] geo [Description] The geo coordinates of the place. [Expected Type]

Output: GeoCoordinates or GeoShape

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] map [Description] A URL to a map of the place. [Expected Type]

Output: URL

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] photos [Description] Photographs of this place [Expected Type]

Output: ImageObject or Photograph

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] reviews [Description] Review of the item [Expected Type]

Output: Review

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] telephone [Description] The telephone number. [Expected Type]

Output: Text

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] address [Expected Type] PostalAddress [Description]

Output: Physical address of the item.

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] aggregateRating [Expected Type] aggregateRating [Description]

Output: The overall rating, based on a collection of reviews or ratings, of the item.

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] geo [Expected Type] GeoCoordinates or GeoShape [Description]

Output: The geo coordinates of the place.

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] map [Expected Type] URL [Description]

Output: A URL to a map of the place.

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] photos [Expected Type] ImageObject or Photograph [Description]

Output: Photographs of this place

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] reviews [Expected Type] Review [Description]

Output: Review of the item

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Property] telephone [Expected Type] Text [Description]

Output: The telephone number.

Difference between revisions of "WebSchemas/VacationRentals" - W3C Wiki


Input: [Keyword] hidden [State] Hidden [Control type] n/a [Data type]

Output: An arbitrary string


Input: [Keyword] text [State] Text [Control type] A text field [Data type]

Output: Text with no line breaks


Input: [Keyword] search [State] Search [Control type] Search field [Data type]

Output: Text with no line breaks


Input: [Keyword] tel [State] Telephone [Control type] A text field [Data type]

Output: Text with no line breaks


Input: [Keyword] url [State] URL [Control type] A text field [Data type]

Output: An absolute URL


Input: [Keyword] email [State] E-mail [Control type] A text field [Data type]

Output: An e-mail address or list of e-mail addresses


Input: [Keyword] password [State] Password [Control type] A text field that obscures data entry [Data type]

Output: Text with no line breaks (sensitive information)


Input: [Keyword] datetime [State] Date and Time [Control type] A date and time control [Data type]

Output: A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC


Input: [Keyword] date [State] Date [Control type] A date control [Data type]

Output: A date (year, month, day) with no time zone


Input: [Keyword] month [State] Month [Control type] A month control [Data type]

Output: A date consisting of a year and a month with no time zone


Input: [Keyword] week [State] Week [Control type] A week control [Data type]

Output: A date consisting of a week-year number and a week number with no time zone


Input: [Keyword] time [State] Time [Control type] A time control [Data type]

Output: A time (hour, minute, seconds, fractional seconds) with no time zone


Input: [Keyword] datetime-local [State] Local Date and Time [Control type] A date and time control [Data type]

Output: A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone


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

Output: A numerical value


Input: [Keyword] range [State] Range [Control type] A slider control or similar [Data type]

Output: A numerical value, with the extra semantic that the exact value is not important


Input: [Keyword] color [State] Color [Control type] A color well [Data type]

Output: An sRGB color with 8-bit red, green, and blue components


Input: [Keyword] checkbox [State] Checkbox [Control type] A checkbox [Data type]

Output: A set of zero or more values from a predefined list


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

Output: An enumerated value


Input: [Keyword] file [State] File Upload [Control type] A label and a button [Data type]

Output: Zero or more files each with a MIME type and optionally a file name


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: [Definition] Character data [Attribute Type]

Output: CDATA

XHTML Modularization 1.1 - Second Edition - Defining Abstract Modules


Input: [Definition] A document-unique identifier [Attribute Type]

Output: ID

XHTML Modularization 1.1 - Second Edition - Defining Abstract Modules


Input: [Definition] A reference to a document-unique identifier [Attribute Type]

Output: IDREF

XHTML Modularization 1.1 - Second Edition - Defining Abstract Modules


Input: [Definition] A space-separated list of references to document-unique identifiers [Attribute Type]

Output: IDREFS

XHTML Modularization 1.1 - Second Edition - Defining Abstract Modules


Input: [Definition] A name with the same character constraints as ID above [Attribute Type]

Output: NAME

XHTML Modularization 1.1 - Second Edition - Defining Abstract Modules


Input: [Definition] A name composed of only name tokens as defined in XML 1.0 [XML] [Attribute Type]

Output: NMTOKEN

XHTML Modularization 1.1 - Second Edition - Defining Abstract Modules


Input: [Definition] One or more white space separated NMTOKEN values [Attribute Type]

Output: NMTOKENS

XHTML Modularization 1.1 - Second Edition - Defining Abstract Modules


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] A 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 URL [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] A 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: [attribute] archive [function]

Output: For example, when defining an applet you could reference a space-separated list of jar files.


Input: [attribute] content-length [function]

Output: This is similar to meta data, in that this can be used by the object handler as a hint to the physical size of the object data that is to be processed.


Input: [attribute] data [function]

Output: This URI points to the object data to be processed. This can be an absolute URI (http://www.example.com/datafiles/myinstance.mpg), or a relative URI (myinstance.mpg). If you use a relative URI, then you will need to use the xml:base attribute to define the base location of the object data. This attribute should only refer to the data to be processed.


Input: [attribute] declare [function]

Output: This is used to delay the processing of the object data until such time that it is referred to by another element that requires the object data to be processed. In other words, the object data should be downloaded but should not be processed. For example, if an a element is coded to refer to the object element and the a element is activated, then the object data would be processed.


Input: [attribute] type [function]

Output: Defining the mime type of the object data will assist the object handler in determining whether the object data can be processed by the user agent or if an external application needs to be launched to process the object data.


Input: [attribute] xml:base [function]

Output: Use this attribute to define the base location of the object data. For example: http://www.example.com/datafiles/. This attribute should not be used for any other purpose.


Input: [Competency] Explain the difference between server side and client side scripts. Summarize the origin and development of PHP. List and briefly describe the most common alternatives to PHP. List some well known web sites and applications that has been built in PHP. Briefly explain the concept of Open Source. List some well-known public mailing lists, IRC channels and discussion forums where you can find help with PHP. [Evaluation Methods] Final exam [Topic]

Output: PHP history and uses

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate installing an HTTP-server, PHP and MySQL on a computer. Demonstrate the usage of php.ini and .htaccess Explain why display_errors should be off on a production web server. List some commonly used PHP-modules and demonstrate how to activate them on a web server. Demonstrate how to get information about a PHP-installation using phpinfo() and php -m. Demonstrate how to use PHP CLI. Demonstrate how to install an IDE or editor for PHP development. Explain the purpose and usage of development and staging servers. Explain the purpose of a version control system. [Evaluation Methods] Module 1: Installation Final exam [Topic]

Output: Installation and basic configuration of PHP and an IDE

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate how to switch between HTML-mode and PHP mode. List what types of php tags that you can use, and explain the potential pitfalls of using short open tags. (Note to teachers: Turn open tags off on the server you provide.) Demonstrate how to use single line, multi line and PhpDoc-style comments. Demonstrate how to separate instructions. Demonstrate how to use the echo and print statements. Recognize the differences between the two. [Evaluation Methods] Module 1: Installation Final exam Final assignment [Topic]

Output: Basic PHP syntax

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of server side includes and why it is better than client side frames. Describe the differences between PHP’s include, include_once, require and require_once commands. Explain performance benefits of using absolute paths when including files. Explain why included files should always reside outside of the server root directory. Demonstrate how PHP can make client side frames redundant. [Evaluation Methods] Assignment 1: Use PHP as a Template System [Topic]

Output: Using PHP as a simple template engine

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Note: This is meant as an overview. No in-depth knowledge yet. Briefly discuss key characteristics of a well written PHP_application. Demonstrate how to write readable and properly indented code. Demonstrate basic knowledge about coding conventions, especially the PEAR coding standard. Explain what revision control is. Show basic knowledge about phpDocumentor. Use the most basic tags in phpDocumentor and produce generated documentation for your code. Explain what bug tracking is. List a few well known bug trackers. [Evaluation Methods] (Most assignments will touch upon these concepts in some way.) Final assignment. Final exam. [Topic]

Output: PHP best practices overview

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of identifiers and list some identifier names one is not allowed to use in PHP. Explain the concept of sigils. Explain the consept of data types and compare strong and weak typing. Demonstrate type checking and type juggling. Recognize that all user-submitted data, and all data-base results, are strings to PHP. Demonstrate how to check for numeric values in strings. Explain the null value, and describe the difference between variables that are null and variables that have not been set. Demonstrate how to use the isset() and empty() functions. Explain what values in PHP that convert to false, when used in a boolean check. Demonstrate usage of variables and constants, using best practice naming conventions. Recognize the different kinds of constants in PHP (built in, magic, user defined; global, class). Demonstrate different syntaxes for setting constants (define and const - also for global constants since PHP 5.3) Explain the concept of statements. Demonstrate correct usage of statements and block statements. Explain the concept of expressions. Demonstrate correct usage of expressions. Explain what operators are and demonstrate correct usage of all common operators. Explain the concept of functions and all associated terminology and demonstrate how to write and use functions. Explain and use assignment by value and assignment by reference. Explain what arrays are in PHP and contrast the implementation to a few other programming languages. Demonstrate how to create and manipulate arrays and how to access individual items in arrays. Recognize all error levels in PHP and explain the difference between an error and an exception. Demonstrate how to handle errors appropriately. [Evaluation Methods] (Modules with exercises are appreciated.) Final assignment. Final exam. [Topic]

Output: Programming concepts

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the most commonly used HTTP methods (get, post, head) Demonstrate how to fetch information from the client using $_SERVER. Explain MIME-types, and demonstrate how to set MIME-types using PHP’s header-function. [Evaluation Methods] Module 2 (a): Emulate HTTP-connections with netcat or telnet Module 2 (b): Analyze HTTP-traffic using Firebug or a similar tool. Final assignment. Final exam. [Topic]

Output: HTTP

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Note: For any audience using non ascii-characters (almost everybody outside the USA and UK) this is essential! Describe the basics of character encodings and compare the terminology used by Unicode to the terminology used in HTTP-headers encoding vs. charset. Demonstrate how to specify the encoding used in a script (the setting on your editor or IDE). Explain the difference between multi-byte encodings and single-byte encodings. Demonstrate how to use multi-byte string functions in PHP 5.x. Recognize problems that might occur in PHP because of misinterpreted character encodings. Demonstrate how to set character encoding in HTTP-headers, using the http-server tools and PHP. List the characters that have a highest potential for abuse (e.g. “null” and “eof”) and demonstrate how to filter input to avoid them using ctype functions. Demonstrate how to set the encoding (and collation) in a MySQL table or field, using PhpMyAdmin or a similar tool. Demonstrate how to convert text between different encodings. [Evaluation Methods] Assignment 3. Final assignment Final exam Extra questions for SS 2: Explain what a BOM is and how it can cause problems for PHP scripts. What is the difference between little endian and big endian UTF-16? What is Unicode normalization? [Topic]

Output: Character encoding

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of locales. Demonstrate how to set timezones for PHP scripts. Demonstrate how to set locale for PHP scripts. Explain the concept of collation and demonstrate how to use locale aware string and array comparison and sorting. Demonstrate how locale and timezone information affects date and time functionality in PHP. Use the basic date and time functions. [Evaluation Methods] (Modules with exercises are appreciated.) Final exam Final assignment [Topic]

Output: Locales, timezones and time functions.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of a string. Compare the two types of strings there is in PHP 6. Demonstrate how to set them and convert between them. Demonstrate how to get the length of a string and access its characters by index Demonstrate how to handle single and double quotes in strings with variables. Demonstrate how to concatenate strings. Demonstrate how to use heredoc and nowdoc. Recognize the two syntaxes that exist for heredoc as of PHP 5.3. Demonstrate how to escape characters in strings. Demonstrate correct usage of basic string functions, e.g. strlen, substr, strstr, strpos, trim, strtolower, with variants. Demonstrate how to compare strings, using operators and comparison functions like strcmp or strcoll. Demonstrate how to check the integrity of string contents using the ctype-functions. Explain the concept of regular expressions, exemplify when they can be used and demonstrate simple usage. [Evaluation Methods] Assignment 3. Final exam. Final assignment. [Topic]

Output: Strings

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate how to iterate over an array using the foreach function. Demonstrate how to sort arrays. Demonstrate how to perform a function call on each value in an array. Specifically, demonstrate how to remove magic quotes from GPC-data. Explain what the cursor is in an array and demonstrate how to walk through arrays. Demonstrate how to use assign multiple variables from array values using the list() language construct. Demonstrate how to check for the existence of specific keys or values within an array. Demonstrate how to attach and how to delete values at both the bottom and top of an array. [Evaluation Methods] Assignment 3. Final exam. Final assignment. [Topic]

Output: Array usage and array functions

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain some benefits of Object Oriented programming compared to procedural programming. Explain basic OO terminology. Demonstrate how to define and instantiate classes in PHP. Explain constructors and destructors, how to name constructors in PHP 4 and 5+ and how to use constructors. Demonstrate how to use the $this pseudovariable. Explain the concept of inheritance och demonstrate how to use the extends keyword. Explain the concept of polymorfism and demonstrate how to use interfaces and abstract classes in PHP. Briefly explain the differences in the object model between PHP 4 and PHP 5. Explain visibility of properties and methods. Explain class constants, static properties and methods and demonstrate how to use the scope resolution operator (Paamayim Nekudotayim). [Evaluation Methods] (Modules with exercises are appreciated.) Final exam Final assignment [Topic]

Output: Objects and classes (simple overview)

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the types of errors in PHP. Handle interaction errors e.g. GET-data does not match DB-record might produce a 404. Use good error handling strategies. E.g: Differentiate between development servers (show on page) vs. production servers (log errors). Make usable error pages and understandable error messages. Send the correct HTTP status code for error pages. Recognize exceptions and handle them using try and catch. [Evaluation Methods] (Modules with exercises are appreciated.) Final exam. Final assignment. [Topic]

Output: Error handling and exceptions

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize what separation of concerns mean for PHP development. Recognize the following concepts: Presentation logic and templates, business logic and data storage logic. Demonstrate a secure and logical directory structure for PHP applictions. Explain include paths. Demonstrate how to write an application that does not depend on being in a specific root directory. Demonstrate a good strategy for filtering all untrusted data. Demonstrate consistent and appropriate escaping of output data. Implement usable, SEO-friendly and hackable URL:s. Recognize rewrite rules. Recognize the abbreviation MVC and briefly explain the rationale behind it. [Evaluation Methods] Exercise 4. Final exam. Final assignment. [Topic]

Output: Server side architecture

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain why client side checks only can be used to offload a server and provide better usability, never for security. Explain why GPC-data might be quoted in PHP 4.x and 5.x. Explain what problems magic quotes were intended to solve, why they did not work properly and are being removed in PHP 6 and how they can be removed in a script. Explain how the superglobal array $_POST relates to name attributes in HTML forms. Demonstrate handling posted data. Recognize the usage of register globals and explain why it is a security hazard. Recognize the bad habit of manually making EGPCS-data into regular variables ($foo = $_POST[‘foo’] or extract($_POST)). Recognize the usage of $_REQUEST and explain why it is considered bad practice to use it. Recognize how sensitive data can be transmitted securily, using encryption. Recognize the abbreviations SSL and TLS. [Evaluation Methods] Exercise 5. Final exam. Final assignment. [Topic]

Output: Handling posted data

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate simple usage of the mail() function in PHP. Recognize the concept SMTP injection and demonstrate how to avoid it. [Evaluation Methods] Exercise 5. Final exam. Final assignment. [Topic]

Output: Sending email

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the sessionless nature of HTTP. Recognize session fixation and session hijacking. Use session_regenerate_id and set session ID using cookies only. Recognize HTTP-authentication in PHP. Preventing multiple submits of a form. Demonstrate how to prevent cross-posting using a session variable. [Evaluation Methods] Final exam. Final assignment. [Topic]

Output: Sessions and authentication

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of cookies and how they are passed to the server from the browser. Demonstrate how to set and read cookies. Explain the security benefits of server side only cookies, and demonstrate how to set them. [Evaluation Methods] Final exam. Final assignment. [Topic]

Output: Cookies

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate how to read from and write to files. Recognize the different flags used to control the opening of file sockets. Recognize the most common security problems when usiing file functions. Demonstrate how to safely handle files uploaded by the user. [Evaluation Methods] Final exam. Final assignment. [Topic]

Output: File handling and storing data in text files

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] List some common Database Management Systems (DBMS). List some common alternatives to storing data in a relational database and briefly explain the merits and disadvantages of each option. Explain how SQLite can be used from every modern PHP installation. (Note: SQLite is primarily included to provide a way to explain data access abstraction using PDO.) Give an overview of how a relational database works. Recognize the terminology used about databases (relation/table, tuple/row, attribute/field/column, default values, NULL, keys, etc). Briefly explain the concept of normalization and recognize the related glossary (keys, functional dependency) List the available data types in MySQL and demonstrate proper usage of the most common ones. Explain the concept of indexes. Demonstrate how to use indexes in MySQL. Recognize the concept of a storage engines in MySQL and briefly explain the main differences between MyISAM and InnoDB. Demonstrate how to use PhpMyAdmin or a graphical tool to set up a database. Make a user with privileges suitable for PHP scripts. Demonstrate how to run queries in the tool. Demonstrate how to backup/dump a MySQL database. Question to reviewers: Is it possible to wait with constraints and referential integrity (foreign keys) until Server Side Scripting 2? [Evaluation Methods] Final assignment Final exam [Topic]

Output: Relational Database concepts and MySQL fundamentals

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the glossary of SQL (DDL, DML, CRUD) Demonstrate how to access a MySQL DBMS from a CLI tool. Demonstrate how to SELECT individual records and groups of records; SORT-ing and LIMIT-ing of the results. Demonstrate how to use JOIN. Demonstrate simple usage of SQL-functions (count!) Demonstrate how to INSERT data into a table. Demonstrate how to UPDATE a table and explain why one should always use the WHERE clause doing so. Demonstrate how to DELETE data and explain why one should always use the WHERE clause doing so. [Evaluation Methods] Final assignment Final exam [Topic]

Output: SQL

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize all 3 built in API’s to access a MySQL database from PHP (mysql, mysqli, PDO). Discuss their strengths and downsides. Demonstrate how to connect to a DBMS with PDO, prepare and execute statements, fetch single results and iterate over result sets. Recognize how to access reults from a prepared statement as normal arrays, associative arrays, objects and objects belonging to a specific class. Demonstrate safe usage of user submitted data in SQL. Recognize how to manually quote user submitted data. Discuss the benefits of prepared statements. Demonstrate how to handle errors and unexpected results using PDO. Demonstrate safe handling of database credentials. [Evaluation Methods] Final assignment Final exam [Topic]

Output: PDO

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize how to use the mysql and the mysqli functions. Discuss how to safely handle user submitted data using the mysql and the mysqli functions. [Evaluation Methods] Final exam [Topic]

Output: The mysql and the mysqli functions

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize PEAR, PECL, SPL and the most well known PHP Component libraries? Recognize the most common PHP Frameworks. Recognize the most common PHP applications/Content Managament Systems. Recognize the usage of PHP for extended functionality for some big websites (e.g. Facebook) [Evaluation Methods] Final exam [Topic]

Output: SPL, PEAR and Frameworks

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the most common formats for data interchange. Summarize the Ajax pattern for updating a web page. Briefly describe the concepts of API’s and Web Services. [Evaluation Methods] Final exam [Topic]

Output: Web Services, API’s, RSS, JSON and Ajax

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the most important technical considerations one must know when chosing a web host. List the most important security considerations one must know about shared hosting. Demonstrate usage of a web host control panel. [Evaluation Methods] Final assignment Final exam [Topic]

Output: Shared hosting

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [event handler attribute] onchecking [Event handler event type]

Output: checking


Input: [event handler attribute] onerror [Event handler event type]

Output: error


Input: [event handler attribute] onnoupdate [Event handler event type]

Output: noupdate


Input: [event handler attribute] ondownloading [Event handler event type]

Output: downloading


Input: [event handler attribute] onprogress [Event handler event type]

Output: progress


Input: [event handler attribute] onupdateready [Event handler event type]

Output: updateready


Input: [event handler attribute] oncached [Event handler event type]

Output: cached


Input: [event handler attribute] onobsolete [Event handler event type]

Output: obsolete


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] A 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 URL [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] A 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: [Field Name] name [Details]

Output: "connection.REDIRECTED"

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] connid [Details]

Output: The ID of the Connection associated with this event

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] protocol* [Details]

Output: The platform protocol ID of the Connection protocol

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] reason* [Details]

Output: A redirect result code.

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] info* [Details]

Output: An object which provides additional platform or protocol dependent information

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] connection [Details]

Output: an ECMAScript object reference to the Connection object identified by the connid property for this event

Voice Browser Call Control: CCXML Version 1.0


Input: [General tool] HTML to Text converter [,shortcut] ,text [Access control] Same as the document [For this page]

Output: A plain text version of the page, handy for pasting into email.


Input: [General tool] Link Checker [,shortcut] ,checklink [Access control] Same as the document [For this page]

Output: List of bad links in the page


Input: [General tool] Link Checker [,shortcut] ,rchecklink [Access control] Same as the document [For this page]

Output: Bad links in a page and in pages linked from it


Input: [General tool] HTML Validator [,shortcut] ,validate [Access control] Same as the document [For this page]

Output: List of HTML markup errors.


Input: [General tool] W3C Spellchecker [,shortcut] ,spell [Access control] Same as the document [For this page]

Output: List of spelling errors.


Input: [General tool] CSS Validator [,shortcut] ,cssvalidate [Access control] Works only on public pages. [For this page]

Output: List of style CSS errors.


Input: [General tool] CVS Log [,shortcut] ,cvslog [Access control] Public on dev.w3.org, Team-only on www.w3.org [For this page]

Output: Log of changes to the document


Input: [General tool] Headers [,shortcut] ,headers [Access control] Same as the document [For this page]

Output: HTTP headers sent by the server


Input: [General tool] the pubrules checker [,shortcut] ,pubrules [Access control] Same as the document [For this page]

Output: Check the compliance of this document to the W3C publication rules


Input: [General tool] the pubrules checker [,shortcut] ,pubruleserrors [Access control] Same as the document [For this page]

Output: Check the compliance of this document to the W3C publication rules, only displaying errors


Input: [Topic] PHP history and uses [Evaluation Methods] Final exam [Competency]

Output: Explain the difference between server side and client side scripts. Summarize the origin and development of PHP. List and briefly describe the most common alternatives to PHP. List some well known web sites and applications that has been built in PHP. Briefly explain the concept of Open Source. List some well-known public mailing lists, IRC channels and discussion forums where you can find help with PHP.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Installation and basic configuration of PHP and an IDE [Evaluation Methods] Module 1: Installation Final exam [Competency]

Output: Demonstrate installing an HTTP-server, PHP and MySQL on a computer. Demonstrate the usage of php.ini and .htaccess Explain why display_errors should be off on a production web server. List some commonly used PHP-modules and demonstrate how to activate them on a web server. Demonstrate how to get information about a PHP-installation using phpinfo() and php -m. Demonstrate how to use PHP CLI. Demonstrate how to install an IDE or editor for PHP development. Explain the purpose and usage of development and staging servers. Explain the purpose of a version control system.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Basic PHP syntax [Evaluation Methods] Module 1: Installation Final exam Final assignment [Competency]

Output: Demonstrate how to switch between HTML-mode and PHP mode. List what types of php tags that you can use, and explain the potential pitfalls of using short open tags. (Note to teachers: Turn open tags off on the server you provide.) Demonstrate how to use single line, multi line and PhpDoc-style comments. Demonstrate how to separate instructions. Demonstrate how to use the echo and print statements. Recognize the differences between the two.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Using PHP as a simple template engine [Evaluation Methods] Assignment 1: Use PHP as a Template System [Competency]

Output: Explain the concept of server side includes and why it is better than client side frames. Describe the differences between PHP’s include, include_once, require and require_once commands. Explain performance benefits of using absolute paths when including files. Explain why included files should always reside outside of the server root directory. Demonstrate how PHP can make client side frames redundant.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] PHP best practices overview [Evaluation Methods] (Most assignments will touch upon these concepts in some way.) Final assignment. Final exam. [Competency]

Output: Note: This is meant as an overview. No in-depth knowledge yet. Briefly discuss key characteristics of a well written PHP_application. Demonstrate how to write readable and properly indented code. Demonstrate basic knowledge about coding conventions, especially the PEAR coding standard. Explain what revision control is. Show basic knowledge about phpDocumentor. Use the most basic tags in phpDocumentor and produce generated documentation for your code. Explain what bug tracking is. List a few well known bug trackers.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Programming concepts [Evaluation Methods] (Modules with exercises are appreciated.) Final assignment. Final exam. [Competency]

Output: Explain the concept of identifiers and list some identifier names one is not allowed to use in PHP. Explain the concept of sigils. Explain the consept of data types and compare strong and weak typing. Demonstrate type checking and type juggling. Recognize that all user-submitted data, and all data-base results, are strings to PHP. Demonstrate how to check for numeric values in strings. Explain the null value, and describe the difference between variables that are null and variables that have not been set. Demonstrate how to use the isset() and empty() functions. Explain what values in PHP that convert to false, when used in a boolean check. Demonstrate usage of variables and constants, using best practice naming conventions. Recognize the different kinds of constants in PHP (built in, magic, user defined; global, class). Demonstrate different syntaxes for setting constants (define and const - also for global constants since PHP 5.3) Explain the concept of statements. Demonstrate correct usage of statements and block statements. Explain the concept of expressions. Demonstrate correct usage of expressions. Explain what operators are and demonstrate correct usage of all common operators. Explain the concept of functions and all associated terminology and demonstrate how to write and use functions. Explain and use assignment by value and assignment by reference. Explain what arrays are in PHP and contrast the implementation to a few other programming languages. Demonstrate how to create and manipulate arrays and how to access individual items in arrays. Recognize all error levels in PHP and explain the difference between an error and an exception. Demonstrate how to handle errors appropriately.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] HTTP [Evaluation Methods] Module 2 (a): Emulate HTTP-connections with netcat or telnet Module 2 (b): Analyze HTTP-traffic using Firebug or a similar tool. Final assignment. Final exam. [Competency]

Output: Explain the most commonly used HTTP methods (get, post, head) Demonstrate how to fetch information from the client using $_SERVER. Explain MIME-types, and demonstrate how to set MIME-types using PHP’s header-function.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Character encoding [Evaluation Methods] Assignment 3. Final assignment Final exam Extra questions for SS 2: Explain what a BOM is and how it can cause problems for PHP scripts. What is the difference between little endian and big endian UTF-16? What is Unicode normalization? [Competency]

Output: Note: For any audience using non ascii-characters (almost everybody outside the USA and UK) this is essential! Describe the basics of character encodings and compare the terminology used by Unicode to the terminology used in HTTP-headers encoding vs. charset. Demonstrate how to specify the encoding used in a script (the setting on your editor or IDE). Explain the difference between multi-byte encodings and single-byte encodings. Demonstrate how to use multi-byte string functions in PHP 5.x. Recognize problems that might occur in PHP because of misinterpreted character encodings. Demonstrate how to set character encoding in HTTP-headers, using the http-server tools and PHP. List the characters that have a highest potential for abuse (e.g. “null” and “eof”) and demonstrate how to filter input to avoid them using ctype functions. Demonstrate how to set the encoding (and collation) in a MySQL table or field, using PhpMyAdmin or a similar tool. Demonstrate how to convert text between different encodings.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Locales, timezones and time functions. [Evaluation Methods] (Modules with exercises are appreciated.) Final exam Final assignment [Competency]

Output: Explain the concept of locales. Demonstrate how to set timezones for PHP scripts. Demonstrate how to set locale for PHP scripts. Explain the concept of collation and demonstrate how to use locale aware string and array comparison and sorting. Demonstrate how locale and timezone information affects date and time functionality in PHP. Use the basic date and time functions.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Strings [Evaluation Methods] Assignment 3. Final exam. Final assignment. [Competency]

Output: Explain the concept of a string. Compare the two types of strings there is in PHP 6. Demonstrate how to set them and convert between them. Demonstrate how to get the length of a string and access its characters by index Demonstrate how to handle single and double quotes in strings with variables. Demonstrate how to concatenate strings. Demonstrate how to use heredoc and nowdoc. Recognize the two syntaxes that exist for heredoc as of PHP 5.3. Demonstrate how to escape characters in strings. Demonstrate correct usage of basic string functions, e.g. strlen, substr, strstr, strpos, trim, strtolower, with variants. Demonstrate how to compare strings, using operators and comparison functions like strcmp or strcoll. Demonstrate how to check the integrity of string contents using the ctype-functions. Explain the concept of regular expressions, exemplify when they can be used and demonstrate simple usage.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Array usage and array functions [Evaluation Methods] Assignment 3. Final exam. Final assignment. [Competency]

Output: Demonstrate how to iterate over an array using the foreach function. Demonstrate how to sort arrays. Demonstrate how to perform a function call on each value in an array. Specifically, demonstrate how to remove magic quotes from GPC-data. Explain what the cursor is in an array and demonstrate how to walk through arrays. Demonstrate how to use assign multiple variables from array values using the list() language construct. Demonstrate how to check for the existence of specific keys or values within an array. Demonstrate how to attach and how to delete values at both the bottom and top of an array.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Objects and classes (simple overview) [Evaluation Methods] (Modules with exercises are appreciated.) Final exam Final assignment [Competency]

Output: Explain some benefits of Object Oriented programming compared to procedural programming. Explain basic OO terminology. Demonstrate how to define and instantiate classes in PHP. Explain constructors and destructors, how to name constructors in PHP 4 and 5+ and how to use constructors. Demonstrate how to use the $this pseudovariable. Explain the concept of inheritance och demonstrate how to use the extends keyword. Explain the concept of polymorfism and demonstrate how to use interfaces and abstract classes in PHP. Briefly explain the differences in the object model between PHP 4 and PHP 5. Explain visibility of properties and methods. Explain class constants, static properties and methods and demonstrate how to use the scope resolution operator (Paamayim Nekudotayim).

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Error handling and exceptions [Evaluation Methods] (Modules with exercises are appreciated.) Final exam. Final assignment. [Competency]

Output: Recognize the types of errors in PHP. Handle interaction errors e.g. GET-data does not match DB-record might produce a 404. Use good error handling strategies. E.g: Differentiate between development servers (show on page) vs. production servers (log errors). Make usable error pages and understandable error messages. Send the correct HTTP status code for error pages. Recognize exceptions and handle them using try and catch.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Server side architecture [Evaluation Methods] Exercise 4. Final exam. Final assignment. [Competency]

Output: Recognize what separation of concerns mean for PHP development. Recognize the following concepts: Presentation logic and templates, business logic and data storage logic. Demonstrate a secure and logical directory structure for PHP applictions. Explain include paths. Demonstrate how to write an application that does not depend on being in a specific root directory. Demonstrate a good strategy for filtering all untrusted data. Demonstrate consistent and appropriate escaping of output data. Implement usable, SEO-friendly and hackable URL:s. Recognize rewrite rules. Recognize the abbreviation MVC and briefly explain the rationale behind it.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Handling posted data [Evaluation Methods] Exercise 5. Final exam. Final assignment. [Competency]

Output: Explain why client side checks only can be used to offload a server and provide better usability, never for security. Explain why GPC-data might be quoted in PHP 4.x and 5.x. Explain what problems magic quotes were intended to solve, why they did not work properly and are being removed in PHP 6 and how they can be removed in a script. Explain how the superglobal array $_POST relates to name attributes in HTML forms. Demonstrate handling posted data. Recognize the usage of register globals and explain why it is a security hazard. Recognize the bad habit of manually making EGPCS-data into regular variables ($foo = $_POST[‘foo’] or extract($_POST)). Recognize the usage of $_REQUEST and explain why it is considered bad practice to use it. Recognize how sensitive data can be transmitted securily, using encryption. Recognize the abbreviations SSL and TLS.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Sending email [Evaluation Methods] Exercise 5. Final exam. Final assignment. [Competency]

Output: Demonstrate simple usage of the mail() function in PHP. Recognize the concept SMTP injection and demonstrate how to avoid it.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Sessions and authentication [Evaluation Methods] Final exam. Final assignment. [Competency]

Output: Recognize the sessionless nature of HTTP. Recognize session fixation and session hijacking. Use session_regenerate_id and set session ID using cookies only. Recognize HTTP-authentication in PHP. Preventing multiple submits of a form. Demonstrate how to prevent cross-posting using a session variable.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Cookies [Evaluation Methods] Final exam. Final assignment. [Competency]

Output: Explain the concept of cookies and how they are passed to the server from the browser. Demonstrate how to set and read cookies. Explain the security benefits of server side only cookies, and demonstrate how to set them.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] File handling and storing data in text files [Evaluation Methods] Final exam. Final assignment. [Competency]

Output: Demonstrate how to read from and write to files. Recognize the different flags used to control the opening of file sockets. Recognize the most common security problems when usiing file functions. Demonstrate how to safely handle files uploaded by the user.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Relational Database concepts and MySQL fundamentals [Evaluation Methods] Final assignment Final exam [Competency]

Output: List some common Database Management Systems (DBMS). List some common alternatives to storing data in a relational database and briefly explain the merits and disadvantages of each option. Explain how SQLite can be used from every modern PHP installation. (Note: SQLite is primarily included to provide a way to explain data access abstraction using PDO.) Give an overview of how a relational database works. Recognize the terminology used about databases (relation/table, tuple/row, attribute/field/column, default values, NULL, keys, etc). Briefly explain the concept of normalization and recognize the related glossary (keys, functional dependency) List the available data types in MySQL and demonstrate proper usage of the most common ones. Explain the concept of indexes. Demonstrate how to use indexes in MySQL. Recognize the concept of a storage engines in MySQL and briefly explain the main differences between MyISAM and InnoDB. Demonstrate how to use PhpMyAdmin or a graphical tool to set up a database. Make a user with privileges suitable for PHP scripts. Demonstrate how to run queries in the tool. Demonstrate how to backup/dump a MySQL database. Question to reviewers: Is it possible to wait with constraints and referential integrity (foreign keys) until Server Side Scripting 2?

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] SQL [Evaluation Methods] Final assignment Final exam [Competency]

Output: Recognize the glossary of SQL (DDL, DML, CRUD) Demonstrate how to access a MySQL DBMS from a CLI tool. Demonstrate how to SELECT individual records and groups of records; SORT-ing and LIMIT-ing of the results. Demonstrate how to use JOIN. Demonstrate simple usage of SQL-functions (count!) Demonstrate how to INSERT data into a table. Demonstrate how to UPDATE a table and explain why one should always use the WHERE clause doing so. Demonstrate how to DELETE data and explain why one should always use the WHERE clause doing so.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] PDO [Evaluation Methods] Final assignment Final exam [Competency]

Output: Recognize all 3 built in API’s to access a MySQL database from PHP (mysql, mysqli, PDO). Discuss their strengths and downsides. Demonstrate how to connect to a DBMS with PDO, prepare and execute statements, fetch single results and iterate over result sets. Recognize how to access reults from a prepared statement as normal arrays, associative arrays, objects and objects belonging to a specific class. Demonstrate safe usage of user submitted data in SQL. Recognize how to manually quote user submitted data. Discuss the benefits of prepared statements. Demonstrate how to handle errors and unexpected results using PDO. Demonstrate safe handling of database credentials.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] The mysql and the mysqli functions [Evaluation Methods] Final exam [Competency]

Output: Recognize how to use the mysql and the mysqli functions. Discuss how to safely handle user submitted data using the mysql and the mysqli functions.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] SPL, PEAR and Frameworks [Evaluation Methods] Final exam [Competency]

Output: Recognize PEAR, PECL, SPL and the most well known PHP Component libraries? Recognize the most common PHP Frameworks. Recognize the most common PHP applications/Content Managament Systems. Recognize the usage of PHP for extended functionality for some big websites (e.g. Facebook)

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Web Services, API’s, RSS, JSON and Ajax [Evaluation Methods] Final exam [Competency]

Output: Recognize the most common formats for data interchange. Summarize the Ajax pattern for updating a web page. Briefly describe the concepts of API’s and Web Services.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Topic] Shared hosting [Evaluation Methods] Final assignment Final exam [Competency]

Output: Recognize the most important technical considerations one must know when chosing a web host. List the most important security considerations one must know about shared hosting. Demonstrate usage of a web host control panel.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Event handler event type] checking [event handler attribute]

Output: onchecking


Input: [Event handler event type] error [event handler attribute]

Output: onerror


Input: [Event handler event type] noupdate [event handler attribute]

Output: onnoupdate


Input: [Event handler event type] downloading [event handler attribute]

Output: ondownloading


Input: [Event handler event type] progress [event handler attribute]

Output: onprogress


Input: [Event handler event type] updateready [event handler attribute]

Output: onupdateready


Input: [Event handler event type] cached [event handler attribute]

Output: oncached


Input: [Event handler event type] obsolete [event handler attribute]

Output: onobsolete


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: A 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 URL [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: A 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: [Additive?] yes ['animate'] yes ['animate Color'] yes ['animate Transform'] no [Notes] Only RGB color values are additive. ['set']

Output: yes


Input: [Additive?] yes ['animate'] yes ['animate Color'] no ['animate Transform'] no ['set']

Output: yes


Input: [Additive?] no ['animate'] yes ['animate Color'] no ['animate Transform'] no ['set']

Output: yes


Input: [Additive?] no ['animate'] no ['animate Color'] no ['animate Transform'] no ['set']

Output: no


Input: [Additive?] yes ['animate'] no ['animate Color'] no ['animate Transform'] yes [Notes] Additive means that a transformation is post-multiplied to the base set of transformations. ['set']

Output: no


Input: [Data type] All other data types used in animatable attributes and properties [Additive?] no ['animate'] yes ['animate Color'] no ['animate Transform'] no ['set']

Output: yes


Input: [Details] Is an ECMAScript expression which returns a call leg object to associate the new dialog with. The default value of the "callid" attribute is "_event.source", meaning that the dialog instance will be launched for whatever call object generated the previous event (typically a connection.CONNECTION_CONNECTED event). [Attribute Name]

Output: callid

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] Is an ECMAScript expression which returns an identifier of a connection or conference. The default value of the "conid" attribute is "_event.source", which will be the connection that generated the previous event (typically a connection.CONNECTION_CONNECTED event). A connection will be allocated for the dialog being launched, and this connection will be bridged to the connection or conference specified by "conid". For more information about connections and bridges, refer to Section 10. [Attribute Name]

Output: conid

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] Is an ECMAScript expression which returns a character string identifying the URI of the dialog document that the dialog interpreter should load and begin executing upon startup. [Attribute Name]

Output: src

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] Specifies the MIME type of the document, and as a result, which dialog interpreter is actually loaded. A MIME type of "application/xml+vxml" associates the start-document with a VoiceXML interpreter instance. A MIME type of "audio/wav" associates the start-document with a dialog manager that merely plays wave files. If omitted, the mime-type attribute defaults to "application/xml+vxml", but the CCXML interpreter is free to guess the correct MIME type, e.g., by examining the filename-extension of the start-doc URI. [Attribute Name]

Output: type

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] an ECMAScript expression which returns a character string that specifies the MIME type of the document, and as a result, which dialog interpreter is actually loaded. A MIME type of "application/xml+vxml" associates the start-document with a VoiceXML interpreter instance. A MIME type of "audio/wav" associates the start-document with a dialog manager that merely plays wave files. If omitted, the mime-type attribute defaults to "application/xml+vxml", but the CCXML interpreter is free to guess the correct MIME type, e.g., by examining the filename-extension of the start-doc URI. [Attribute Name]

Output: type

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] Specifies the list of ECMA script variables that should be appended to the dialog URI as parameters. This is useful where you need to create the URI based on previous actions in the script. [Attribute Name]

Output: namelist

Voice Browser Call Control: CCXML Version 1.0


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

Output: namelist

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] an ECMAScript left-hand-side expression that will receive the value of the session-name identifying the launched dialog interpreter instance. This session-name can be used by the CCXML script programmer in future invocations of . [Attribute Name]

Output: dialogid

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] Equal to "half" or "full". This determines the type of bridge between the connection associated with the dialog and the connection or conference specified by the "conid" attribute. For more information about connections and bridges, refer to Section 10. [Attribute Name]

Output: duplex

Voice Browser Call Control: CCXML Version 1.0


Input: [Status] Proposal [Summary] Proposal to add order line and parcel delivery support in the Orders Schema. [Vocab] One new Type: OrderItem, and added properties for one existent Type: Order [Topic]

Output: Orders Schema update

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] Proposal to address the basic description of Articles within issues and/or volumes of periodicals of most types. [Vocab] Three new Types: Periodical, PublicationVolume, PublicationIssue, and added properties for two existent Types: Article, CreativeWork [Topic]

Output: Periodicals, Articles and Multi-volume Works

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] Indicates a corresponding profile page for an account on a socially-oriented Web site. [Vocab] One new property: socialAccount [Topic]

Output: social Account property

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] Proposal for new Audiobook Type and abridged property for Book. [Vocab] Audiobook subtype of Book and of AudioObject, adds readBy property [Topic]

Output: Audiobook

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] Proposal for new Collection Type and part properties for CreativeWork. [Vocab] Collection subtype of CreativeWork hasPart & isPartOf properties for CreativeWork [Topic]

Output: Collection

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Discussion [Summary] Extension for describing accessibility properties of a CreativeWork. [Vocab] Additional work to add accessMode, hasAdapation, isAdaptationof that were not covered in 1.0 Accessibility work. [Topic]

Output: Accessibility (part 2)

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] Add one type, 'QuotationSchema', a kind of CreativeWork, alongside some supporting properties. [Vocab] Quotation, spokenByCharacter, incorrectlyAttributedTo, aboutEvent, fromEvent, addressee. [Comments] Several other requirements are addressed by re-use of existing properties. Debate about whether incorrectlyAttributedTo is worthwhile. Some details to finalise. [Topic]

Output: Add Quotation type

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] Add handlers and potential actions to Action type. [Vocab] See full entry and proposal for details. [Comments] The schema.org team solicit comments on this draft via public-vocabs@w3.org. [Topic]

Output: Actions in Schema.org (part 2)

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] This proposal includes new types for describing reservations and tickets [Vocab] Adds classes Reservation, ReservationStatus, ProgramMembership, Flight, TrainTrip, TrainReservation, FoodEstablishmentReservation, FlightReservation, EventReservation, ReservationPackage, BusReservation, BusTrip, RentalCarReservation, RentalCar, Car, LodgingReservation plus associated properties. [Comments] Complements Actions proposal, but independent. [Topic]

Output: Reservations in Schema.org

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] This proposal adds a single new type, EmailMessage [Vocab] EmailMessage is a CreativeWork representing email messages, just as WebPage already represents Web pages. [Comments] No properties currently defined; proposals welcomed. [Topic]

Output: EmailMessage type

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Accepted [Summary] This proposal adds a single new type, WorkersUnion, addressing issue 17 in the WebSchemas tracker. [Vocab] "A Workers Union (...) is an organization that promotes the interests of its worker members by collectively bargaining with management, organizing, and political lobbying."" [Comments] One type, see draft schema. [Topic]

Output: Workers Union type

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Some initial discussions. [Summary] Several parties are working towards a Sports Vocabulary proposal. See query from Paul Kelly (SportsML), Microdata + Sports Stats post describing earlier ESPN/Google collaboration, and the Sports Ontology used by BBC, Press Association and others. See also sports-schema-collab mailing list. [Vocab] Several sources including a full draft from the ESPN+Google work. Needs summary here. [Comments] March 2nd - posted writeup of the ESPN/Google Microdata vocabulary; next is discussion on finding common basic sports vocab for schema.org. [Topic]

Output: Sports

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Discussing Proposals [Summary] Proposal from Marvel (see examples). [Vocab] Adds PeriodicalSeries (under Intangible(?)), PeriodicalIssue (under CreativeWork), Comic Issue (under PeriodicalIssue), GraphicNovel (under Book). Approx 6-9 properties for each of these classes. [Comments] Generally well received and specified, but some detailed discussion re fine-grain detail of comics (imprint, page count etc.). Can those properties be shared with Book/numberOfPages, or ScholarlyArticle? Should PeriodicalSeries be intangible? [Topic]

Output: Comics and Serials

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] The historical-data.org site proposes some extensions to schema.org to address historical and genealogical (family history) scenarios. [Vocab] Adds HistoricalRecord, HistoricalEvent (subclass of Event), overrides attendees, subEvents, superEvent to point to HistoricalEvent. [Comments] There is an associated implementation, github repository, and blog. [Topic]

Output: Historical Data proposal

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] A schema extension for describing biological databases, Sagace. [Vocab] Adds a class 'BiologicalDatabaseEntry' as a kind of CreativeWork, introducing 'entryID', 'isEntryOf', 'taxonID'. Adds 'BiologicalDatabase' also subclass of CreativeWork, with no special properties. Both also use 'breadcrumb' from WebPage. [Comments] Others have also mentioned interest in adding some notion of species. [Topic]

Output: Biological Databases

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] A proposal resolving current problems handling breadcrumbs. [Vocab] Adds Breadcrumb type with child property and supposes to use this class on breadcrumb property of a WebPage. An important schema, but needs attention. See discussion on using literal values. [Topic]

Output: Breadcrumbs

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] A proposal extending schema.org for describing online discussion forums and message boards. [Vocab] Adds attachmentURL, contributorType, discussionState, interestedUsers, postCount, postType, votedHelpful. [Comments] Addition candidate [Topic]

Output: Discussion

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] A proposal extending schema.org for describing Innovation and related concepts. Discussion found here: [1] [Vocab] Covers concepts and terms such as Need, Benefit, Usage, Disruption, Innovator, Innovation, Embodiment, to name a few. See [2] for complete list of terms. [Comments] Addition candidate [Topic]

Output: Innovation

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] Add a dissolutionDate property to Organization. [Topic]

Output: dissolutionDate

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] Proposal [Summary] A proposal for extending LodgingBusiness. Specification is here http://thematix.com/ontologies/travel/lodging/ [Vocab] Adds Amenity, BusinessService, Feature, GuestRoomAmenity, LodgingBusinessAmenity, LodgingBusinessService, RentalOffer, RentalRate, Room, RoomType and Service. [Comments] In addition to the examples given in the cited website, examples can be seen at http://www.regencyhotelmiami.com/ and http://hiltonvb.com and at Super8 hotel description pages, e.g., http://www.super8.com/hotels/alberta/fort-mcmurray/super-8-fort-mcmurray/hotel-overview. [Topic]

Output: Lodging Extensions

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Topic]

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Status] How far along [Summary] Summary of contribution. [Vocab] Overview of new terms [Comments] Comments on status, particularly regarding integration, overlaps and open issues. [Topic]

Output: Proposal name

WebSchemas/SchemaDotOrgProposals - W3C Wiki


Input: [Details] is an ECMAScript expression returning a 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. [Attribute Name]

Output: event

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] is an ECMAScript expression returning a handle for the target CCXML session. This should be a globally-unique identifier, in a still-to-be-specified URI format. It is valid for a CCXML session to send an event to itself. [Attribute Name]

Output: target

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] is an ECMAScript left-hand-side expression that is the target for the event identifier. The unique identifier for the generated event is written to the target. If not present, the event's identifier is dropped. [Attribute Name]

Output: name

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] is an ECMAScript expression returning a string in CSS2 format interpreted as a time interval. The send element will return immediately, but the event not dispatched until the delay interval elapses. Timers are useful for a wide variety of programming tasks, and can be implemented using this attribute. [Attribute Name]

Output: delay

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] A list of zero or more CCXML variables to be included along with the event. [Attribute Name]

Output: namelist

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] A list of zero or more CCXML unqualified variables which will be set as properties of the event. [Attribute Name]

Output: namelist

Voice Browser Call Control: CCXML Version 1.0


Input: [Definition] Character data [Attribute Type]

Output: CDATA


Input: [Definition] A document-unique identifier [Attribute Type]

Output: ID


Input: [Definition] A reference to a document-unique identifier [Attribute Type]

Output: IDREF


Input: [Definition] A space-separated list of references to document-unique identifiers [Attribute Type]

Output: IDREFS


Input: [Definition] A name with the same character constraints as ID above [Attribute Type]

Output: NAME


Input: [Definition] A name composed of only name tokens as defined in XML 1.0 [XML]. [Attribute Type]

Output: NMTOKEN


Input: [Definition] One or more white space separated NMTOKEN values [Attribute Type]

Output: NMTOKENS


Input: [Definition] Processed character data [Attribute Type]

Output: PCDATA


Input: [Attribute Type] CDATA [Definition]

Output: Character data


Input: [Attribute Type] ID [Definition]

Output: A document-unique identifier


Input: [Attribute Type] IDREF [Definition]

Output: A reference to a document-unique identifier


Input: [Attribute Type] IDREFS [Definition]

Output: A space-separated list of references to document-unique identifiers


Input: [Attribute Type] NAME [Definition]

Output: A name with the same character constraints as ID above


Input: [Attribute Type] NMTOKEN [Definition]

Output: A name composed of only name tokens as defined in XML 1.0 [XML].


Input: [Attribute Type] NMTOKENS [Definition]

Output: One or more white space separated NMTOKEN values


Input: [Attribute Type] PCDATA [Definition]

Output: Processed character data


Input: [Field Name] name [Details]

Output: dialog.disconnect

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] dialogid [Details]

Output: The ID of the dialog returned from

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] callid [Details]

Output: The called of the phone call that this dialog is executing on.

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] conid [Details]

Output: The identifier of the connection or conference to which the dialog connection is bridged (usually the conid that was specified in the )

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] namelist [Details]

Output: List of items that are stored on the "values" sub-object.

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] values.* [Details]

Output: Values returned from the dialog.

Voice Browser Call Control: CCXML Version 1.0


Input: [Attribute Type] CDATA [Definition]

Output: Character data


Input: [Attribute Type] ID [Definition]

Output: A document-unique identifier


Input: [Attribute Type] IDREF [Definition]

Output: A reference to a document-unique identifier


Input: [Attribute Type] IDREFS [Definition]

Output: A space-separated list of references to document-unique identifiers


Input: [Attribute Type] NAME [Definition]

Output: A name with the same character constraints as ID above


Input: [Attribute Type] NMTOKEN [Definition]

Output: A name composed of only name tokens as defined in XML 1.0 [XML].


Input: [Attribute Type] NMTOKENS [Definition]

Output: One or more white space separated NMTOKEN values


Input: [Attribute Type] PCDATA [Definition]

Output: Processed character data


Input: [Language feature] a element that creates a hyperlink [Restrictions] Role must be either link, button, checkbox, menuitem, menuitemcheckbox, menuitemradio, tab, or treeitem [Default implied ARIA semantic]

Output: link role


Input: [Language feature] address element [Restrictions] If specified, role must be contentinfo [Default implied ARIA semantic]

Output: No role


Input: [Language feature] article element [Restrictions] Role must be either article, document, application, or main [Default implied ARIA semantic]

Output: article role


Input: [Language feature] aside element [Restrictions] Role must be either note, complementary, or search [Default implied ARIA semantic]

Output: note role


Input: [Language feature] audio element [Restrictions] If specified, role must be application [Default implied ARIA semantic]

Output: No role


Input: [Language feature] button element [Restrictions] Role must be either button, link, menuitem, menuitemcheckbox, menuitemradio, radio [Default implied ARIA semantic]

Output: button role


Input: [Language feature] details element [Restrictions] Role must be a role that supports aria-expanded [Default implied ARIA semantic]

Output: group role


Input: [Language feature] embed element [Restrictions] If specified, role must be either application, document, or img [Default implied ARIA semantic]

Output: No role


Input: [Language feature] footer element [Restrictions] If specified, role must be contentinfo [Default implied ARIA semantic]

Output: No role


Input: [Language feature] h1 element that does not have an hgroup ancestor [Restrictions] Role must be either heading or tab [Default implied ARIA semantic]

Output: heading role, with the aria-level property set to the element's outline depth


Input: [Language feature] h2 element that does not have an hgroup ancestor [Restrictions] Role must be either heading or tab [Default implied ARIA semantic]

Output: heading role, with the aria-level property set to the element's outline depth


Input: [Language feature] h3 element that does not have an hgroup ancestor [Restrictions] Role must be either heading or tab [Default implied ARIA semantic]

Output: heading role, with the aria-level property set to the element's outline depth


Input: [Language feature] h4 element that does not have an hgroup ancestor [Restrictions] Role must be either heading or tab [Default implied ARIA semantic]

Output: heading role, with the aria-level property set to the element's outline depth


Input: [Language feature] h5 element that does not have an hgroup ancestor [Restrictions] Role must be either heading or tab [Default implied ARIA semantic]

Output: heading role, with the aria-level property set to the element's outline depth


Input: [Language feature] h6 element that does not have an hgroup ancestor [Restrictions] Role must be either heading or tab [Default implied ARIA semantic]

Output: heading role, with the aria-level property set to the element's outline depth


Input: [Language feature] header element [Restrictions] If specified, role must be banner [Default implied ARIA semantic]

Output: No role


Input: [Language feature] iframe element [Restrictions] If specified, role must be either application, document, or img [Default implied ARIA semantic]

Output: No role


Input: [Language feature] img element whose alt attribute's value is absent [Restrictions] No restrictions [Default implied ARIA semantic]

Output: img role


Input: [Language feature] img element whose alt attribute's value is present and not empty [Restrictions] No restrictions [Default implied ARIA semantic]

Output: img role


Input: [Language feature] input element with a type attribute in the Button state [Restrictions] Role must be either button, link, menuitem, menuitemcheckbox, menuitemradio, radio [Default implied ARIA semantic]

Output: button role


Input: [Language feature] input element with a type attribute in the Checkbox state [Restrictions] Role must be either checkbox or menuitemcheckbox [Default implied ARIA semantic]

Output: checkbox role


Input: [Language feature] input element with a type attribute in the Image Button state [Restrictions] Role must be either button, link, menuitem, menuitemcheckbox, menuitemradio, radio [Default implied ARIA semantic]

Output: button role


Input: [Language feature] input element with a type attribute in the Radio Button state [Restrictions] Role must be either radio or menuitemradio [Default implied ARIA semantic]

Output: radio role


Input: [Language feature] li element whose parent is an ol or ul element [Restrictions] Role must be either listitem, menuitemcheckbox, menuitemradio, option, tab, or treeitem [Default implied ARIA semantic]

Output: listitem role


Input: [Language feature] object element [Restrictions] If specified, role must be either application, document, or img [Default implied ARIA semantic]

Output: No role


Input: [Language feature] ol element [Restrictions] Role must be either directory, list, listbox, menu, menubar, tablist, toolbar, tree [Default implied ARIA semantic]

Output: list role


Input: [Language feature] output element [Restrictions] No restrictions [Default implied ARIA semantic]

Output: status role


Input: [Language feature] section element [Restrictions] Role must be either alert, alertdialog, application, contentinfo, dialog, document, log, main, marquee, region, search, or status [Default implied ARIA semantic]

Output: region role


Input: [Language feature] ul element [Restrictions] Role must be either directory, list, listbox, menu, menubar, tablist, toolbar, tree [Default implied ARIA semantic]

Output: list role


Input: [Language feature] video element [Restrictions] If specified, role must be application [Default implied ARIA semantic]

Output: No role


Input: [Language feature] The body element [Restrictions] Role must be either document or application [Default implied ARIA semantic]

Output: document role


Input: [Field Name] name [Details]

Output: dialog.user.*

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] dialogid [Details]

Output: The ID of the dialog returned from

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] callid [Details]

Output: The called of the phone call that this dialog is executing on.

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] conid [Details]

Output: The identifier of the connection or conference to which the dialog connection is bridged (usually the conid that was specified in the )

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] namelist [Details]

Output: List of items that are stored on the "values" sub-object.

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] values.* [Details]

Output: The contents of the event.

Voice Browser Call Control: CCXML Version 1.0


Input: [Definition] Character data [Attribute Type]

Output: CDATA


Input: [Definition] A document-unique identifier [Attribute Type]

Output: ID


Input: [Definition] A reference to a document-unique identifier [Attribute Type]

Output: IDREF


Input: [Definition] A space-separated list of references to document-unique identifiers [Attribute Type]

Output: IDREFS


Input: [Definition] A name with the same character constraints as ID above [Attribute Type]

Output: NAME


Input: [Definition] A name composed of only name tokens as defined in XML 1.0 [XML]. [Attribute Type]

Output: NMTOKEN


Input: [Definition] One or more white space separated NMTOKEN values [Attribute Type]

Output: NMTOKENS


Input: [Definition] Processed character data [Attribute Type]

Output: PCDATA


Input: [Details] Indicates the current possible state(s) of the eventhandler. [Attribute Name]

Output: state

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] Indicates the current possible state(s) of the eventhandler. More than one state name may be specified, separated by blanks. [Attribute Name]

Output: state

Voice Browser Call Control: CCXML Version 1.0


Input: [Details] is an ECMAScript expression returning a string that indicates a matching event type. Event types are dot-separated strings of arbitrary length. The character * is a wildcard, and will match zero or more characters of the processed-event's type name. [Attribute Name]

Output: event

Voice Browser Call Control: CCXML Version 1.0