[xquery-talk] [saxon] getting around the built in type restriction of a Basic XSLT processor

Ihe Onwuka ihe.onwuka at gmail.com
Mon Dec 1 00:06:34 PST 2014

On Sun, Nov 30, 2014 at 10:32 PM, Michael Kay <mike at saxonica.com> wrote:

> The XSLT 2.0 spec restricts the set of types available in a
> non-schema-aware processor. Schema awareness comes only with Saxon-EE.
> The extension attribute saxon:allow-all-built-in-types removes the
> restriction (making the processor non-conformant), but like all extensions
> in the Saxon namespace, it is available only with Saxon-PE or higher.
> If it's only the castable test you are after, you could use matches(.,
> '\i\c*')
This returns true for matches('1880s','\i\c*') in Saxon XSLT and Zorba.

> On 30 Nov 2014, at 20:28, Ihe Onwuka <ihe.onwuka at gmail.com> wrote:
> I have a sequence of keywords which I would like to create as empty
> elements if their content constitutes a valid element name but I cannot
> execute the following because of the above restriction that prevents the
> comparison to xs:NCName
> Code is below.
>         <xsl:for-each select="tokenize(substring-after(.,'	'),'\t')">
>           <xsl:choose>
>             <xsl:when test=". castable as xs:NCName">
>               <xsl:element name="{.}"/>
>             </xsl:when>
>             <xsl:otherwise>
>               <keyword name="{.}"/>
>             </xsl:otherwise>
>          </xsl:for-each>
> I have tried the allow-all-built-in-types saxon attribute and that hasn't
> worked.
> Any other suggestions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://x-query.com/pipermail/talk/attachments/20141201/e5ae2e5a/attachment.html>

More information about the talk mailing list