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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Use of before and after string (3) Sticky Topic
-> - How do I substitute element ty... (1)
-> + How does one add working days ... (4)
-> - Help, I have existing XLT and... (1)
-> + Need help on XSLT issue - (2)
-> + EDI to XML Conversion (7)
-> - XML To JSON Conversion using X... (1)
-> + Formatting Paragraphs to same ... (2)
-> - Grouping of records (1)
-> + Problems with xsd 1.1 (4)
-> + XML to HL7 mapping (3)
-> + XSLT 3 and Iterate (2)
-> + XSL-FO to PDF preview (3)
-> + java.lang.RuntimeException: Er... (2)
-> + Create Acroforms with Stylus X... (2)
-> + How to change XSLT parameter s... (3)
-> + how to change format of the da... (2)
-> + Search "Next 8 Results " doesn... (2)
-> - Support for Git (1)
-> + newbee (8)
-- [1-20] [21-40] [41-60] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Alicia RobertsSubject: If field in DTD is blank
Author: Alicia Roberts
Date: 26 Apr 2004 03:26 PM
Originally Posted: 26 Apr 2004 03:11 PM
Hello, I'm working on a XML to XML Map. I'm having a problem checking to see if a field is blank. How do you check for blanks? For example, If VMSTA equals spaces, I want to hard code "01" to <SalesStatus>, else move VMSTA: <SalesStatus> <xsl:if test="VMSTA=/"> <xsl:value-of select="('01')"/> </xsl:if> <xsl:value-of select="."/> </SalesStatus> Alberto, told me to use : <xsl:if test="string-length(VMSTA)>0 and string-length(normalize-space(VMSTA))=0"> The map is still not putting out <SalesStatus>01</SalesStatus>. Can you help me?<br> Alicia_PLC

Postnext
Ivan PedruzziSubject: Re: If field in DTD is blank
Author: Ivan Pedruzzi
Date: 26 Apr 2004 03:50 PM
Alicia,
Trying someing like that

xsl:choose
xsl:when test="VMSTA and string-length(normalize-space(VMSTA))=0"
xsl:value-of select="('01')"/
/xsl:when
xsl:otherwise
xsl:value-of select="(VMSTA)"/
/ xsl:otherwise
/xsl:choose

If you are still in trouble send us the xslt + xml.

Ivan


"Alicia Roberts" wrote in message
news:7384.2645@...
> I'm working on a XML to XML Map.
> I'm having a problem checking to see if a
> field is blank. How do you check for blanks?
> For example, If VMSTA equals spaces, I want
> to hard code "01" to , else
> move VMSTA:
>
>
>
>
>

>
>

>
>
> Alberto, told me to use :
>
>
> The map is still not putting out
> 01.
>
> Can you help me?

>
> Alicia_PLC
>

Postnext
Ivan PedruzziSubject: RE: If field in DTD is blank
Author: Ivan Pedruzzi
Date: 27 Apr 2004 11:21 PM

Alicia,

What do you mean by blank?

1) The tag value is empty

<VMSTA></VMSTA>

Then the solution I gave you works as expected.

2) the tag is not present, then you need to change

<xsl:for-each select="VMSTA">
<SalesStatus>
<xsl:choose>
<xsl:when test=". and string-length(normalize-space(.))=0">
<xsl:value-of select="'01'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</SalesStatus>
</xsl:for-each>
<xsl:for-each select="LVORM">

To
<SalesStatus>
<xsl:choose>
<xsl:when test="VMSTA">
<xsl:value-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'01'"/>
</xsl:otherwise>
</xsl:choose>
</SalesStatus>


As I already told, you need to make some efforts to learn XSLT (not the
tool, the language)
If you have more question on Stylus Studio post them on the forum
http://www.stylusstudio.com/SSDN/default.asp

Good Luck
Ivan



