XML transformation language

Last updated
An XML to XML transformation XML To XML Transformation.svg
An XML to XML transformation

An XML transformation language is a programming language designed specifically to transform an input XML document into an output document which satisfies some specific goal.

Contents

There are two special cases of transformation:

XML to XML

As XML to XML transformation outputs an XML document, XML to XML transformation chains form XML pipelines.

XML to Data

The XML (EXtensible Markup Language) to Data transformation contains some important cases. The most notable one is XML to HTML (HyperText Markup Language), as an HTML document is not an XML document.

SGML origins

The earliest transformation languages predate the advent of XML as an SGML profile, and thus accept input in arbitrary SGML rather than specifically XML. These include the SGML-to-SGML link process definition (LPD) format defined as part of the SGML standard itself; in SGML (but not XML), the LPD file can be referenced from the document itself by a LINKTYPE declaration, similarly to the DOCTYPE declaration used for a DTD. [1] Other such transformation languages, addressing some of the deficiencies of LPDs, include Document Style Semantics and Specification Language (DSSSL) and OmniMark. [2] Newer transformation languages tend to target XML specifically, and thus only accept XML, not arbitrary SGML.

Existing languages

See also

Related Research Articles

<span class="mw-page-title-main">Standard Generalized Markup Language</span> Markup language

The Standard Generalized Markup Language is a standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is "based on two postulates":

<span class="mw-page-title-main">XML</span> Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

In computing, the term Extensible Stylesheet Language (XSL) is used to refer to a family of languages used to transform and render XML documents.

XSLT is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG. Support for JSON and plain-text transformation was added in later updates to the XSLT 1.0 specification.

DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software, but it can be used for any other sort of documentation.

Streaming Transformations for XML (STX) is an XML transformation language intended as a high-speed, low memory consumption alternative to XSLT version 1.0 and 2.0. Current work on XSLT 3.0 includes Streaming capabilities.

In software, an XML pipeline is formed when XML processes, especially XML transformations and XML validations, are connected.

Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees. It is a structural schema language expressed in XML using a small number of elements and XPath.

James Clark is a software engineer and creator of various open-source software including groff, expat and several XML specifications.

Saxon is an XSLT and XQuery processor created by Michael Kay and now developed and maintained by his company, Saxonica. There are open-source and also closed-source commercial versions. Versions exist for Java, JavaScript and .NET.

A transformation language is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal.

OmniMark is a fourth-generation programming language used mostly in the publishing industry. It is currently a proprietary software product of Stilo International. As of July 2022, the most recent release of OmniMark was 11.0.

The identity transform is a data transformation that copies the source data into the destination data without change.

In computing, the two primary stylesheet languages are Cascading Style Sheets (CSS) and the Extensible Stylesheet Language (XSL). While they are both called stylesheet languages, they have very different purposes and ways of going about their tasks.

<span class="mw-page-title-main">Oxygen XML Editor</span>

The Oxygen XML Editor is a multi-platform XML editor, XSLT/XQuery debugger and profiler with Unicode support. It is a Java application so it can run in Windows, Mac OS X, and Linux. It also has a version that can run as an Eclipse plugin.

XProc is a W3C Recommendation to define an XML transformation language to define XML Pipelines.

XPath is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) and can be used to compute values from the content of an XML document. Support for XPath exists in applications that support XML, such as web browsers, and many programming languages.

XQuery is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats. The language is developed by the XML Query working group of the W3C. The work is closely coordinated with the development of XSLT by the XSL Working Group; the two groups share responsibility for XPath, which is a subset of XQuery.

Stylus Studio is an integrated development environment (IDE) for the Extensible Markup Language (XML). It consists of a variety of tools and visual designers to edit and transform XML documents and legacy data such as electronic data interchange (EDI), comma-separated values (CSV) and relational data.

Tritium is a simple scripting language for efficiently transforming structured data like HTML, XML, and JSON. It is similar in purpose to XSLT but has a syntax influenced by jQuery, Sass, and CSS versus XSLT's XML based syntax.

References

  1. Goldfarb, Charles F. (1990). Clause 12—Markup Declarations: Link Process Definition. The SGML Handbook. Oxford: Clarendon Press. pp. 433–449. ISBN   0-19-853737-9.
  2. Kimber, W. Eliot. "Why I Want the SGML LINK Feature". CoverPages.org.
  3. Fancellu, Dino; Narmontas, William (June 2014). "XML Processing in Scala". XML London 2014: 63–75. doi: 10.14337/XMLLondon14.Narmontas01 . ISBN   978-0-9926471-1-7.