Usando XQuery per rimuovere XSI: NIL= TRUE quando un valore è assegnato a un nodo di elemento

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

  •  12-12-2019
  •  | 
  •  

Domanda

Qualcuno può aiutarmi a raggiungere il forso:

    .
  • Come eliminare in xquery L'attributo xsi: nil="true", quando l'elemento ha un valore assegnato?

    Nel caso in cui l'elemento abbia un valore null allora XSI: NIL="TRUE" è mantenuto.

    thnx.

È stato utile?

Soluzione

È possibile utilizzare l'aggiornamento XQuery per raggiungere questo obiettivo, ad es.In questo modo:

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

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

Si prega di notare che non esiste un valore nullo reale in xquery come si potrebbe essere familiare dalle lingue come Java.Pertanto ho usato una semplice stringa qui per indicare un valore NULL, potresti voler cambiare questo.

Inoltre, si prega di tenere presente che questa funzione non restituisce lo stesso nodo senza l'attributo, ma invece copia il nodo e restituisce questo nuovo nodo modificato senza l'attributo NIL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top