W3C home > Mailing lists > Public > xproc-dev@w3.org > November 2009

Re: How to pass a boolean value true or false using with-param when the required param type is xs:boolean;

From: Alex Muir <alex.g.muir@gmail.com>
Date: Thu, 12 Nov 2009 18:36:21 +0000
Message-ID: <88b533b90911121036p1b556f28vb736f44bbeaf19ef@mail.gmail.com>
To: James Sulak <jsulak@gmail.com>
Cc: XProc Dev <xproc-dev@w3.org>
James,

Well mixed results.  I removed the  as="xs:boolean" (although really it
should work with it there right?) to then have in the style sheet

 <xsl:param name="preserve_newline" />

which removed the error message in the xproc.  I then tried various values
to find that true() which was true, false() was also true, any quoted text
was true and non quoted text was false.


             <!-- true() = true-->
             <!-- false() = true -->
            <!--  false = false-->
            <!--  true = false-->
            <!--  junk = false-->
            <!-- 'true' = true -->
            <!-- 'false' = true -->

<p:with-param name="preserve_newline" select="false()"/>

                is not working as I would expect it to.


My style sheet is working correctly when I put select="true()" or false()
into the parameter directly in the style sheet and remove the with-param
statement from the xproc.


Alex

On Thu, Nov 12, 2009 at 5:35 PM, James Sulak <jsulak@gmail.com> wrote:

> My understanding is that parameters in XProc must be strings (or
> xs:untypedAtomics), per section 2.11.  So even though the transform
> declares the parameter as an "xs:boolean," XProc is passing the
> parameter as a string.  If you remove the type from the XSL parameter
> declaration, does it work?
>
> -James
>
> On Thu, Nov 12, 2009 at 11:17 AM, Alex Muir <alex.g.muir@gmail.com> wrote:
> > Toman,
> >
> > I get the same error message with that statement.
> >
> > Description:  Required type is xs:boolean; supplied value has type
> xs:string
> >
> > Alex
> >
> > On Thu, Nov 12, 2009 at 5:00 PM, <Toman_Vojtech@emc.com> wrote:
> >>
> >> Alex,
> >>
> >> It seems to me that the problem is that there is no implicit readable
> port
> >> to which the p:with-param can connect to - and therefore you get a
> static
> >> error. Try this:
> >>
> >> <p:with-param name="preserve_newline" select="false()">
> >>   <p:empty/>
> >> </p:with-param>
> >>
> >> Regards,
> >> Vojtech
> >>
> >> ________________________________
> >> From: xproc-dev-request@w3.org [mailto:xproc-dev-request@w3.org] On
> Behalf
> >> Of Alex Muir
> >> Sent: Thursday, November 12, 2009 5:43 PM
> >> To: xproc-dev@w3.org
> >> Subject: How to pass a boolean value true or false using with-param when
> >> the required param type is xs:boolean;
> >>
> >> Hi
> >>
> >> In the following xproc the <p:with-param name="preserve_newline"
> >> select="false()"/> gives me an error message
> >>
> >>  "Description:  Required type is xs:boolean; supplied value has type
> >> xs:string"
> >>
> >> because the style sheet is expecting
> >>
> >> <xsl:param name="preserve_newline" as="xs:boolean"/>.
> >>
> >> It's funny to be asking this question but how do I specify the boolean
> >> value false in the xproc with-param ? I tried false, false() and 0 but
> there
> >> all treated as strings giving the same error message.
> >>
> >>    <p:xslt name="DoSomething">
> >>       <p:input port="source"/>
> >>       <p:input port="stylesheet">
> >>         <p:document href="doSomething.xsl"/>
> >>       </p:input>
> >>
> >>       <p:with-param name="preserve_newline" select="false()"/>
> >>
> >>       <p:input port="parameters">
> >>         <p:empty/>
> >>       </p:input>
> >>     </p:xslt>
> >>
> >>
> >> Thanks Much
> >>
> >> --
> >>
> >> Alex
> >> https://sites.google.com/a/utg.edu.gm/alex
> >>
> >
> >
> >
> > --
> >
> > Alex
> > https://sites.google.com/a/utg.edu.gm/alex
> >
> >
>



-- 

Alex
https://sites.google.com/a/utg.edu.gm/alex
Received on Thursday, 12 November 2009 18:37:02 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 12 November 2009 18:37:02 GMT