Insertar nodo XML en una posición específica de un documento existente
Tengo un documento XML existente con algunos nodos opcionales y deseo insertar un nuevo nodo, pero en una posición determinada.
El documento se parece a esto:
<root>
<a>...</a>
...
<r>...</r>
<t>...</t>
...
<z>...</z>
</root>
El nuevo nodo <s>...</s>
) debe insertarse entre el nodo<r>
y<t>
, Resultando en
<root>
<a>...</a>
...
<r>...</r>
<s>new node</s>
<t>...</t>
...
<z>...</z>
</root>
El problema es que los nodos existentes son opcionales. Por lo tanto, no puedo usar XPath para encontrar el nodo<r>
e inserte el nuevo nodo después de él.
Me gustaría evitar el "método de fuerza bruta": busque en<r>
hasta<a>
para encontrar un nodo que exista.
También quiero preservar el orden, ya que el documento XML debe ajustarse a un esquema XML.
e pueden usar @XSLT así como las bibliotecas XML normales, pero como solo estoy usando Saxon-B, el procesamiento de XSLT consciente del esquema no es una opción.
Alguien tiene una idea sobre cómo insertar dicho nodo?
thx, MyKey_