95-733 Internet Technologies Spring 2015 Homework 2 Due Date : 11:59 PM, Tuesday, February 10, 2015 Lab Topics: XML, the Extensible Style Sheet Language for Transformations XSLT, Atom, and RSS The actual homework begins at Part 6. Parts 1 - 5 are for instruction only. It is strongly recommended that you work through parts 1 - 5. In this lab we will be programming in a transformation language called XSLT. XSLT is used to transform one XML document into another XML document (with a different structure). In order to write programs in XSLT, we need an XML parser (XSLT programs are XML documents) and an XSLT interpreter. The parser is called "Xerces". The interpreter is called "Xalan" (Xalan uses Xerces). The required jar files for XSLT processing using Xalan are : xalan.jar, xercesImpl.jar, xml-apis.jar and xsltc.jar and serializer.jar. These may be downloaded from the Apache Foundation. Part 1 Command Line XSLT ======================== For DOS based machines, create a directory called "bats" and place a batch file called "xalan.bat" in that directory. Place the path to your bats directory in the system path variable. I recommend that you actually type the xalan.bat file into a text editor. The copy and paste approach has been troublesome. The file xalan.bat will hold the following: java org.apache.xalan.xslt.Process -IN %1 -XSL %2 -OUT %3 This java command will run the code in the Process class. You will need to have the jar files mentioned above on your classpath before running xalan.bat. For Unix based machines, you will use a script file called xalan with execute permissions. My xalan jar files are saved in /Users/mm6/Applications/xalan. My xalan script is shown below. #!/bin/sh export XALAN_HOME=/Users/mm6/Applications/xalan export CP=$XALAN_HOME/xalan.jar:$XALAN_HOME/xercesImpl.jar:$XALAN_HOME/xml- apis.jar:$XALAN_HOME/xsltc.jar:$XALAN_HOME/serializer.jar java -classpath $CP org.apache.xalan.xslt.Process -IN $1 -XSL $2 -OUT $3 Testing. The following is an xml file called books.xml that contains data on books. It's a copy of the file found on Page 70 of the XSLT Programmer's Reference by Michael Kay. Nigel Rees Sayings of the Century 8.95 Evelyn Waugh Sword of Honour 12.99 Herman Melville Moby Dick 8.99 J. R. R. Tolkien The Lord of the Rings 22.99 We would like to transform this file into an HTML document as shown here (result.html):

A list of books

1 Nigel Rees Sayings of the Century 8.95
2 Evelyn Waugh Sword of Honour 12.99
3 Herman Melville Moby Dick 8.99
4 J. R. R. Tolkien The Lord of the Rings 22.99
In order to carry out this transformation, we will use the XSLT programming language. While it is the case that XSLT is Turing complete, that is, we can solve a wide variety of problems using XSLT, it is especially good at performing XML transformations. Our first XSLT program looks like this (booklist.xsl):

A list of books

Place the two files (books.xml and booklist.xsl) into a directory and make sure that xalan is working properly by running the following command. The output file should look like result.html. xalan books.xml booklist.xsl result.html When debugging XSLT programs, it is often much more helpful to view your output in an editor like Notepad rather than to view your output in a browser like Firefox or IE or Safari. Look at the HTML document in a browser only after you are satisfied with the way it looks in Notepad. The browser view is often quite deceiving and makes a poor debugging tool. Part 2 Handling Namespaces ========================== Many documents make use of XML namespaces to remove ambiguity. The following is our books example with a namespace assigned to the namespace prefix p. Nigel Rees Sayings of the Century 8.95 Evelyn Waugh Sword of Honour 12.99 Herman Melville Moby Dick 8.99 J. R. R. Tolkien The Lord of the Rings 22.99 The same XSLT program that we wrote above needs to be adapted to handle these namespace qualified elements. Be sure to test this new program against the books file with namespaces.

A list of books

