xsl-list
[Top] [All Lists]

Re: [xsl] Required item type of first argument of <function> is node(); supplied value has item type xs:string

2010-02-19 16:03:16
Whoops, missed that above. That's perfect Ken, thanks for the help.

Cheers,

Spencer

On Fri, Feb 19, 2010 at 1:58 PM, G. Ken Holman
<gkholman(_at_)cranesoftwrights(_dot_)com> wrote:
At 2010-02-19 13:52 -0800, Spencer Tickner wrote:

Ok, then if I make the template more generic.. ie:

In my response I made it generic by declaring the type of the parameter as
an item:

  <xsl:pram name="n" as="item()"/>

      <xsl:function name="qp:test" as="item()*"
xmlns:functx="http://www.qplegaleze.ca";>
              <xsl:param name="n"/>

Is there a way to test if $n is a String?

Sure:

 <xsl:when test="$n instance of xsd:string">

... but because your second <xsl:when> relies on $n being a node, I thought
it safest to catch all atomic values by testing that the argument isn't a
node.  I tell my students to write their transformations defensively so as
to catch unexpected inputs.  I don't think it is safe to simply check only
for a string because the next test is going to choke on atomic values of
other types.

I hope this helps.

. . . . . . . . . . . . Ken


--
XSLT/XQuery training:      after http://XMLPrague.cz 2010-03-15/19
XSLT/XQuery training:         San Carlos, California 2010-04-26/30
Principles of XSLT for XQuery Writers: San Francisco,CA 2010-05-03
XSLT/XQuery/UBL/Code List training: Trondheim,Norway 2010-06-02/11
Vote for your XML training:   http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--