Я хотел создать новый элемент в target XML тогда и только тогда, когда значение элемента source XML не пусто. Я могу сделать это, используя приведенный ниже код. Но моя проблема в том, что у меня есть около 5 тыс. Полей для схожего состояния. Есть ли у нас лучший способ справиться с этим?
<xsl:if test="edi:po-num"> //wanted to avoid this for each element
<xsl:element name="element">
<xsl:attribute name="name">order_reference_number</xsl:attribute>
<xsl:value-of select="edi:po-num"/>
</xsl:element>
</xsl:if>
java код для преобразования:
Transformer trans = StylesheetCache.newTransformer(xslFilePath);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
trans.transform(source, new StreamResult(outputStream));