Part 3 Running Xalan from within Java ============================================ While command line xalan makes a very nice tool, it is often necessary to make calls for XSLT processing from within other programs. Here is a Java program that performs the same transformation as above. But this time the transformation is performed under application program control. This program would be executed with the command: java ProduceHTML books.xml booklist.xsl result.html // ProduceHTML.java is a simple program that demonstrates how XSLT programs // can be executed from within Java. import java.io.IOException; import java.io.OutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.Result; import javax.xml.transform.TransformerFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; public class ProduceHTML { public static void main(String a[] ) { Source xmlDoc, xslDoc; Result result; try { FileInputStream xml = new FileInputStream(a[0]); FileInputStream xsl = new FileInputStream(a[1]); FileOutputStream out = new FileOutputStream(a[2]); xmlDoc = new StreamSource(xml); xslDoc = new StreamSource(xsl); result = new StreamResult(out); TransformerFactory factory = TransformerFactory.newInstance(); Transformer trans = factory.newTransformer(xslDoc); trans.transform(xmlDoc,result); } catch(TransformerException e) { System.out.println("Transformer Probem" + e); } catch(IOException e) { System.out.println("An I/O problem"); } } } Part 3.5 Passing parameters from Java into an XSLT program ========================================================== The Java example in Part 3 simply executes the XSLT and tells XSLT program what its input and output is. There are times where we want to pass values into the XSLT program at run time. Just prior to calling trans.transform(xmlDoc, result) we can do the following: trans.setParameter("Some_name", "Some string with data"); Within the XSLT, we can do the following: This assigns to Some_name the value passed in - "Some string with data". To access the data, we would use $Some_name to dereference the parameter. Part 4. Running XSLT from within a Java servlet. ================================================ Suppose we want to use a local stylesheet called XSLTransformerCode.xsl to process a remote XML file at some URL. Using Netbeans and Glassfish, add the xsl stylesheet file to the project's Web Pages folder. A doGet method might have the following code: PrintWriter out = response.getWriter(); // get the xsl stored in this project ServletContext context = getServletContext(); InputStream xsl = (InputStream) (context.getResourceAsStream("/XSLTransformerCode.xsl")); // We need two source objects and one result // get an external xml document using a url in a // string format Source xmlDoc = new StreamSource(urlAsString); Source xslDoc = new StreamSource(xsl); Result result = new StreamResult(out); // Prepare to transform TransformerFactory factory = TransformerFactory.newInstance(); Transformer trans = factory.newTransformer(xslDoc); trans.transform(xmlDoc,result); // The transformed document is returned to the browser. Part 5. An Atom document from the W3C ===================================== The following document was accessed from the W3C's main web page by clicking on the syndicate link. It is meant to be read by a news reader. We will use it as our input file for the homework problems below. The current W3C feed may be accessed here: http://www.w3.org/blog/news/feed/atom W3C News Leading the Web to its Full Potential 2015-01-21T16:50:28Z http://www.w3.org/blog/news/feed/atom WordPress Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[W3C Launches Web of Things initiative]]> http://www.w3.org/blog/news/?p=4324 2015-01-21T16:50:28Z 2015-01-21T16:31:45Z ]]> W3C announced today a new Web of Things initiative to develop Web standards for enabling open markets of applications and services based upon connected sensors and actuators (the Internet of Things) and the Web of data. Open standards will be essential to realising the huge potential. We invite you to join the new Web of Things Interest Group and drive work on use cases, requirements, and best practices. The aim is to build a shared vision and identify specific opportunities for standardization.

So far work on the Internet of Things has focused on the sensors and actuators and the associated communication technologies. Comparatively little attention has been given to what is needed for services to break free of today’s product silos. Web technologies are considered to be very promising, including the role of scripting languages like JavaScript for defining services. However, there is considerable work left to do to support discovery and interoperation of services, along with attention to security, privacy, accessibility and resilience in the face of faults and attacks.

The potential if we get this right is huge and will greatly expand the scale of the Web. Please join us to help address the many challenges.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[First Public Working Draft: Frame Timing]]> http://www.w3.org/blog/news/?p=4322 2015-01-20T15:14:55Z 2015-01-20T15:14:55Z ]]> The Web Performance Working Group has published a First Public Working Draft of Frame Timing. This specification defines an interface to help web developers measure the performance of their applications by giving them access to frame performance data to facilitate smoothness (i.e. Frames per Second and Time to Frame) measurements. Learn more about the Rich Web Client Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Navigation Timing 2 Draft Published]]> http://www.w3.org/blog/news/?p=4320 2015-01-20T14:36:24Z 2015-01-20T14:36:24Z ]]> The Web Performance Working Group has published a Working Draft of Navigation Timing 2. This specification defines a unified interface to store and retrieve high resolution performance metric data related to the navigation of a document. Learn more about the Rich Web Client Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[CSS Pseudo-Elements Module Level 4; CSS Exclusions Module Level 1 Drafts Published]]> http://www.w3.org/blog/news/?p=4318 2015-01-15T18:58:40Z 2015-01-15T18:58:40Z ]]> The Cascading Style Sheets (CSS) Working Group has published two documents today:

  • A First Public Working Draft of CSS Pseudo-Elements Module Level 4. This CSS module defines pseudo-elements, abstract elements that represent portions of the CSS render tree that can be selected and styled.
  • A Working Draft of CSS Exclusions Module Level 1. CSS Exclusions define arbitrary areas around which inline content can flow. CSS Exclusions can be defined on any CSS block-level elements. CSS Exclusions extend the notion of content wrapping previously limited to floats.

CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc. Learn more about the Style Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[IndieUI: Events (for Mobile and More) Updated Working Draft]]> http://www.w3.org/blog/news/?p=4314 2015-01-15T18:51:03Z 2015-01-15T18:51:03Z ]]> The IndieUI Working Group today published an updated Working Draft of IndieUI: Events 1.0 – Events for User Interface Independence. This draft includes new events and a refined technical model. IndieUI: Events defines a way for different user interactions to be translated into simple events and communicated to Web applications. (For example, if a user wants to scroll down a page, they might use their finger on a touch screen, or click a scroll bar with a mouse, or use a scroll wheel, or say ‘scroll down’ with a voice command. With IndieUI, these are all sent to the Web app as simply: scroll down.) IndieUI will make it easier for Web applications to work in a wide range of contexts — different devices (such as mobile phones and tablets), different assistive technologies (AT), different user needs. With IndieUI, Web application developers will have a uniform way to design applications that work for multiple devices and contexts. Comments on this Draft are encouraged by 13 February 2015. Learn more from the IndieUI Overview and the Updated Working Draft: IndieUI Events e-mail; and read about the Web Accessibility Initiative (WAI).

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[First Public Working Draft: Packaging on the Web]]> http://www.w3.org/blog/news/?p=4312 2015-01-15T18:42:21Z 2015-01-15T18:39:06Z ]]> The Web Applications Working Group and the Technical Architecture Group have published a First Public Working Draft of Packaging on the Web. This document describes an approach for creating packages of files for use on the web. The approach is to package them using a new application/package media type. To access packages related to other files on the web, clients that understand packages of files look for a Link header or (in HTML documents) a <link> element with a new link relation of package. Other formats may define format-specific mechanisms for locating related packages. Learn more about the Rich Web Client Activity and the Technical Architecture Group.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Cognitive Accessibility User Research published]]> http://www.w3.org/blog/news/?p=4310 2015-01-21T16:35:33Z 2015-01-15T17:55:45Z ]]> A First Public Working Draft of Cognitive Accessibility User Research was published today by the Cognitive and Learning Disabilities Accessibility Task Force, a joint task force of the Protocols and Formats Working Group and the Web Content Accessibility Guidelines Working Group. This planned W3C Working Group Note describes the challenges of using web technologies for people with learning disabilities or cognitive disabilities. It provides a basis for subsequent work to develop strategies and techniques to improve accessibility for these user groups. Learn more about the Web Accessibility Initiative (WAI).

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[W3C Invites Implementations of Compositing and Blending Level 1 (Updated)]]> http://www.w3.org/blog/news/?p=4308 2015-01-20T15:16:06Z 2015-01-13T16:04:38Z ]]> The Cascading Style Sheets (CSS) Working Group and the SVG Working Group invite implementation of the updated Candidate Recommendation of Compositing and Blending Level 1. Compositing describes how shapes of different elements are combined into a single image. There are various possible approaches for compositing. Previous versions of SVG and CSS used Simple Alpha Compositing. In this model, each element is rendered into its own buffer and is then merged with its backdrop using the Porter Duff source-over operator. This specification will define a new compositing model that expands upon the Simple Alpha Compositing model by offering: additional Porter Duff compositing operators; advanced blending modes which allow control of how colors mix in the areas where shapes overlap; compositing groups. In addition, this specification will define CSS properties for blending and group isolation and the properties of the ‘globalcompositeoperation’ attribute as defined in HTML Canvas 2D Context, Level 2. Learn more about the Style Activity and the Graphics Activity.

]]>
0
Ian Jacobs http://www.w3.org/People/Jacobs/ <![CDATA[W3C Advisory Committee Elects Technical Architecture Group]]> http://www.w3.org/blog/news/?p=4304 2015-01-21T16:40:48Z 2015-01-09T18:38:53Z ]]> The W3C Advisory Committee has elected the following people to the W3C Technical Architecture Group (TAG): Travis Leithead (Microsoft), Mark Nottingham (Akamai), Alex Russell (Google), and Yan Zhu (Yahoo!). They join continuing participants Daniel Appelquist (Telefónica; co-Chair), David Herman (Mozilla Foundation), and Peter Linss (HP; co-Chair), as well as co-Chair Tim Berners-Lee. One seat remains to be appointed.

