xsl-list
[Top] [All Lists]

Re: [xsl] "castable as" explanation

2006-08-28 08:22:11
cknell(_at_)onebox(_dot_)com wrote:

<xsl:variable name="is-date" select="if(DATE_PACKED_XSD
castable as xs:date) then '1' else('0')" />

  Why not simply:

    <xsl:variable name="is-date" as="xs:boolean"
                  select="DATE_PACKED_XSD castable as xs:date"/>

<xsl:choose>
  <xsl:when test="$is-date = '1'">
    ... some processing here  
  </xsl:when>
  <xsl:otherwise>
    ... some different processing here   
  </xsl:otherwise>
</xsl:choose>

What I expected to happen was that when the stylesheet
processed a DATE_PACKED_XSD element that could not be cast
as a date ($is-date = 0), processing would pass to the
<xsl:otherwise> branch.

What did happen was this:

stylesheet.xslt:423: Fatal Error! Invalid date "208 2-01-1
2".  Non-numeric component

  Mmh. What is the actual content of your xsl:when and
xsl:otherwise?

What am I misapprehending about "castable as"?

  Nothing IMHO.  Could you please show a little example that
reproduces the problem?

    ~> cat xslt/tests/castable-as.xsl
    <xsl:transform
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
        xmlns:xs="http://www.w3.org/2001/XMLSchema";
        version="2.0">

      <xsl:output method="text"/>

      <xsl:template name="main">
        <xsl:value-of select="
            for $d in ('2006-08-29', '208 2-01-1 2') return
              $d castable as xs:date"/>
      </xsl:template>

    </xsl:transform>

    ~> saxon -it main xslt/tests/castable-as.xsl
    true false

  Regards,

--drkm






















        
 p5.vert.ukl.yahoo.com uncompressed/chunked Mon Aug 28 15:13:47 GMT 2006 
        
                
___________________________________________________________________________ 
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet 
! 
Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos 
expériences. 
http://fr.answers.yahoo.com 


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>