[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] avoiding NaN-result in string processing due to missing elements


Subject: [xsl] avoiding NaN-result in string processing due to missing elements
From: "cavecatem@xxxxxxxxxxxxx" <cavecatem@xxxxxxxxxxxxx>
Date: Mon, 01 Dec 2008 17:32:17

Dear List,

I'm working with XSLT 2.0 and Saxon 8B to process Adobe XMP-format image meta
data for display in HTML. I'm using Oxygen 7.1  to work it out.


XMP stores numerical values as Strings, e.g.
<tiff:XResolution>2400000/10000</tiff:XResolution> and I managed to work out
how to convert such a string into a useful number:


           <xsl:value-of
select="format-number(number(substring-before((rdf:Description/(tiff:XResolut
ion | @tiff:XResolution)), '/')) div
number(substring-after((rdf:Description/(tiff:XResolution |
@tiff:XResolution)),'/')),'#######.')"/>

The problem is: If the element (or attribute, both are allowed in XMP) does
not exist, the result I get in NaN (not a number).

A possible solution is to query for the element/attribute first

   <xsl:if test="rdf:Description/(tiff:XResolution | @tiff:XResolution)">
    <xsl:value-of select ...
   </xsl:if>

 Is there another way to do this?

Thanks. I'm on the digest version of the lists, so I cannot answer questions
until tomorrow.
Regards
CJ


Current Thread
Keywords