Skip to content

Introduction

XABN edited this page Feb 5, 2024 · 2 revisions

XABN (XML Abbreviated Notation) scope and purpose

XABN is a lightweight abbreviated alternative serialisation language for XML data that includes proposed methods and standards for representing complex data structures and types. It serves as a computer language independent form of object notation and allows for the direct export and import of data objects as well as the direct generation and conversion of XML data.

The advantages XABN has over other object notations are that it can support more complex data structures including relational links, it allows for a broader range of data types and can also cater for the update of objects as well as simple import and export functions.

XABN is intended to be easier to read and edit (without needing special tools) than XML plus also facilitating standardised methods for representing structured data for direct import and export from a broad range of applications and computer languages. Anticipated uses range from messaging between applications to configuration files and simplified export or import of XML files.

XABN can represent any standalone XML file. In addition the language specifies a computer language independent XML representation of structured typed data together with a series of mapping conventions for use with specific computer languages and applications.

Conversion to and from between XML and XABN formatted data results in no semantic loss of information. In addition XABN serves as an object notation – for example a round trip conversion between JSON formatted data and XABN (ie: from JSON to XABN and back again) also results in no loss of semantic information.

The XABN format has a strong visual resemblance to YAML and is intended to be presented in an indented style though (as with XML) it does not use indentation as a markup element. Where used to convey data type information a form of “Duck Typing” (inferred data type) is employed. For XABN data programmatically generated this is designed to be unambiguous and the rules for avoiding confusion between text and typed data in the case of manual editing are simple and clear.

XABN has three distinct constituent parts:

  1. An alternate markup language for representing XML data which fully covers all features of standalone XML. One aim of the language (as far as possible) is for most people to be able to infer from an example what the basic structure and meaning of this is. See: Syntax and Format

  2. A definition of how high level data constructs (such as objects, arrays and data types) are represented and interpreted within XML structured data. So, while XABN can be used for any XML data, in the case of structured data a subset of XML is used. This also involves some specific naming and layout conventions for XML elements and attributes. See: Structured Data

  3. Specific definitions for various computer languages and environments as to how structured XML / XABN data is to be both interpreted and generated. Of these JavaScript is the main target and XABN is able to fulfil the same functions as JSON (eg: direct import and export of JavaScript objects). Data in the JSON format can be converted to XML / XABN format and converted back again without loss of information. See: Implementation

Clone this wiki locally