W3C thanks those TAG participants whose terms end this month for their contributions: Jeni Tennison (ODI), Sergey Konstantinov (Yandex), Domenic Denicola (Google), and Yehuda Katz (jQuery Foundation).

The mission of the TAG is to build consensus around principles of Web architecture and to interpret and clarify these principles when necessary, to resolve issues involving general Web architecture brought to the TAG, and to help coordinate cross-technology architecture developments inside and outside W3C. Learn more about the TAG.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Indexed Database API is a W3C Recommendation]]> http://www.w3.org/blog/news/?p=4298 2015-01-20T14:31:30Z 2015-01-08T18:31:31Z ]]> The Web Applications Working Group has published a W3C Recommendation of Indexed Database API. This document defines APIs for a database of records holding simple values and hierarchical objects. Each record consists of a key and some value. Moreover, the database maintains indexes over records it stores. An application developer directly uses an API to locate records either by their key or by using an index. A query language can be layered on this API. An indexed database can be implemented using a persistent B-tree data structure. Learn more about the Rich Web Client Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Techniques for Web Content Accessibility Guidelines (WCAG) Draft for Review]]> http://www.w3.org/blog/news/?p=4295 2015-01-15T18:52:49Z 2015-01-08T18:20:56Z ]]> The Web Content Accessibility Guidelines Working Group (WCAG WG) requests review of draft updates to Notes that accompany WCAG 2.0: Techniques for WCAG 2.0 (Public Review Draft) and Understanding WCAG 2.0 (Public Review Draft). Comments are welcome through 29 January 2015. (This is not an update to WCAG 2.0, which is a stable document.) To learn more about the updates, see the Call for Review: WCAG 2.0 Techniques Draft Updates e-mail. Read about the Web Accessibility Initiative (WAI).

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[DPUB IG Metadata Task Force Report Published as a Note]]> http://www.w3.org/blog/news/?p=4293 2015-01-15T17:55:29Z 2015-01-08T18:04:44Z ]]> The Digital Publishing Interest Group has published a Group Note of DPUB IG Metadata Task Force Report. The Metadata Task Force of the DPUB IG found, through extensive interviews with representatives of various sectors and roles within the publishing ecosystem, that there are numerous pain points for publishers with regard to metadata but that these pain points are largely not due to deficiencies in the Open Web Platform. Instead, there is a widespread lack of understanding or implementation of the technologies that the OWP already makes available for addressing most of the issues raised. However, some of the very technologies that are little used or understood in most sectors of publishing are widely used and understood in certain other sectors (e.g., scientific publishing, libraries). Priorities that have emerged are the need for better understanding of the importance of expressing identifiers as URIs; the need for much more widespread use of RDF and its various serializations throughout the publishing ecosystem; and the need to develop a truly interoperable, cross-sector specification for the conveyance of rights metadata (while remaining agnostic as to the sector-specific vocabularies for the expression of rights). This Note documents in detail the issues that were raised; provides examples of available RDF educational resources at various levels, from the very technical to non-technical and introductory; and lists important identifiers used in the publishing ecosystem, documenting which of them are expressed as URIs, and in what sectors and contexts. It recommends that while little new technology is called for, the W3C is in a unique position to bridge today’s currently siloed metadata practices to help facilitate truly cross-sector exchange of interoperable metadata. This Note is thus intended to provide background and a context in which concrete work, whether by this Task Force or elsewhere within the W3C, may be undertaken. Learn more about the Digital Publishing Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[CSV on the Web: Metadata Vocabulary for Tabular Data, and Their Conversion to JSON and RDF]]> http://www.w3.org/blog/news/?p=4291 2015-01-15T17:55:20Z 2015-01-08T17:51:12Z ]]> The CSV on the Web Working Group has published First Public Working Drafts of the Generating JSON from Tabular Data on the Web and the Generating RDF from Tabular Data on the Web documents, and has also issued new releases of the Metadata Vocabulary for Tabular Data and the Model for Tabular Data and Metadata on the Web Working Drafts. A large percentage of the data published on the Web is tabular data, commonly published as comma separated values (CSV) files. Validation, conversion, display, and search of that tabular data requires additional information on that data. The “Metadata vocabulary” document defines a vocabulary for metadata that annotates tabular data, providing such information as datatypes, linkage among different tables, license information, or human readable description of columns. The standard conversion of the tabular data to JSON and/or RDF makes use of that metadata to provide representations of the data for various applications. All these technologies rely on a basic data model for tabular data described in the “Model” document. The Working Group welcomes comments on these documents and on their motivating use cases. Learn more about the Data Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[W3C and OGC to Collaborate to Integrate Spatial Data on the Web]]> http://www.w3.org/blog/news/?p=4287 2015-01-15T17:55:07Z 2015-01-06T15:36:10Z ]]> The W3C and the Open Geospatial Consortium (OGC) announced today a new collaboration to improve interoperability and integration of spatial data on the Web. Spatial data is integral to many of our human endeavors and so there is a high value in making it easier to integrate that data into Web based datasets and services.

