Fields sets: representing a set of parameters or properties.
An field set is a construct of the form:
<name field_1 = value_1 field_2 = value_2 . . />
(
where the characters <, >, / and = stand for themselves). It represents a named list of properties.
The construct
name and the field names
field_i are standard
names.
The fields order is meaningless. If a field appears twice only the latter value is taken into account.
The field value is a structured string representing an atomic values. This value is enclosed between single or double quotes and may
contain escaped-characters: & for &, < for <, " for "
E.g.: an elementary data-structure <identity first-name="John" last-name="Smith" />
Logical structure elements: recursive representation of logical structure.
An element is a recursive construct of the form:
<name field_1 = value_1 field_2 = value_2 . . > elements </name>
(
where the characters
<, >, / and = stand for themselves) and where
elements is a sequence (eventually empty) of a string,
field-set or other element.
E.g.: a
spreadsheet:
<identities>
<identity first-name="Mickey" family-name="Mouse" />
<identity
first-name="Bob" family-name="Marley" />
</identities>
E.g.: a
functional expression f(u, g(v)):
<f> <u/> <g> <v/> </g> </f>
About escaping characters. The following
escaped characters are used in values:
character to escape: | " |
< | & | any other char
(only if not available in the encoding) |
entity to be used: | " |
< | & | &decimal-char-code;
&#hexadecimal-char-code; |
Other entities are deprecated.
In the present implementation, if the characters & and < are followed by a space, they stand for themselves and escaping them is not
mandatory. Similarly, the character " is used only in quoted strings.
Not used list: XML depreciated features. Using XML in this context,
a minimal sub-set of XML constructs is considered.
By contract, any
well-formed XML document, likely valid, is ``readable'' as a communication utilitary
language document. Furthermore communication utilitary language tools always write well-formed XML document. More precisely:
- depreciated XML constructs. XML comments but also
DTD declarations, XML processing instructions
and CDATA
sections are all viewed as comments. They this are (i) skipped when
reading a XML document and (ii) never written when writing a
document,
- specific name lexical syntax.
- digit characters in name. are not used because digits already represent some structured information (i.e. an index or number) while
the semantic of a name is to represent an atomic information,
- other connection chars in name. (despite ``-'' and ``:'') are not used because these connection chars are used to represent
composed words. We want to avoid such an ambiguous representation, double connection chars (i.e. ``::'' or ``---'') are also not used.<
XML documents with names which do NOT comply to this restriction are rejected (unless
well-formed) because they are not valid.
- other ``entities'' i.e. escaped characters. only a minimal set of escaped characters is in use,
other entities are depreciated and to be replaced by the use of a correct character encoding,
- quoting values. values are enclosed between double quotes (e.g. "my-value") single-quote (e.g. 'not-used-quotation') is
depreciated,
- unused physical structures. notations, tokens
and entities (except entities used to define UNICODE chars
as detailed above) are XML physical structures and are not taken into account in these specifications:
notations and tokens are defined via ``enumerations'' while unexpected entities are manipulated ``as it''.
- attributes values. are only uniform resource identifiers (e.g. names or numbers).
- pieces of text. are represented using a specific and minimal annotated text specifications.