Your support for our advertisers helps cover the cost of hosting, research, and maintenance of this FAQ
(追記) (追記ここまで)The XML FAQ — Frequently-Asked Questions about the Extensible Markup Language
Section 1: Basics
Q 1.6: What is iXML?
Invisible XML is a language for describing the implicit structure of data without explicit markup.
Invisible XML is a pattern language for describing the implicit structure of data without explicit markup, and a set of technologies for making that structure explicit as XML. See https://invisiblexml.org.
This allows you to write a declarative description of the format or layout of some text or data which has a structure, and then use that description to transform the text or data into structured information in XML.
For example, the popular keyword="value" format commonly used in configuration files, eg
version="9" logging="no"
could be described in iXML with the following statements:
config: rule+. rule: keyword,-" "*,-"=",-" "*,value,-#a. keyword: ["a"-"z"]+. value: -'"',~['"';#a]+,-'"'.
These four lines say that
a config is made up of one or more (that's the plus sign) rules;
a rule is made up of a keyword followed by zero or more (that's the asterisk) spaces (the minus means we don't need to keep them), then an equals sign (also discardable), possibly more discardable spaces, and then a value and the end of a line (#a)
a keyword is made up of one or more of characters (here, letters) in the range a–z;
a value is made up of a discardable double-quote ("), one or more characters: anything except (that's the ~) another double-quote or a line-end, followed by a discardable double-quote.
That’s all an iXML processor such as coffeepot needs to work out the XML representation:
<config> <rule> <keyword>version</keyword> <value>9</value> </rule> <rule> <keyword>logging</keyword> <value>no</value> </rule> </config>
The iXML language is much broader than this simple example, and can be applied to any data or text in which the structure can be deduced from combinations of position, sequence, repetition, or spacing provided that they are consistent.
A Final Community Group Report by the W3C was published on 12 December, 2023 at https://www.w3.org/community/reports/ixml/CG-FINAL-ixml-20231212/. Development continues on the public-ixml@w3.org mailing list, with periodic virtual meetings with published minutes. The first iXML (online) conference is being planned for early 2026.