The new Spatial Data on the Web Working Group will work in close collaboration with the Open Geospatial Consortium, in particular, the eponymous OCG’s Spatial Data on the Web Working Group . “Location, as well as providing context to much of today’s online information, is vital to the emerging field of connected devices,” said Ed Parsons, Geospatial Technologist at Google. “Through this collaboration we hope to make the understanding of geospatial knowledge a fundamental component of the Web.”

This work follows the March 2014 Workshop on Linking Geospatial Data and is supported in part at W3C by the SmartOpenData project.

Read the press release and learn more about the W3C Data Activity.

]]>
0
Ian Jacobs http://www.w3.org/People/Jacobs/ <![CDATA[Registration Open for W3C Training in JavaScript, Responsive Web Design, HTML5]]> http://www.w3.org/blog/news/?p=4284 2015-01-08T17:51:59Z 2014-12-23T20:23:25Z ]]> Registration is open for new editions of three W3C online courses that begin in early 2015:

  • JavaScript [Register]. This course runs for 4 weeks starting 26 January 2015. This course provides instruction about JavaScript good practices, tricks, and tools, illustrated through examples and assignments.
  • HTML5 [Register]. This course runs for 6 weeks, starting 2 February 2015. This course covers video, time based animation, 2D geometric transformations, Web Audio API, Web components and much more.
  • Responsive Web Design [Register]. This course runs for 5 weeks, starting 6 February 2015. This course leads you step by step through an approach that focuses on HTML and CSS to make your Web site fit in all viewport sizes.

An early bird rate is available to all above courses. Learn more about W3DevCampus, the official W3C online training for Web developers. See also our self-explanatory fun video.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[W3C Invites Implementations of XPath 3.1, XQuery 3.1, XQueryX 3.1]]> http://www.w3.org/blog/news/?p=4278 2015-01-08T17:52:37Z 2014-12-18T21:27:42Z ]]> Today the XSLT Working Group and the XQuery Working Group jointly published Candidate Recommendations and invite implementation of XPath 3.1 and supporting documents. The XQuery Working Group published Candidate Recommendations and invites implementation of XQuery 3.1 and XQueryX 3.1. The supporting documents are XPath Functions and Operators; XQuery and XPath Data Model. XQuery 3.1 and XPath 3.1 introduce improved support for working with JSON data with map and array data structures as well as loading and serializing JSON; additional support for HTML class attributes, HTTP dates, scientific notation, cross-calling between XSLT and XQuery and more. The Serialization specification remains a Last Call Working Draft and was not republished, in order to improve JSON, map and array support in response to a Last Call Comment; it is expected to follow the other documents in the New Year. Learn more about the Extensible Markup Language (XML) Activity

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[First Public Working Draft: CSS Inline Layout; CSS Box Alignment Draft Published]]> http://www.w3.org/blog/news/?p=4276 2015-01-09T18:18:46Z 2014-12-18T20:56:10Z ]]> The Cascading Style Sheets (CSS) Working Group has published two documents today:

  • A First Public Working Draft of CSS Inline Layout Module Level 3. The CSS formatting model provides for a flow of elements and text inside of a container to be wrapped into lines. The formatting of elements and text within a line, its positioning in the inline progression direction, and the breaking of lines are described in CSS Text Module Level 3. This module describes the positioning in the block progression direction both of elements and text within lines and of the lines themselves. This positioning is often relative to a baseline. It also describes special features for formatting of first lines and drop caps. It extends on the model in CSS 2.1.
  • A Working Draft of CSS Box Alignment Module Level 3. This module contains the features of CSS relating to the alignment of boxes within their containers in the various CSS box layout models: block layout, table layout, flex layout, and grid layout.

CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc. Learn more about the Style Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[First Public Working Drafts: XProc 2.0: An XML Pipeline Language; XProc 2.0: Standard Step Library]]> http://www.w3.org/blog/news/?p=4274 2015-01-08T17:52:30Z 2014-12-18T20:39:37Z ]]> The XML Processing Working Group has published a First Public Working Draft of XProc 2.0: An XML Pipeline Language, together with a Standard Step Library. XProc is an XML pipeline language; that is, a declarative dataflow language used to express steps required to process XML documents, coordinating operations such as querying, validation, inclusion, transformation and sorting. The XProc step library defines names and characteristics for a set of pipeline steps that every XProc processor is expected to support, as well as additional optional steps. Lean more about the XML Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Web Accessibility Evaluation Tool List: Call for Tool Information]]> http://www.w3.org/blog/news/?p=4272 2015-01-08T17:50:57Z 2014-12-18T18:44:43Z ]]> An updated version of the Web Accessibility Evaluation Tools List is now available. Web accessibility evaluation tools are software programs or online services that help determine if web content meets accessibility guidelines. Information about features of evaluation tools that help with evaluation is in Selecting Web Accessibility Evaluation Tools. Web accessibility evaluation tool vendors are encouraged to submit information about their tool to the list. Learn more about the Web Accessibility Initiative (WAI).

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Upcoming Workshop: Data, content and services for the Multilingual Web]]> http://www.w3.org/blog/news/?p=4268 2015-01-09T18:18:36Z 2014-12-18T09:31:15Z ]]> W3C announced today the eighth MultilingualWeb workshop in a series of events exploring the mechanisms and processes needed to ensure that the World Wide Web lives up to its potential around the world and across barriers of language and culture. To be held 29 April 2015 in Riga, this workshop is made possible by the generous support of the LIDER project. The workshop is part of the Riga Summit 2015 on the Multilingual Digital Single Market (27-29 April). Anyone may attend the workshop and the summit at no charge and the W3C welcomes participation by both speakers and non-speaking attendees. Early registration is encouraged due to limited space.

Building on the success of seven highly regarded previous workshops, this workshop will emphasize new technology developments that may lead to new opportunities for the Multilingual Web. The workshop brings together participants interested in the best practices and standards needed to help content creators, localizers, language tools developers, and others meet the challenges of the multilingual Web. It provides further opportunities for networking across communities that span the various aspects involved. We are particularly interested in speakers who can demonstrate novel solutions for reaching out to a global, multilingual audience. Registration is available online.

]]>
0
Ian Jacobs http://www.w3.org/People/Jacobs/ <![CDATA[OpenSocial Foundation Moving Standards Work to W3C]]> http://www.w3.org/blog/news/?p=4265 2015-01-06T15:20:59Z 2014-12-16T20:44:20Z ]]> Building on the 31 July 2014 announcement of the W3C Social Web Working Group, the OpenSocial Foundation and W3C today announce the transfer of OpenSocial specifications and assets to the W3C. As of 1 January 2015, OpenSocial Foundation will close and future work will take place within the W3C Social Web Activity, chartered to make it easier to build and integrate social applications into the Open Web Platform.

“The consensus of the OpenSocial Board is that the next phase of Social Web Standards, built in large part on the success of OpenSocial standards and projects like Apache Shindig and Rave, should occur under the auspices of the W3C Social Web Working Group, of which OpenSocial is a founding member,” said John Mertic, OpenSocial Foundation President.”

