ah hah... the regex needs to start with a ^ and is '^\i\c*' On Mon, Dec 1, 2014 at 8:06 AM, Ihe Onwuka <[email protected]> wrote:
> > On Sun, Nov 30, 2014 at 10:32 PM, Michael Kay <[email protected]> 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 <[email protected]> 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. >> >> >
_______________________________________________ [email protected] http://x-query.com/mailman/listinfo/talk
