This issue of XML Daily Newslink is sponsored by:
Microsoft Corporation http://www.microsoft.com
- W3C Releases Unicorn as an All-in-One Online Validator for Web Pages
- Using Imprecise Location for Emergency Context Resolution
- Web Services Interoperability Organization (WS-I) Transitions to OASIS
- International Financial Reporting Standards (IFRS) Taxonomy Guide 2010
- XML Query Update Facility Test Suite Version 1.0.1
- vCard Format Extension to Represent the Social Network Information
- Open Source Toolkit for ebXML Collaboration Protocol Agreements (CPAs)
- Problems and Solutions with Model-View-ViewModel
- Speed Up Ruby on Rails: Eliminate the N+1 Query Problem
- Open Text Boosts Social Experiences with Web Site Management Solution
W3C Releases Unicorn as an All-in-One Online Validator for Web Pages
Staff, W3C Announcement
"W3C has announced the release of Unicorn, a one-stop tool to help people improve the quality of their Web pages. The Unicorn online service "combines a number of popular tools in a single, easy interface, including the Markup validator [for descriptive markup languages based upon XML/SGML metalanguages], CSS validator, mobileOk checker, and Feed validator, which remain available as individual services as well.
What is Markup Validation? Most pages on the World Wide Web are written in computer languages such as XML, HTML, XHTML, etc. that allow Web authors to structure text, add multimedia content, and specify what appearance, or style, the result should have. As for every descriptive markup language, these have their own grammar, vocabulary and syntax, and every document written with these computer languages are supposed to follow these rules. The (X)HTML languages, for all versions up to XHTML 1.1, are using machine-readable grammars called DTDs, a mechanism inherited from SGML. However, Just as texts in a natural language can include spelling or grammar errors, documents using Markup languages may (for various reasons) not be following these rules. The process of verifying whether a document actually follows the rules for the language(s) it uses is called validation, and the tool used for that is a validator. A document that passes this process with success is called 'valid'.
The basic mechanism of Unicorn is thus: after receiving a request from a user (via The Unicorn User Interface), the Unicorn Framework creates and sends a sequence of observation requests to a number of observers. The observers (validators, checkers, anything...) perform, and then report their observations (a list of errors, warnings or information) back to the framework in their observation response. The framework gathers and processes all observation responses, and displays the final result for user consumption... It uses Tasks such as "validation", "conformance checking" or "check for broken links". Each task is internally known by the framework as a sequence of observations, with different priorities given to different observations. If a high level priority observation returns one or more errors (e.g a well-formedness error or invalid markup), lower priority observations will not be requested, and the user will only be sent the results of the observations already processed...
W3C invites developers to enhance the service by creating new modules and testing them in our online developer space, or installing Unicorn locally. W3C looks forward to code contributions from the community as well as suggestions for new features. For example, users can develop a new 'Observer', where an observer is composed of two parts: a RESTful Web Service capable of sending results in a format that Unicorn can understand (you can download the XML schema file of Unicorn responses from the Unicorn public repository) and a file describing the service's capabilities, called the contract... W3C would like to thank the many people whose work has led up to this first release of Unicorn. This includes developers who started and improved the tool over the past few years, users who have provided feedback, translators who have helped localize the interface with 21 translations so far, and sponsors HP and Mozilla and other individual donors.
See also: the InfoQueue article by Dave West
Using Imprecise Location for Emergency Context Resolution
Richard Barnes and Matt Lepinski (eds), IETF Internet Draft
Members of the IETF Emergency Context Resolution with Internet Technologies (ECRIT) Working Group have published an Internet Draft for Using Imprecise Location for Emergency Context Resolution. From the document abstract: "Emergency calling works best when precise location is available for emergency call routing. However, there are situations in which a location provider is unable or unwilling to provide precise location, yet still wishes to enable subscribers to make emergency calls. This document describes the level of location accuracy that providers must provide to enable emergency call routing. In addition, we descibe how emergency services and non-emergency services can be invoked by an endpoint that does not have access to its precise location."
Details: "This document is concerned with imprecise location only in the context of routing emergency calls, i.e., for determining the correct PSAP to receive a given call (e.g., via a LoST query). Depending on the the structure of the local emergency service network, the location information provided to the endpoint may also be used to route the call to an entity that is authorized to request precise location, e.g., an Emergency Services Routing Proxy. The requirements and processes described in this document are the same for both cases.
Location information may also be used in the emergency calling framework to direct the dispatch of emergency responders. This usage is treated separately from call routing for purposes of this document, and this document does not place requirements on the location provided for dispatch, although it should obviously be as precise as possible. The only provision for dispatch in this document is a recommendation that the location provider supply endpoints with a URI that can be used by a PSAP or other emergency authority to obtain a different location for use in dispatch, hopefully more precise than the one used for routing...
The two main parties of interest are endpoints and location providers. Endpoints are hosts connected to the Internet that originate emergency calls in the emergency calling architecture, while location providers are entities that supply location information that is used for emergency calling. In addition, we discuss how these parties interact with the LoST mapping infrastructure, and with emergency and non-emergency location-based service providers..."
See also: XML and Emergency Management
Web Services Interoperability Organization (WS-I) Transitions to OASIS
Staff, WS-I and OASIS Announcement
The Web Services Interoperability Organization (WS-I) has announced its decision to transition its assets, operations, and mission into a Member Section of OASIS. The transition is expected to take place over the next few months. This move comes after eight years during which WS-I championed Best Practices for Web services interoperability by developing a comprehensive set of Web services Profiles, Sample Applications, and Testing Tools.
Having reached its goals, WS-I recognizes the convergence in the missions of the two organizations and has selected OASIS to safeguard its accomplishments and advance its mission going forward. WS-I is an open industry organization chartered to establish and document Best Practices for Web services interoperability. OASIS is an international consortium that develops and maintains many widely adopted open standards including several that are used in WS-I Profiles, such as the Security Assertion Markup Language (SAML) and WS-Security.
An OASIS WS-I Member Section is being created to serve as a 'home' for the WS-I work. OASIS Technical Committees will be formed to maintain the WS-I Basic Profile, Reliable Secure Profile, and Basic Security Profile, along with the associated Testing activity. In the future, the Member Section could grow to encompass new or existing Technical Committees that fit within its scope.
The WS-I Profiles that have been adopted by the ISO will remain International Standards, subject to renewal and revision via established ISO procedures, and maintenance responsibility for them will be formally transferred from WS-I to OASIS..."
Update 2010-11-13: See "WS-I Completes Web Services Interoperability Standards Work. Industry Collaboration Enables Interoperability in the Cloud", and testimonials in WS-I Board Member Quotes. "The release of WS-I member approved final materials for Basic Profile (BP) 1.2 and [Basic Profile] 2.0, and Reliable Secure Profile (RSP) 1.0 fulfills WS-I's last milestone as an organization. By publishing the final three profiles, WS-I marks the completion of its work. Stewardship over WS-I's assets, operations and mission will transition to OASIS (Organization for the Advancement of Structured Information Standards), a group of technology vendors and customers that drive development and adoption of open standards."
See also: the WS-I web site
International Financial Reporting Standards (IFRS) Taxonomy Guide 2010
Staff, IFRS Foundation Announcement
"In order to provide assistance with the preparation of financial statements in International Financial Reporting Standards (IFRS) with Extensible Business Reporting Language (XBRL), the IFRS Foundation has published illustrative examples in XBRL for the IFRS Taxonomy 2010. The purpose of these examples is to illustrate the use of the IFRS Taxonomy in financial statements, in accordance with the XBRL architecture outlined in The IFRS Taxonomy Guide. Each illustrative example is provided in both XBRL and Inline XBRL (iXBRL) format...
XBRL (Extensible Business Reporting Language) is an XML language developed for business reporting purposes. In XBRL, financial data is tagged so that it can be easily understood and processed by computers... There are different regulations concerning financial reporting which means that the definition of Assets under International Financial Reporting Standards (IFRSs) may differ from the one provided by a national set of generally accepted accounting principles (GAAP). Therefore, there is a need to describe interactions between financial concepts for each regulation of GAAP. This is to define whether or not there is any relation between Assets and, for example, Receivables and if there is, how this looks in terms of accounting knowledge and how to create references for elements to express the accounting standard to which they are applicable. To do that, XBRL uses a W3C technology called XML Linking (XLink)... In XBRL, a taxonomy consists of the core part which is a schema (or multiple schemas) and linkbases. In an XBRL taxonomy the schema is the part that contains definitions of elements (such as assets) whereas linkbases provide relationships between them. In the example of the classification of living things, the explanation of what is an organism, domain, kingdom, division and class would be placed in the schema while the hierarchical relationships between them would appear in the linkbases...
The IFRS Taxonomy is the XBRL (Extensible Business Reporting Language) representation of the IFRSs—including International Accounting Standards (IASs) and Interpretations—as issued by the International Accounting Standards Board (IASB). The IFRS Taxonomy Guide has been prepared as a technical, supporting guide for users of the IFRS Taxonomy. The guide contains the following sections: (1) IFRS Taxonomy Architecture, which provides an overview of the architecture of the IFRS Taxonomy; (2) Preparer's Guide, which contains guidance for preparers and issuers of financial statements when creating instance documents and entity-specific extensions using the IFRS Taxonomy; (3) Extender's Guide, which outlines how to extend the IFRS Taxonomy to ensure it is consistent with the architecture of the IFRS Taxonomy; (4) Appendices, including, inter alia, XBRL Fundamentals, a glossary and a style guide... The IFRS Foundation is currently working with other members of the Interoperable Taxonomy Architecture (ITA) project to create a Global Filing Manual (GFM) which constitutes a set of rules providing guidance on the preparation, filing, and validation of filings in XBRL format...
The most common modelling technique used in the IFRS Taxonomy is the use of hierarchies/lists in the presentation, definition and calculation linkbases (or in the presentation and definition linkbases only, if there are no calculation relationships between the concepts)... The IFRS Taxonomy contains two types of axes (dimensions)—applied axes (dimensions), and for application axes (dimensions). Most axes (dimensions) in the IFRS Taxonomy are applied axes (dimensions) because they have relationships to line items (reportable concepts). Five axes in the IFRS Taxonomy are general for application axes (dimensions) because they do not have explicit relationships. Each such axis (dimension) can be connected to any set of line items (reportable concepts) via a table (hypercube), thereby creating a dimensional structure..."
See also: the XBRL International web site
XML Query Update Facility Test Suite Version 1.0.1
Andrew Eisenberg, W3C WG Announcement
"The XML Query Working Group would like to announce the availability of version 1.0.1 of the XQuery Update Facility Test Suite (XQUTS). This test suite reflects the XQuery Update Facility 1.0 Candidate Recommendation that was published on June 9, 2009. It incorporates changes that have been made in response to comments we received on XQUTS 1.0.0. The team has provided release notes, guidelines on how to run the test suite, how to provide feedback to us, and how to submit your results. We encourage implementors to run this test suite and provide their results to us. If enough positive results are received, then we will be able to request a transition to Proposed Recommendation...
We especially encourage implementors that have already provided their results to us to send us their results for XQUTS 1.0.1. New test cases have been added, test cases have been modified and in one case the expected result for a test case has changed. The test suite catalog now identifies whether or not to run certain test groups, depending on whether the implementation being tested supports some of the optional features... A (preliminary) 'XQuery Update Test Suite Result Summary' presents test results for BaseX, MXQuery (XQTS 1.0.0-cvs), Saxon-EE, xDB, and Zorba..."
The XQuery Update Facility 1.0 "defines an update facility that extends the XML Query language, XQuery. The XQuery Update Facility provides expressions that can be used to make persistent changes to instances of the XQuery 1.0 and XPath 2.0 Data Model...
The basic building block of XQuery is the expression. XQuery 1.0 provides several kinds of expressions that can be composed with each other in arbitrary ways. An XQuery 1.0 expression takes zero or more XDM instances as input and returns an XDM instance as a result. In XQuery 1.0, an expression never modifies the state of an existing node; however, constructor expressions create new nodes with new node identities. XQuery Update Facility 1.0 introduces a new category of expression called an updating expression, which can potentially modify the state of an existing node... The XQuery Update Facility 1.0 provides facilities to perform any or all of the following operations on an XDM instance: (1) Insertion of a node; (2) Deletion of a node; (3) Modification of a node by changing some of its properties while preserving its node identity; (4) Creation of a modified copy of a node with a new node identity..."
vCard Format Extension to Represent the Social Network Information
Robins George, Barry Leiba, Alexey Melnikov (eds), IETF Internet Draft
IETF has published an Internet Draft for the specification vCard Format Extension: To Represent the Social Network Information of an Individual. The document defines an extension to the vCard data format for representing and exchanging a variety of social network information.
'As social networking has become common, it has become clear that users would like to include information in their vCards about their social networks. Well organized social network information allows the vCard owner to share his profile information and to import or subscribe to profile information of others on joining a new network.
From among the Social Network Properties, the property 'OpenID' takes a single URI value. OpenID is an open, decentralized user identification standard, allowing users to log onto many services with the same digital identity. Inclusion of an OpenID URI in a vCard lets others add the vCard owner's ID to their authorization lists. The property 'socialProfile' designates the vCard owner's profile page on a particular social network. This property should include the parameter 'TYPE' to specify the name of the social network that it refers to. Usually, that will also be discernible from the URI, which is why it's optional. But it can be helpful to have it specified explicitly...
The new proposed property 'album' designates an online album, such as a photo album or video album. The property 'depiction' is just a single-value depiction of something; a common use of depiction (and depicts) is to indicate the contents of a digital image, for example the people or objects represented in an online photo gallery. The basic notion of 'depiction' could also be extended to deal with multimedia content (video clips, audio)... The property 'socialCode' provides a description of the vCard owner, in the form of a 'social code', such as the 'geek code'. Social codes are popularly used to exchange a large amount of social information in a compact way, and provide a somewhat frivolous and willfully obscure 'fun' mechanism for characterizing technical expertise, interests, and habits. The property 'interest' [one or more text values separated by a COMMA character] lists the vCard owner's interests (social, recreational, technical, etc.). This allows users to identify others with common interests..."
See also: the IETF vCard Format Specification
Open Source Toolkit for ebXML Collaboration Protocol Agreements (CPAs)
Pim van der Eijk, Posting to 'ebxml-dev' Discussion List
"The Justitiële Informatiedienst in Almelo, the Netherlands, has released a toolkit that it developed to support management of ebXML Collaboration Protocol Agreements (CPAs) under an open source (EUPL) license. The toolkit, and previous versions of it, have been used to create and manage the CPAs for organizations in various government sectors in the Netherlands. Hundreds of millions of ebXML messages have been exchanged based on CPAs created using the toolkit.
The CPA Creation Toolkit is a web-based application to easily create a Collaboration Protocol Agreement (CPA). A CPA document is an XML based document that describes the formal relationship between two parties, specifying an ebMS trading agreement between trading partners.
The following information will typically be contained in a CPA document: (1) Identification information: the unique identifiers for each party and their roles within the trading relationship; (2) Security information: for instance, are digital signatures required, and what algorithms do they use; (3) Communication information: the protocols that will be used when exchanging documents; (4) Endpoint locations: the URL, service and action messages should be sent to; (5) Rules to follow when acknowledgments are not received for messages, including how long to wait before resending, and how many times to resend; (6) Whether duplicate messages should be ignored; (7) Whether acknowledgments are required for all messages...
Version 4.0 of the CPA Creation Toolkit features include: CPA creation; CPA, Services and Participants Repository; ebBP specification import/transformation to Simple Message Format (SMF); Excel import/transformation to Simple Message Format (SMF); Transform certficates to XMLDSig KeyInfo; Generate Message Meta Data (MMD) files; Adjust CPA for SSL-offloading; XML Schema Definition (XSD) of services and participants; Documentation, examples, templates..."
See also: the OASIS ebXML Core (ebCore) TC
Problems and Solutions with Model-View-ViewModel
Robert McCarter, MSDN Magazine
The Model-View-ViewModel (MVVM) design pattern describes a popular approach for building WPF and Silverlight applications. It's both a powerful tool for building applications and a common language for discussing application design with developers. While MVVM is a really useful pattern, it's still relatively young and misunderstood. In this article the author explains how the ViewModel works, and discusses some benefits and issues involved in implementing a ViewModel in your code. He also walks through some concrete examples of using ViewModel as a document manager for exposing Model objects in the View layer.
When is the MVVM design pattern applicable, and when is it unnecessary? How should the application be structured? How much work is the ViewModel layer to write and maintain, and what alternatives exist for reducing the amount of code in the ViewModel layer? How are related properties within the Model handled elegantly? How should you expose collections within the Model to the View? Where should ViewModel objects be instantiated and hooked up to Model objects?
The Model [is often] core of the application, and a lot of effort goes into designing it according to object-oriented analysis and design (OOAD) best practices. For me the Model is the heart of the application, representing the biggest and most important business asset because it captures all the complex business entities, their relationships and their functionality. Sitting atop the Model is the ViewModel. The two primary goals of the ViewModel are to make the Model easily consumable by the WPF/XAML View and to separate and encapsulate the Model from the View. These are excellent goals, although for pragmatic reasons they're sometimes broken...
You build the ViewModel knowing how the user will interact with the application at a high level. However, it's an important part of the MVVM design pattern that the ViewModel knows nothing about the View. This allows the interaction designers and graphics artists to create beautiful, functional UIs on top of the ViewModel while working closely with the developers to design a suitable ViewModel to support their efforts. In addition, decoupling between View and ViewModel also allows the ViewModel to be more unit testable and reusable... The MVVM desig n pattern is a powerful and useful pattern, but no design pattern can solve every issue; combining the MVVM pattern and goals with other patterns, such as adapters and singletons, while also leveraging new .NET Framework 4 features, such as dynamic dispatch, can help address many common concerns around implementing the MVVM design pattern..."
Speed Up Ruby on Rails: Eliminate the N+1 Query Problem
David Berube, IBM developerWorks
"The Ruby language is often cited for its flexibility... Ruby on Rails uses the language's flexibility to make it easy to write highly structured programs without much boilerplate or extra code: You get a large amount of standard behavior with no extra work. Although this free behavior isn't always perfect, you get a lot of good architecture in your application without much work.
Proponents of Rails often cite this MVC paradigm—along with other benefits of both Ruby and Rails—as increasing its ease of use, claiming that fewer programmers can produce more functionality in less time. This, of course, means more business value for each software development dollar, so Ruby on Rails development has become significantly more popular.
However, the initial development cost is not the entire picture. There are other continuing costs, such as maintenance costs and the hardware costs to run the application. Ruby on Rails developers often use testing and other agile development techniques to keep maintenance costs down, but it can be easy to give much less attention to efficiently running your Rails application with large quantities of data... Like all frameworks, Ruby on Rails can suffer from some performance issues without the proper care and attention. Fortunately, the correct techniques for monitoring and correcting these challenges are relatively simple and easy to learn, and even complex problems can be solved with some patience and a knowledge of where your performance issues originate."
Open Text Boosts Social Experiences with Web Site Management Solution
Staff, Open Text Announcement
"Open Text Corporation, provider of enterprise content management (ECM) software, has announced the availability of Web Site Management 10.1, featuring usability enhancements to accelerate common tasks and make it easier for website managers to integrate with corporate information and resources along with a sample project that speeds up delivery of new websites. It also offers integration points to many consumer social applications including Facebook and Twitter as well as enhanced native social capabilities with Open Text Social Communities.
The latest release of Web Site Management is the next iteration of Web Solutions 10, a major release introduced last year. A key member of Open Text's industry-leading portfolio of Web Content Management (WCM) products, Web Site Management is a powerful, easy-to-use Web site application that empowers employees to keep content fresh and relevant and offers extensive multiple-language support and social tools.
On the back-end, Web Site Management 10.1 features a number of enhancements to servers for management and delivery of content, including a new graphical user interface that aligns the different server components. A new online help for administrators offers advanced search functionality and a clear navigation structure so information can be found more quickly and easily. Also contributing to lower support and training costs and allowing faster deploying of new sites is a new best practice project that provides an extensive set of pre-defined content classes and templates, along with SAP Portal examples.
On the integration front, Web Site Management 10.1 allows users to fully tap the extensive social capabilities in Open Text Social Communities (formerly Vignette Social Media) and lets them take advantage of Open Text Media Management 7 for managing digital media assets from across an enterprise. It also enhances third-party application integration with extended portlet connectors. Using a new HTTP connector, any type of social media component, such as Facebook or Twitter, can be added and administered..."
See also: the software suite description
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/