Read more in the press release and blog post with details and FAQ, and learn more about W3C’s Social Web Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Call for Review: Pointer Events Proposed Recommendation Published]]> http://www.w3.org/blog/news/?p=4259 2014-12-23T20:19:23Z 2014-12-16T18:32:24Z ]]> The Pointer Events Working Group has published a Proposed Recommendation of Pointer Events. This document defines events and related interfaces for handling hardware agnostic pointer input from devices including a mouse, pen, touchscreen, etc.. For compatibility with existing mouse based content, this specification also describes a mapping to fire Mouse Events for other pointer device types. Comments are welcome through 16 January 2015. Learn more about the Rich Web Client Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Call for Review: RDFa 1.1 is a Proposed Edited Recommendation]]> http://www.w3.org/blog/news/?p=4256 2014-12-23T20:19:09Z 2014-12-16T18:18:13Z ]]> The RDFa Working Group is advancing four RDFa 1.1 documents to Proposed Edited Recommendations today:

  • HTML+RDFa 1.1 – Second Edition. This specification defines rules and guidelines for adapting the RDFa Core 1.1 and RDFa Lite 1.1 specifications for use in HTML5 and XHTML5. The rules defined in this specification not only apply to HTML5 documents in non-XML and XML mode, but also to HTML4 and XHTML documents interpreted through the HTML5 parsing rules.
  • RDFa Core 1.1 – Third Edition. RDFa Core is a specification for attributes to express structured data in any markup language. The embedded data already available in the markup language (e.g., HTML) can often be reused by the RDFa markup, so that publishers don’t need to repeat significant data in the document content. The underlying abstract representation is RDF, which lets publishers build their own vocabulary, extend others, and evolve their vocabulary with maximal interoperability over time. The expressed structure is closely tied to the data, so that rendered data can be copied and pasted along with its relevant structure.
  • RDFa Lite 1.1 – Second Edition. RDFa Lite is a minimal subset of RDFa, the Resource Description Framework in attributes, consisting of a few attributes that may be used to express machine-readable data in Web documents like HTML, SVG, and XML. While it is not a complete solution for advanced data markup tasks, it does work for most day-to-day needs and can be learned by most Web authors in a day.
  • XHTML+RDFa 1.1 – Third Edition. RDFa Core 1.1 defines attributes and syntax for embedding semantic markup in Host Languages. This document defines one such Host Language. This language is a superset of XHTML 1.1, integrating the attributes as defined in RDFa Core 1.1. This document is intended for authors who want to create XHTML Family documents that embed rich semantic markup.

Comments are welcome through 1 February 2015. Learn more about the Data Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Linked Data Platform (LDP) 1.0 Documents for Review, Implementation]]> http://www.w3.org/blog/news/?p=4261 2014-12-23T20:18:59Z 2014-12-16T18:06:02Z ]]> The Linked Data Platform (LDP) Working Group has published a Proposed Recommendation of Linked Data Platform 1.0. Linked Data Platform (LDP) defines a set of rules for HTTP operations on web resources, some based on RDF, to provide an architecture for read-write Linked Data on the web. Comments are welcome through 8 January 2015.

The group also invites implementation of the Candidate Recommendation of Linked Data Platform Paging 1.0. This document describes a HTTP-based protocol for clients and servers to be able to efficiently retrieve large Linked Data Platform Resource representations by splitting up the responses into separate URL-addressable page resources.

