- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Wed, 25 Feb 2026 13:14:08 +0000
- To: public-xformsusers@w3.org
- Message-Id: <1772025168245.2452458280.2451751115@cwi.nl>
Since this is so badly formatted on the W3C list, here attached is the HTML version Steven On Wednesday 25 February 2026 14:05:38 (+01:00), Steven Pemberton wrote: The xpath data model 3.1 says (https://www.w3.org/TR/xpath-datamodel-31/#Node) "There are seven kinds of Nodes in the data model: document, element, attribute, text, namespace, processing instruction, and comment." The possible sub-branches of each of these are: Document: Children: Element, Processing Instruction, Comment, Text. Element: Children: Element, Processing Instruction, Comment, Text Attributes Namespaces Attribute: - Text: - Processing instruction: - Comment: - Namespace: - The text for <insert/> says "If [...] there is a node type conflict between the copied node and the target location (for example, an attribute cannot be inserted as a sibling of an element), the insertion for that copied node is ignored." So I tried to draw up a table of what happens with each type of node being inserted to a location of each type of node. There is an 8th type of node: The root element is special because it cannot have sibling elements. Rows: destination node, Columns: Source node. X: Not allowed ?: Needs discussion Sibling: The node is inserted as a sibling Insert/replace: Either insert the node, or replace the node of the same name Concat: adjacent text nodes must be concatenated I think it would be good to discuss every entry in this table to make sure we agree that that is what happens. Document Element Attribute Text NS PI Comment Document X Replaces root element X X? X Insert? Insert? Root element X Replaces root element Insert/replace attribute Sibling? Insert/replace Insert Insert Element X Sibling unless parent is doc Insert/replace attribute Sibling Insert/replace Insert Insert Attribute X X Insert/replace attribute X? X X X Text X Sibling unless parent is doc X Concat X Sibling Sibling NS X X X X Insert/replace X X PI X Sibling unless parent is doc X Sibling X Sibling Sibling Comment X Sibling unless parent is doc X Sibling X Sibling Sibling
Attachments
- text/html attachment: insert-table.html
Received on Wednesday, 25 February 2026 13:14:13 UTC