XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Ryan GillisSubject: Auto-Skip empty values
Author: Ryan Gillis
Date: 21 Nov 2007 11:21 AM
In my translation map, when an incoming XML field is empty, the default behavior of Stylus is to generate an empty field on the other side of the map. I am trying to find a method, other then writing 120 nearly identical if statements:

<xsl:if test="@field1/text()">
<LOCATION1>
<xsl:value-of select="@field1"/> </LOCATION1>
</xsl:if>

to tell it to only generate output fields if the fields have data.

Posttop
James DurningSubject: Auto-Skip empty values
Author: James Durning
Date: 22 Nov 2007 11:02 AM
One possible way would be to have a dynamic mapping in your xslt like so:
<my:mapping xmlns:my="internal">
<attr name="field1" output="LOCATION1"/>
<attr name="field2" output="LOCATION2"/>
<attr name="field3" output="LOCATION3"/>
<attr name="field4" output="LOCATION4"/>
<attr name="field5" output="LOCATION5"/>
</my:mapping>

then
<xsl:variable name="here" select="."/>
<xsl:for-each select="document('')//attr">
<xsl:variable name="output" select="@output"/>
<xsl:for-each select="$here/@*[name() = current()/@name]">
<xsl:element name="{$output}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:for-each>

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.