Learn more about the Data Activity.

]]>
0
Coralie Mercier http://coraliemercier.wordpress.com/ <![CDATA[Last Call: XML Inclusions (XInclude) Version 1.1]]> http://www.w3.org/blog/news/?p=4254 2014-12-18T18:45:29Z 2014-12-16T17:59:44Z ]]> The XML Core Working Group has published a Last Call Working Draft of XML Inclusions (XInclude) Version 1.1. This document specifies a processing model and syntax for general purpose inclusion. Inclusion is accomplished by merging a number of XML information sets into a single composite infoset. Specification of the XML documents (infosets) to be merged and control over the merging process is expressed in XML-friendly syntax (elements, attributes, URI references). Comments are welcome through 17 January 2015. Learn more about the Extensible Markup Language (XML) Activity.

]]>
0
PART 6 Introductory XSLT Programming ==================================== In solving the Atom puzzles below, I used the following in each of my XSLT programs. Note, Atom uses namespaces. (1) 2.5 Points. Using command line XSLT, write an XSLT program that displays the contents of each title that is a direct child of feed/entry. This list of titles will appear as an HTML unsigned list. No variables may be used in your style sheet. It will appear something like this (newlines added for readability): You will then dereference the variable in the element. Name your XSLT program "three.xsl". (4) 10 Points. Using command line XSLT, write an XSLT program that displays the number of Atom entry elements that appear in the document. You must use the XSLT count function in your solution. Your output will be marked up as HTML and will appear in a browser as follows: Counting Atom entry items 25 Name your XSLT program "four.xsl". (5) 10 Points. Using command line XSLT, write an XSLT program that displays the contents of each title that is a direct child of feed/entry. Your output will be marked up as HTML and will appear in a browser with the titles underlined as hypertext links. If the user clicks on a link the browser will fetch the associated document that is pointed to by the link element. The output on the browser will appear as follows (in a browser, these show up as clickable links.) Titles (with links) W3C Launches Web of Things initiative First Public Working Draft: Frame Timing Navigation Timing 2 Draft Published Name your XSLT program "five.xsl". (6) 5 Points. Using command line XSLT, write an XSLT program that displays the contents of each title and the value of the term attribute of each category associated with that title. The output will be marked up nicely in HTML. A browser will display something like the following: Titles and Categories W3C Launches Web of Things initiative Browsers and Authoring Tools Home Page Stories Top Story Web Design and Applications Web of Devices Web of Services First Public Working Draft: Frame Timing Browsers and Authoring Tools Home Page Stories Publication Web Design and Applications Name your XSLT program "six.xsl". (7) 2.5 Points. This is the same as question (1) but generate a JSON object instead of HTML. When generating JSON, you will need to change your XSLT program so that its heading looks like this: The output will look exactly like this (note, we are dropping the HTML from question 1 altogether). We will have a result that is a JSON object holding an array of strings: { [ W3C Launches Web of Things initiative, First Public Working Draft: Frame Timing, Navigation Timing 2 Draft Published, : : Last Call: XML Inclusions (XInclude) Version 1.1 ] } Note, the final string in the array is NOT terminated by a comma. You area required to use an "XSLT:IF" to test if a comma should be generated or not. Name your XSLT program "seven.xsl". SERVER SIDE MASHUP Reading RSS ============================== (8) 30 Points. Write a JSP page that asks the user to enter a topic from a list of topics shown in a drop down list. The three topics will be Business, Technology and World News. Once a selection is made your browser will make a call on a Java servlet passing along the topic. The topic is simply a string passed to the servlet from the browser. The servlet will fetch the appropriate RSS 2.0 feed from the NY Times web site. It will apply a style sheet that will generate HTML to the browser. The HTML display will show each news title of each item. Each news title will be displayed as a link. The user will be able to click links to visit the associated page. Note that there are no namespaces defined on the main elements in RSS 2.0. New York Times feeds may be found at http://www.nytimes.com/services/xml/rss/index.html A full page refresh is required. Name this Netbeans project "Project8". (9) 5 Points. Add a source of feeds drop down box to the application that you built in question 8. Thus, the user will be able to select a topic and a source. At a minimum, you will need to provide for three sources. In my solution, I used the BBC, the New York Times and the Sydney Morning Herald. The BBC feeds are discussed here: http://news.bbc.co.uk/1/hi/help/3223484.stm The Sydney Morning Herald feeds are discussed here: http://www.smh.com.au/rssheadlines A full page refresh is required. Name this Netbeans project "Project9". (10) 5 points. Add Ajax to your solution in question 9. Be creative and redesign the site so that there is no need for a full page refresh. Use the Javascript XHR object in Javascript. You are not allowed to use JQuery or Angular.js for this question. Name this Netbeans project "Project10". (11) 10 Points. Add a text box to your application in question 10. This box will respond to the blur event (See Sebesta's Popcorn example on the course slides) and will be used to pass a text filter to the application. Suppose the user wants to find out if the BBC has a World News item containing the string Obama. The text filter will be AJAX enabled and will be used to filter out all news titles that do not contain that string. The servlet will now be accepting three parameters: the source of the news, the topic and the filter. The filtering will be done within XSLT. So, you will need to use an XSLT parameter as discussed in Part 3.5. Name this Netbeans project "Project11". (12) 5 points. Use the JQuery Javascript library for the AJAX calls. Here is an introduction to JQuery that shows how the library can be included in your Netbeans project: http://netbeans.org/kb/docs/web/js-toolkits-jquery.html Name this Netbeans project "Project12". (13) 5 points. Use the Angular.js Javascript library for the AJAX calls. The XSLT, for this problem, will be redesigned to generate JSON rather than XML. Thus, JSON will be received by the browser. Angular.js is described here: https://angularjs.org Name this Netbeans project "Project13". (14) 2.5 Points. Modify the KML file found on the Course Schedule, TravelingSalesPersonProblem.kml, so that it draws a shape on Google Earth in the Pittsburgh area. Name this file "fourteen.kml". Submit one zip file called Homework2.zip to the assignment section of Blackboard. Homework2.zip will contain all of the files and projects described above.