Comparison of XSLT 1.0 and XVCD 1.0

Compares XSLT and XVCD and explains their similarities and differences.

1. Overview

In the capability of converting XML documents for XVCD, elements and attributes are redefined essentially in accordance with those of XSLT 1.0. Further, if necessary for a particular feature, elements and features of XSLT 2.0 Working Draft or our own elements are included.

This document compares XSLT 1.0 with XVCD 1.0 specifications and explains concretely their similarities and differences.

Incidently, in the following description, element names of XVCD is described with namespace prefix xvcd:. And, element names of XSLT is described with namespace prefix xsl:.

2. Comparison of XSLT 1.0 and XVCD 1.0

Compares XSLT and XVCD specifications and explains concretely their similarities and differences.

2.1. Document Structure

Compares XSLT document structure specifications in general between with XVCD.

2.1.1. Namespace URI Reference

XSLT and XVCD naturally have different namespace URI reference to identify from each other.

XSLT http://www.w3.org/1999/XSL/Transform
XVCD http://xmlns.xfytec.com/xvcd

2.1.2. Vertex Element

XSLT and XVCD have different element names for document vertex element.

XSLT stylesheet element (or transform element)
XVCD xvcd Element

2.2. Configuration and Features of Elements and Attributes

Compares configuration of elements and attributes and features of elements and attributes with each other in XSLT 1.0 and XVCD 1.0.

Essentially, XVCD 1.0's element with the same local name as the element defined XSLT 1.0 has same feature.

2.2.1. Different Specifications and Operations between XVCD 1.0 and XSLT 1.0

In XVCD 1.0, the following functions work differently from XSLT 1.0 specification.

  • In XSLT 1.0, the compatibility for handling future version is specified in accordance with "2.5 Forwards-Compatible Processing" of XSLT 1.0 W3C Recommendation.
    In XVCD 1.0, the compatibility for handling future version is not assumed. However, XVCD 1.0 is processed in the same way as XSLT 1.0 with the following:
    • If an element unavailable as a root element is used as the root element, it will be ignored.
    • If an undefined element is used for each element, it will be ignored.
  • In XSLT, if document element may be a literal result element, it is treated as an XSLT document in which only the template rule for "/" pattern is described in xsl:stylesheet element.
    In XVCD, this operation will not be performed. In XVCD, xvcd:xvcd element should be used as a vertex element.
  • In XVCD 1.0, there is not such a function corresponding to XSLT system-property() function.
  • An xvcd:output element corresponding to xsl:output element is defined but will not work. When a document converted into XVCD is saved, it will not be applied.
  • In XVCD, there is not such a function corresponding to disable-output-escaping attribute of xsl:text element.
  • Document type declaration is ignored in xfy technology. Default attributes, ID type attributes and entity reference described in DTD therefore do not work in XVCD. Thus the function that assumes DTD description such as XPath id() function is not available. For the same reason, unparsed-entity-uri() function is not supported in XVCD.
  • In XSLT, an error occurs if you add an attribute using xsl:attribute element to the element after an element with child element.
    In XVCD, if you try the same operation in xvcd:attribute element, the attribute will be added without error.
  • The xvcd:xvcd element of XVCD does not have the attribute corresponding to extension-element-prefixes attribute of xsl:stylesheet element (or xsl:transform element) in XSLT.
  • An xvcd:fallback element corresponding to xsl:fallback element is defined but will not work.
  • XVCD does not support the following functions:
    • element-available() function
    • function-available() function
  • XSLT and XVCD associate XML document in different manner from each other. XSLT associates it by describing processing instruction in XML document. For the manner in which XVCD allocates XML document, see "Support Creating Vocabulary Component with xfy Developer's Toolkit" of "Developing Vocabulary Component with XVCD".
  • In addition, XVCD does not support the attributes of the following elements in XSLT:
    • terminate attribute of xsl:message element
    • lang, letter-value, grouping-separator, and grouping-size attributes of xsl:number element
    • lang and case-order elements of xsl:sort attribute

2.2.2. Elements and Functions Imported from XSLT 2.0 Working Draft

Elements and features proposed by XSLT 2.0 Working Draft and imported to perform XVCD features are as follows:

2.2.3. XVCD Specific Elements and Attributes

2.2.4. XVCD 1.0 Recommendations Not Present in XSLT 1.0

As XVCD processes a compound XML document, a recommendation exists regarding invoking the following functions. This recommendation does not exist in XSLT 1.0.