Altova MapForce 2023 Enterprise Edition

Devuelve true si el nodo element del componente de origen tiene un atributo xsi:nil con el valor true.

mf-func-is-xsi-nil

 

Lenguajes

Built-in, C++, C#, Java, XQuery#, XSLT 1.0 y, XSLT 1.0, XSLT 2.0, XSLT 3.0.

 

Parámetros

Argumento

Descripción

element

Parámetro obligatorio. Debe estar conectado al nodo de origen que se quiere comprobar.

 

Ejemplo

El diseño de asignación siguiente copia datos de un archivo XML de origen a uno de destino de forma condicional e ilustra también cómo se usan distintas funciones, incluida is-xsi-nil. Esta asignación se llama HandlingXsiNil.mfd y está en la carpeta <Documentos>\Altova\MapForce2023\MapForceExamples\.

mf-func-is-xsi-nil-example

Como se ve en la imagen anterior, la función is-xsi-nil comprueba si el atributo xsi:nil tiene el atributo "true" para el elemento state en el archivo de origen Si, por el contrario, este atributo es "false", el filtro copiará al elemento superior Address en el archivo de destino. El archivo XML de origen tiene este aspecto (sin incluir las declaraciones XML y de espacio de nombres):

 

<BranchOffices>
<Name>Nanonull</Name>
<Office>
<Name>Nanonull Research Outpost</Name>
<EMail>sp@nanonull.com</EMail>
<Fax xsi:nil="true"/>
<Phone>+8817 3141 5926</Phone>
<Address>
<city>South Pole</city>
<state xsi:nil="true"/>
<street xsi:nil="true"/>
<zip xsi:nil="true"/>
</Address>
<Contact>
<first>Scott</first>
<last>Amundsen</last>
</Contact>
</Office>
</BranchOffices>

 

El resultado de la asignación es que no se copia ningún elemento Address en el archivo de destino porque solo hay uno en el archivo de origen y el atributo xsi:nil es "true" para el elemento state. En consecuencia, el resultado de la asignación es este:

 

<BranchOffices>
<Name>Nanonull</Name>
<Office>
<Name>Nanonull Research Outpost</Name>
<EMail xsi:nil="true"/>
<Fax>n/a</Fax>
<Phone>+8817 3141 5926</Phone>
<Contact>
<first>Scott</first>
<last>Amundsen</last>
</Contact>
</Office>
</BranchOffices>

© 2017-2023 Altova GmbH