Uso de XQUERY para eliminar el XSI: NIL= VERDADERO cuando se asigna un valor a un nodo de elemento

StackOverflow https://stackoverflow.com//questions/11672352

  •  12-12-2019
  •  | 
  •  

Pregunta

¿Puede alguien ayudarme a lograr el siguiente:

  • Cómo eliminar en XQuery El atributo XSI: NIL="True", ¿cuando el elemento tiene un valor asignado?

    En caso de que el elemento tenga un valor nulo, xsi: nil="verdadero" se mantiene.

    thnx.

¿Fue útil?

Solución

Puede usar la actualización de XQuery para lograr esto, por ejemplo.Me gusta esto:

declare variable $e := <entry nil="true" />;

if ($e/@nil != "null") then (
copy $c := $e
modify (
  delete node $c/@nil
)
return $c
)
else $e

Tenga en cuenta que no hay un valor nulo real en XQuery, ya que puede ser familar desde idiomas como Java.Por lo tanto, utilicé una cadena simple aquí para indicar un valor nulo, es posible que desee cambiar esto.

Además, tenga en cuenta que esta función no devuelve el mismo nodo sin el atributo, pero en su lugar copia el nodo y devuelve este nuevo nodo modificado sin el atributo NIL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top