This issue of XML Daily Newslink is sponsored by:
- CalConnect vCard Workshop
- Parsing Microformats
- Citrix Buys XML Security Firm QuickTree
- UN/CEFACT/UBL XML Naming and Design Rules Analysis
- Speech Synthesis Markup Language (SSML) Version 1.1
- Save Time and Code with XPath 2.0 and XSLT 2.0
- WS-Security Interoperability Challenges: Using the EJB Proxy
- Silverlight in the Moonlight
CalConnect vCard Workshop
Staff, Calendaring and Scheduling Consortium Announcement
An invitation has been extended for participation in a one-day workshop on vCard—"what to do about it." The meeting will be held Tuesday, September 18, 2007 at M.I.T., Cambridge, Massachusetts, USA. "vCard is a well established standard for representing and transferring contact information on computer systems and mobile devices. Having been in use for a while, a number of areas of the specification have been noted as problematic and in need of revision for fixes or enhancements. An effort is already under way at the IETF to develop a personal address book access protocol based on the CardDAV specification, and since that is based on vCard, a revision of the vCard specification will be taking place within the IETF." Chris Newman (IETF Applications Area Director), Cyrus Daboo, and others have been working on draft proposals for an XML-based 'CardDAV' specification to be produced by a new IETF [vcarddav] Working Group. The proposed CardDAV defines a well structured data model for the storage of vCard data in WebDAV; it defines new reports for querying and retrieving vCard data in an efficient manner; it defines a new collection type to represent an address book, plus a new method to create it. CardDAV requires WebDAV ACL for access control. The "vCard Extensions to WebDAV (CardDAV)" Internet Draft defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing contact information based on the vCard format; it thus defines the 'addressbook-access' feature of CardDAV. Address books containing contact information are a key component of personal information management tools, such as email, calendaring and scheduling, and instant messaging clients. To date several protocols have been used for remote access to contact data, including LDAP, IMSP, and ACAP, together with SyncML used for synchronization of such data. WebDAV offers a number of advantages as a framework or basis for address book access and management. A CardDAV address book is modeled as a WebDAV collection with a well defined structure; each of these address book collections contain a number of resources representing address objects as their direct child resources. Each resource representing an address object is called an "address object resource". Each address object resource and each address book collection can be individually locked and have individual WebDAV properties. Section 10 defines the XML Element Definitions for CardDAV; some CardDAV XML element names are identical to WebDAV XML element names, though their namespace differs. The CalConnect Consortium "is focused on the interoperable exchange of calendaring and scheduling information between dissimilar programs, platforms, and technologies. The Consortium's mission is to promote general understanding of and provide mechanisms to allow interoperable calendaring and scheduling methodologies, tools and applications to enter the mainstream of computing."
See also: CardDAV
Brian Suda, XML.com
Microformats are a way to embed specific semantic data into the HTML that we use today. One of the first questions an XML guru might ask is "Why use HTML when XML lets you create the same semantics?" [but] I won't go into all the reasons XML might be a better or worse choice for encoding data or why microformats have chosen to use HTML as their encoding base. This article will focus more on how to extract microformats data from the HTML, how the basic parsing rules work, and how they differ from XML... One of the more popular and well-established microformats is hCard. This is a vCard representation in HTML, hence the "h" in hCard, HTML vCard. A vCard contains basic information about a person or an organization. This format is used extensively in address book applications as a way to backup and interchange contact information. By Internet standards it's an old format, the specification is RFC 2426 from 1998. It is pre-XML, so the syntax is just simple text with a few delimiters and start and end elements... A vCard file has a 'BEGIN:VCARD' and an 'END:VCARD' that act as a container so the parser knows when to stop looking for more data. There might be multiple vCards in one file, so this nicely groups the data into distinct vCards. The 'FN' stands for Formatted Name, which is used as the display name. The 'N' is the structured name, which encodes things like first, last, middle names, prefixes and suffixes, all semicolon separated. Finally, 'URL' is the URL of the web site associated with this contact... If we were to encode this in XML it would probably look something like [XML code]... Let's see how we can mark up the same vCard data in HTML using microformats, which make extensive use of the 'rel', 'rev', and 'class' attributes to help encode the semantics. The class attribute is used in much the same way as elements are used in XML. So the previous XML example might be marked up in HTML as [HTML code]... Let's take that HTML example and try to parse it using XSLT. Microformats are designed to work with HTML 4 and higher; TIDY or a function like HTMLlib or loadHTML, either will load the HTML document and convert it into a usable state for XSLT... The parsing of microformats data is dependent the type of data and on the HTML element it was encoded on. This is a very basic overview of parsing data from a microformat. There are more rules depending on the type of vCard property and on which HTML element it is encoded... [Note: see the preceding citation for vCard and (IETF) cardDAV.]
Citrix Buys XML Security Firm QuickTree
Tim Greene, Network World
Citrix Systems has bought QuickTree, a software developer focused on improving security and performance for XML and Web services. QuickTree software can be added to network gear to guard against attacks carried within XML traffic. The company's XML Security Module (XSM) processes and inspects XML traffic as it passes through these devices, such as firewalls, load balancers and SSL VPN gateways. Competitors include Layer 7, Cisco with its purchase of Reactivity and Forum Systems. Citrix argues that while stand-alone XML appliances are one way to boost XML processing speeds and secure XML traffic, it is more efficient to integrate these features in existing network infrastructure; such equipment would reduce the number of devices in the network and ultimately scale better than appliances. Citrix says it will integrate XSM into its AppExpert Policy Builder platform, a GUI tool for creating policies for applications and users that are translated into rules that are enforced by Citrix network infrastructure. The company says XSM will be integrated first with NetScaler, which typically sits between Web servers and the larger private or public IP network.
See also: the announcement
UN/CEFACT/UBL XML Naming and Design Rules Analysis
Michael Grimley, OASIS UBL TC Discussion List Posting
A first draft of a document providing UN/CEFACT - UBL NDR comparison and analysis has been posted to the document repository of the OASIS Universal Business Language (UBL) Technical Committee by Michael Grimley. Specifically, it provides a comparison and analysis of Version 2.0 of the UN/CEFACT and UBL NDRs. Version 2.0 of the UN/CEFACT XML Naming and Design Rules technical specification "allows users to identify, capture and maximize the re-use of business information expressed as XML schema components. It ensures consistent and efficient use of XML in a business-to-business and application-to-application environment. It can be utilized wherever business information is being shared or exchanged among and between enterprises and government agencies worldwide using XML schema." Mark Crawford (SAP Standards Architect) wrote in a posting to the XML Developers List (26-April-2007): "The CCTS standards stack consists of CCTS. It requires the use of no other specification — UN/CEFACT or other—for implementation. The UN/CEFACT CCTS standards stack however does have a defined XML NDR as part of the stack — for use by UN/CEFACT. Further CCTS does not require any syntax specific set of rules. In fact its power is in its syntax neutrality and its context mechanisms. [David Carver had said: 'There are actually three XML NDRs for CCTS: (1) UBL 2.0 NDR, (2) ATG2 XML NDR 2.0 and 1.0, (3) OAGIs 9 v0.7 NDR'] Actually, there are many more and I am not sure I would include OAGi 9 at this point. The US Department of the Navy for example has their own CCTS NDR. What is interesting is that many SDOs have realized — driven in large part by their membership — that it makes no sense to have different flavors of NDRs and that yes there is real value in being able to auto generate schema from the business models. OAGi, GS1, CIDX, ACORD, UN/CEFACT, UBL, RosettaNet, AIAG, and others have come together to work collaboratively on the next set of UN/CEFACT XML NDRs that will serve as a convergence point for all of these organizations."
See also: Naming and Design Rules
Speech Synthesis Markup Language (SSML) Version 1.1
Daniel C. Burnett and Zhi Wei Shuang (eds), W3C Working Draft
W3C announced that members of the Voice Browser Working Group have released an updated Working Draft for the "Speech Synthesis Markup Language (SSML) Version 1.1" specification. Changes from the previous draft include the usage of XML 1.1 and IRIs, and the specification of voice selection and language speaking control. The W3C Voice Browser Working Group has sought to develop standards to enable access to the Web using spoken interaction. The Speech Synthesis Markup Language Specification is one of these standards and is designed to provide a rich, XML-based markup language for assisting the generation of synthetic speech in Web and other applications. The essential role of the markup language is to provide authors of synthesizable content a standard way to control aspects of speech such as pronunciation, volume, pitch, rate, etc. across different synthesis-capable platforms. The intended use of SSML is to improve the quality of synthesized content. Different markup elements impact different stages of the synthesis process. The markup may be produced either automatically, for instance via XSLT or CSS3 from an XHTML document, or by human authoring. Markup may be present within a complete SSML document or as part of a fragment embedded in another language, although no interactions with other languages are specified as part of SSML itself. Most of the markup included in SSML is suitable for use by the majority of content developers; however, some advanced features like 'phoneme' and 'prosody' (e.g., for speech contour design) may require specialized knowledge. SSML Version 1.1 improves on W3C's SSML 1.0 Recommendation by adding support for more conventions and practices of the world's natural (human) languages.
See also: the W3C Voice Browser Activity
Save Time and Code with XPath 2.0 and XSLT 2.0
Doug Tidwell, IBM developerWorks
This article demonstrates many of the new features of XPath 2.0 and XSLT 2.0. Three interesting new features in XPath 2.0 and XSLT 2.0 are the 'item' data type, the 'to' operator, and the concept of sequences. Here we build a sample application that uses these features to generate a sophisticated HTML view of an XML document, and with the new features in XSLT 2.0, create shorter stylesheets that are easier to maintain. Along the way, we spend a bit of time on data typing in XSLT 2.0 and learn to use the new 'xsl:function' element. In this sample application, we take an unwieldy stylesheet and refactor it into a much smaller and more maintainable piece of code. One of the major new concepts in XPath 2.0 and XSLT 2.0 is that everything is a sequence. In XPath 1.0 and XSLT 1.0, you typically worked with trees of nodes. The parsed XML document was a tree that contained the document node and its descendants. Using that tree of nodes, you could find the node for the root element, along with all of the root element's descendants, attributes, and siblings. Any comments or processing instructions outside the root element of the XML file are considered siblings of the root element. When you work with an XML document in XPath 2.0 and XSLT 2.0, you use the sequence in the same way as the tree structure in XPath 1.0 and XSLT 1.0. The sequence contains a single item (the document node), and you use it the same way you always have. However, you can create sequences of atomic values. In sample application for this article, you manage the data for a 16-team single-elimination tournament.
WS-Security Interoperability Challenges: Using the EJB Proxy
Zeynep Latif and David Leigh, IBM developerWorks
Incompatibilities among different versions of the Web services security specifications prevent a J2EE 1.3 client from communicating with a J2EE 1.4 Web services provider when WS-Security is required. Previous articles in this series describe the WS-Security specification-level interoperability problem, and they help you choose an appropriate workaround. This article focuses on implementing the EJB proxy workaround. The approach involves building an EJB Web service proxy, which acts as the glue between the J2EE 1.3 client and the J2EE 1.4 Web service provider. Compared to the middleware proxy approach described in a previous article of this series, implementing the EJB proxy approach is a basic programming exercise. This approach is not as scalable as the middleware proxy approach, because it requires manual modification of each J2EE 1.3 client application. The effort required to implement the EJB proxy approach is primarily application development work, although this workaround does introduce another application for the operations team to deploy, secure, and manage. This approach also requires the involvement of testers and deployment personnel... This approach is best suited to sandbox, test, or proof-of-concept situations in which upgrading Web services consumer applications to J2EE 1.4 is not an option and in which the cost of setting up a middleware proxy is prohibitive. This approach is primarily a straightforward application development exercise.
Silverlight in the Moonlight
Darryl K. Taft, eWEEK
Microsoft has released to the Web 'Silverlight 1.0', a cross-browser, cross-platform plug-in for delivering richer user experiences on the Web. In addition, the company has announced that it will work with Novell to deliver Silverlight support for Linux, an effort dubbed "Moonlight" that is based on the project started on mono-project.com. The delivery of Silverlight 1.0, along with several user examples and a new partner program, is big news for the Microsoft technology, but that news is overshadowed by the company's sanction of the Moonlight project. Trish Connolly, President and CEO of Advanced Publishing, in Saint John, New Brunswick: "Silverlight for our new digital edition solution... we are planning to launch our new product based on this format this week. We spent a number of months reviewing different technologies before selecting Silverlight as our chosen viewer format. We wanted to ensure that we would be able to provide the best viewing experience possible with strong security and data capabilities that would appeal to our publishing customers... Silverlight has significant benefits over other cross-browser formats (namely: Flash and JPEG/HTML solutions) including data-driven capabilities, which enable better reader interaction with live data to customize the reader experience and provide user-generated content features... In addition, sharing features allow for real-time sharing of content, both text and video... There also are improvements in online video over Flash in scaling from HD to mobile, XML-based presentation for better search engine optimization for video and text content, and the ability to deliver content and allow access across multiple devices." In addition to the release of Silverlight 1.0, Microsoft released Expression Encoder 1.0 (formerly Expression Media Encoder), a tool that simplifies the coding, enhancement and publishing of rich media content to Silverlight. Expression Encoder also eases production of live events using features such as multisource switching and publishing of content to services, including Silverlight Streaming by Windows Live.
XML Daily Newslink and Cover Pages are sponsored by:
|BEA Systems, Inc.||http://www.bea.com|
|Sun Microsystems, Inc.||http://sun.com|
XML Daily Newslink: http://xml.coverpages.org/newsletter.html
Newsletter Archive: http://xml.coverpages.org/newsletterArchive.html
Newsletter subscribe: firstname.lastname@example.org
Newsletter unsubscribe: email@example.com
Newsletter help: firstname.lastname@example.org
Cover Pages: http://xml.coverpages.org/