Xupl

xupl /ˈsəpəl/ is a human-readable data format designed to be structurally equivalent to XML yet representationally similar to C-style programming languages.

Features

xupl syntax is designed with the same goals as XML[1] yet be easily created and read by humans while leveraging the machine-readable toolset of XML and the IDE tools of many high-level languages.

Examples

Sample document

note: to: "Tove". from: "Jani". heading: "Reminder". body: "Don't forget me this weekend!"

Alternatively:

note {
  to: "Tove"
  from: "Jani"
  heading {"Reminder"}
  body {"Don't forget me this weekend!"}
}

Language elements

Basic components of xupl

Attributes

Attributes are specified as a comma-separated list of name-value or value-name pairs.

html lang "en", "RTL" dir:
  head{title:"My xupl"}
  body:
    a "/nicerobot/text-plain/wiki/xupl":"xupl"

Advanced components of xupl

xupl doesn't require closing tags at the end of the document. This facilitates limited streaming of content into a document. To facilitate terse documents and demonstrated by the HTML example above, one attribute name per tag (and per namespace) is optional for which the xupl parser will provide the default name.

XML and SDL

xupl is syntactically similar to SDL (Simple Declarative Language)[2] but differs fundamentally in that xupl provides an exact but alternative representation of any XML document.

Bindings

Native implementations and bindings for xupl exist for the following languages:

See also

Other human-readable serialization formats include:

References

  1. "XML 1.0 Origin and Goals". Retrieved July 2009. Check date values in: |access-date= (help)
  2. "Simple Declarative Language for Ruby - Documentation". Retrieved 2014-02-24.

Further reading

This article is issued from Wikipedia - version of the 5/16/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.