Re: Serialization text

Steven Pemberton writes:

> As part of my action to modify how we require well-formed XML, I ended
> up rephrasing the section on serialization, in particular expressing
> it more declaratively than before.
> Here's the proposed new text.

This looks good to me.  One tentative suggestion, since the topic came
up recently:

> * A nonterminal element node is serialized as an XML element whose
>   name is the name of the node, and whose attributes are the
>  serializations of all exposed attribute descendants, if any, and
> whose content is the serialization of all its non-attribute children
> in order, if any. An attribute is exposed if it is an attribute child,
> or an exposed attribute of a hidden element child (note this is
> recursive).

Perhaps change the end to

   or an exposed attribute of a hidden element child.  (Note that (a)
   the definition of exposed attributes is recursive, allowing any number
   of hidden nonterminals between a nonterminal element node and an
   exposed attribute, and also that (b) the exposed attribute nodes
   are not required to precede all non-attribute descendants.)

A less wordy but less explicit alternative would be:

   or an exposed attribute of a hidden element child.  (Note that this
   is recursive, and that attributes need not precede non-attribute
   descendants.)

> * A nonterminal hidden node is serialized as the serialization of all
>   its non-attribute children, in order.
> * A nonterminal attribute node is serialized as an XML attribute whose
>   name is the name of the node, and whose value is the serialization
>  of all non-hidden terminal descendants of the node (regardless of
> marking of intermediate nonterminals), in order.
> * A non-hidden terminal node is serialised as its string.
> * A hidden terminal node is not serialised.

Michael


-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Wednesday, 23 February 2022 23:18:46 UTC