> -----Original Message-----
> From: alicia.roberts@philips.com [mailto:alicia.roberts@philips.com]
> Sent: Tuesday, April 27, 2004 10:43 AM
> To: Ivan Pedruzzi
> Subject: RE: If field in DTD is blank
>
>
> Hi Ivan,
>
> Thanks for the information. Yes, it is my first time using this tool.
>
> I see how you structured the logic. However, I'm not getting "01"
when VMSTA is blank. It works
> when data is in VMSTA, but I also need "01" moved into SalesStatus
when VMSTA is blank.
>
> Do you think there is a problem with the software?
>
>
>
>
>
>
>
>
>
>
>
> "Ivan Pedruzzi" <ipedruzz@progress.com>
>
> 04/26/2004 04:42 PM
>
> To: Alicia Roberts/SOJ/LIGHTING/PHILIPS@PHILIPS
> cc:
> Subject: RE: If field in DTD is blank
>
> Classification:
>
>
>
>
>
> Alicia
>
> The XSLT was not well formed; I also made some changes to behave as
you
> expect.
> As you seem pretty new to XSLT it could be a good idea to do some
> practice before write a real transformation.
>
>
http://www.google.com/search?sourceid=navclient&ie=UTF-8&oe=UTF-8&q
=xslt
> +tutorial
>
> If you prefer paper book try
>
> XSLT: Programmer's Reference by Michael Kay
>
>
http://www.amazon.com/exec/obidos/tg/detail/-/0764543814/qid=1083011948
/
>
sr=8-1/ref=sr_8_xs_ap_i1_xgl14/104-0521378-1182323?v=glance&s=boo
ks&n=50
> 7846
>
>
> Ivan
>
>
> > -----Original Message-----
> > From: alicia.roberts@philips.com [mailto:alicia.roberts@philips.com]
> > Sent: Monday, April 26, 2004 4:14 PM
> > To: Ivan Pedruzzi
> > Subject: Re: If field in DTD is blank
> >
> >
> > Hi Ivan,
> >
> > I tried you logic. I'm getting expected end of tag on xsl.choose.
> >
> > Attached is the xsl and xml.
> >
> > Thanks.
> >
> >
> >
> >
> > Alicia Roberts
> > EDI Mapping Analyst
> > Philips Lighting Company
> > Tel: (732) 563-3689
> > e-mail: alicia.roberts@philips.com
> >
> >
> >
> >
> >
> >
> >
> >
> > "Ivan Pedruzzi" <ipedruzz@progress.com>
> >
> > 04/26/2004 03:50 PM
> >
> > To: Alicia Roberts/SOJ/LIGHTING/PHILIPS@PHILIPS
> > cc:
> > Subject: Re: If field in DTD is blank
> >
> > Classification:
> >
> >
> >
> >
> >
> > Alicia,
> > Trying someing like that
> >
> > xsl:choose
> > xsl:when test="VMSTA and
string-length(normalize-space(VMSTA))=0"
> > xsl:value-of select="('01')"/
> > /xsl:when
> > xsl:otherwise
> > xsl:value-of select="(VMSTA)"/
> > / xsl:otherwise
> > /xsl:choose
> >
> > If you are still in trouble send us the xslt + xml.
> >
> > Ivan
> >
> > "Alicia Roberts" <alicia.roberts@philips.com> wrote in message
> > news:7384.2645@ <news:7384.2645@> ...
> > > I'm working on a XML to XML Map.
> > > I'm having a problem checking to see if a
> > > field is blank. How do you check for blanks?
> > > For example, If VMSTA equals spaces, I want
> > > to hard code "01" to <SalesStatus>, else
> > > move VMSTA:
> > >
> > > <SalesStatus>
> > > <xsl:if test="VMSTA=/">
> > > <xsl:value-of select="('01')"/>
> > > </xsl:if>
> > > <xsl:value-of select="."/>
> > > </SalesStatus>
> > >
> > >
> > > Alberto, told me to use :
> > > <xsl:if test="string-length(VMSTA)>0 and
> > > string-length(normalize-space(VMSTA))=0">
> > >
> > > The map is still not putting out
> > > <SalesStatus>01</SalesStatus>.
> > >
> > > Can you help me?<br>
> > >
> > > Alicia_PLC
> > >
>
>
>

Posttop
Alicia RobertsSubject: RE: If field in DTD is blank
Author: Alicia Roberts
Date: 28 Apr 2004 10:02 AM
Thanks, Ivan!

It works.

   
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.