This issue of XML Daily Newslink is sponsored by:
ISIS Papyrus http://www.isis-papyrus.com
- New W3C Standard Defines Way to Organize and Share XML Workflows
- Apache Software Foundation Releases Apache Libcloud Version 0.3.1
- Updated IETF Internet Draft: The Atom "deleted-entry" Element
- XML Validation Framework Using OASIS CAM (CAMV)
- Java: Better Interfaces via JFormattedTextField
- Advertising and Discovering Willingness to Provide or Receive ARF Reports
New W3C Standard Defines Way to Organize and Share XML Workflows
Staff, W3C Announcement
W3C has announced "a powerful tool for managing XML-rich processes such as business processes used in enterprise environments. The specification XProc: An XML Pipeline Language, provides a standard framework for composing XML processes. XProc streamlines the automation, sequencing and management of complex computations involving XML by leveraging existing technologies widely adopted in the enterprise setting. XProc is supported by a test suite that covers all of the required and optional steps of the language as well as all the static and dynamic errors.
XML, the Extensible Markup Language, is a mainstay of contemporary enterprise computing that is used to store, transform, and exchange an enormous range of information, from tax returns to fuel tank levels. Many business processes can be modeled as a series of operations, each of which involves XML input or output. Companies use these models for many purposes, such as ensuring quality controls are met or assembling compliance reports.
W3C published the first XML standard in 1998. Since then W3C has standardized a number of core operations on XML including validation (Schema languages), query (XQuery), transformation (XSLT), and linking (XLink). Business processes combine and build on these core operations, but there has been no standard to describe such sequences. Instead, ad-hoc solutions have been used, which are not easily shared (e.g., with others in a supply chain) and do not leverage widely deployed tools or support. Norman Walsh (MarkLogic): 'XML is tremendously versatile... just off the top of my head, I can name standard ways to store, validate, query, transform, include, label, and link XML [but] what we haven't had is any standard way to describe how to combine them to accomplish any particular task... That's what XProc provides'...
XProc can be used, for example, to sequence the following set of operations: (1) given a news ticker feed (2) whenever a company is mentioned, use a Web service to contact a stock exchange then (3) insert current share prices into the feed and (4) insert background information about the company that has been extracted from a database. In addition, this enhanced feed could be presented in several ways to multiple users including (5) for print or (6) with an interactive form so that people can purchase shares online. In this scenario, XProc controls a number of processes that might be implemented using other standards such as XQuery, XSLT, XSLT-FO, XForms, and HTML."
See also: Paul Krill's InfoWorld article
Apache Software Foundation Releases Apache Libcloud Version 0.3.1
Staff, Apache Libcloud Project Announcement
Apache Software Foundation (ASF) developers in the Apache Libcloud Project have announced the release and immediate availability of version 0.3.1 of Apache Libcloud ("libcloud"). Apache Libcloud is a pure python client library for interacting with many of the popular cloud server providers. It was created to make it easy for developers to build products that work between any of the services that it supports.
Providers listed: EC2-AP Southeast, EC2-US East, EC2-US West, EC2-EU West, enomaly ECP, Eucalyptus, flexiscale, GoGrid, Hosting.com, IBM Cloud, Linode, OpenNebula, Slicehost, SoftLayer, Rackspace, RimuHosting, Terremark, vCloud, Voxel, and VPS.net.
The 'libcloud' application was originally created by Cloudkick, but has since grown into an independent free software project licensed under the Apache License (2.0).
Major changes in version 0.3.1 since the previous release include: (1) new Drivers for Dreamhost, Eucalyptus, Enomaly ECP, IBM Developer Cloud and SoftLayer; (2) added new deployment and bootstrap API; (3) added support for Amazon EC2 Asia Pacific (Singapore) Region; (4) improved the test coverage for all drivers.
Updated IETF Internet Draft: The Atom "deleted-entry" Element
James M. Snell (ed), IETF Internet Draft
IETF has published a revised specification for The Atom 'deleted-entry' Element, updating the previous Internet Draft of June 8, 2009. This specification adds mechanisms to the Atom Syndication Format which Atom Feed publishers can use to explicitly identify Atom entries that have been removed from an Atom feed.
The Atom Syndication Format (IETF Standards Track Request for Comments #4287) specification defines Atom as an XML-based Web content and metadata syndication format, where lists of related information are known as 'feeds'. Feeds are composed of a number of items, known as 'entries', each with an extensible set of attached metadata. For example, each entry has a title. The primary use case that Atom addresses is the syndication of Web content such as weblogs and news headlines to Web sites as well as directly to user agents.
The 'at:deleted-entry' element may appear as a child of 'atom:feed' to represent an Atom Entry that has been removed from a feed. The 'at:deleted-entry' element must contain a 'ref' attribute whose value specifies the value of the 'atom:id' of the entry that has been removed. The 'at:deleted-entry' element must contain a when attribute whose value is an RFC 3339 "date-time" specifying the instant the entry was removed from the feed. An uppercase "T" character must be used to separate date and time, and an uppercase "Z" character must be present in the absence of a numeric time zone offset The 'at:deleted-entry' element may contain one 'at:by' element used to identify the entity that removed the entry from the feed. The 'at:by' element is an Atom Person Construct as defined by Section 3.2 of RFC 4287...
An Atom feed may contain 'atom:entry' elements and 'at:deleted-entry' elements sharing the same 'atom:id' value. Atom processors should ignore any 'at:deleted-entry' elements sharing an 'atom:id' value with an 'atom:entry' whose 'atom:updated' element specifies a date and time more recent than or equal to the 'at:deleted-entry' element's when value. Elements and attributes from other XML vocabularies may be used within an at:deleted-entry element following the same model defined by Section 6 of RFC 4287. Processors encountering such markup must not stop processing or signal an error. It might be the case that the Processor is able to process the foreign markup correctly and does so. When unknown markup is encountered as a child of 'at:deleted-entry', Processors may bypass the markup and any textual content and must not change their behavior as a result of the markup's presence..."
See also: Atom references
XML Validation Framework Using OASIS CAM (CAMV)
Puneet Kathuria, IBM developerWorks
In this article, we present an approach for XML Validation using OASIS Content Assembly Mechanism (CAM) templates to support a wide array of complex message exchanges with business partners using B2B or B2C business patterns. The CAM templates simplify and externalize the validation rules while allowing the gateway to act as a pass-through on information that is not directly relevant. We also cover our experiences using an open source component built using Eclipse and Java technology to deliver the needed validation services...
In today's complex information exchanges with XML and associated large XSD schema, coupled with an array of trading partners, it becomes a significant challenge to support and maintain accurate handling of all incoming transactions. Currently, XML schemas and DTDs provide the ability to validate, or verify, the structural content of a XML document. Certain validation rules can also be accommodated as part of XML schemas but not all kinds of transaction validations can be performed using XML schemas or DTDs. With the advent of industry specific standards such as the Standards for Technology in Automotive Retail (STAR), whole collections of standard XML message exchange formats are provided in the form of XML Schemas. Both the consumers and providers of Web services must comply with these schemas to be certified by their industry standards body. However, such industry specific schemas are loosely bound with minimal validations and can be used for only structural validation of the incoming XML.
The solution approach we describe here is to implement the XML validation services based on the OASIS Content Assembly Mechanism (CAM) specification. The OASIS CAM template approach is based on a simple approach to XML content handling and validation that allows businesses to create common interchange models for their exchanges in XML. CAM templates support context-based rules, code-lists, and cross-field validations. Many cross-field validations cannot be implemented in an XSD schema alone; in other cases, it is not possible in the published industry schemas to accommodate all the validations variations.
The solution includes CAM Studio (an Eclipse-based UI template editor) that is used to define the CAM template. Then the CAMV validation engine provides a set of open source Java APIs which are used to validate the XML with the specific compiled CAM templates at run-time. CAM Studio template editor supports adding custom XPath expressions to its generated templates but the UI can define most rules without writing any custom expressions..."
Java: Better Interfaces via JFormattedTextField
Mark O. Pendergast, DDJ
This article presents the case for creating forms that provide guided input for users and validated data for applications. Data quality and accuracy are key to success for every application. Databases full of invalid phone numbers, improperly formatted email addresses, or out of range numeric data are of no use to anyone. Java Swing interface programmers know all too well the work involved in error checking user inputs taken from vanilla JTextFields. Many probably have been tempted to implement interfaces using JFormattedTextFields, but have been put off by the complexity of masks, formatters, verifiers, abstract classes, and interfaces that are required.
In this article, we explain the proper use of the JFormattedTextFieldand its related classes to create forms that provide both guided input for users and validated data for the application. The source code for a sample application and a library of reusable classes for common data entry items based on JFormattedTextField is available for download...
The article demonstrates how to use JFormattedTextFields for numeric data, fixed size string data, and custom data. Using JFormattedTextFields in place of JTextFields requires extra upfront coding for initializing the interface, but saves code when accessing and processing the data. JFormattedTextFields also provide a more fool-proof interface and better guidance to the user. Coding efficiency and reusability is further enhanced if custom classes based on JFormattedTextField are created for generic data types.
JFormattedTextFields are alternatives to JTextFields that are well worth using. They differ from JTextFields in several ways. First, they maintain a current "value" associated with the field as an Object. The getValue and setValue methods are provided to access it. Second, they use formatter objects to control the display of the value: one formatter is used to convert the value object to a String for display when the field does not have the focus; a separate formatter is used to convert the value when it receives the focus. Third, and most important, is that when combined with InputVerifiers they can handle all the parsing, range checking, and formatting required for processing GUI form interfaces...
Advertising and Discovering Willingness to Provide or Receive ARF Reports
J.D. Falk (ed), IETF Internet Draft
Members of the IETF Messaging Abuse Reporting Format (MARF) Working Group have released an initial level -00 Internet Draft for the specification Advertising and Discovering Willingness to Provide or Receive ARF Reports. The document defines a method for network operators to advertise their willingness to send feedback about received email to other parties, and for those other parties to advertise their willingness to receive such feedback.
The MARF Working Group has also updated its specification for An Extensible Format for Email Feedback Reports. It defines an extensible format and MIME type that may be used by mail operators to report feedback about received email to other parties. This format is intended as a machine-readable replacement for various existing report formats currently used in Internet email.
The IETF Messaging Abuse Reporting Format (MARF) Working Group was chartered to solicit review and refinement of the Abuse Reporting Format (ARF) specification, which has gained sufficient popularity to warrant formal codification, to ensure and encourage future interoperability with new implementations.
See also: the MARF Extensible Format specification
XML Daily Newslink and Cover Pages sponsored by:
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/