- From: Alex Milowski <alex@milowski.com>
- Date: Wed, 7 Aug 2013 17:36:10 -0700
- To: XProc WG <public-xml-processing-model-wg@w3.org>
- Message-ID: <CABp3FNL2Yy=rLPpCuHmm1QSw=gYu4=AFs9CudaxRfzH0YsK+6A@mail.gmail.com>
Let me explain the use case a bit better. I have documents that are typed, often on the root element, with specific RDFa types. The derived type is computed against the @vocab attribute (and others) along with the @typeof attribute. I want to expose an extension function so I can do something like this: <p:choose> <p:when test="rdfa:is-type(/*,'http://example.com/Book')"> ... </p:when> <p:otherwise>...</p:otherwise> </p:choose> In reality, these functions are very easy to implement in XSLT 2.0: <xsl:function name="rdfa:type"> <xsl:param name="n"/> <xsl:variable name="vocab" select="$n/ancestor-or-self::*/@vocab[1]"/> <xsl:sequence select="for $t in tokenize($n/@typeof,'\s+') return resolve-uri($t,$vocab)"/> </xsl:function> <xsl:function name="rdfa:is-type"> <xsl:param name="n"/> <xsl:param name="uri" as="xs:string"/> <xsl:sequence select="exists(index-of(rdfa:type($n),$uri))"/> </xsl:function> So, I really just want a way in p:library to declare these functions. I could imagine just importing an XSLT library directly but I wonder whether that is technical feasible given existing implementations. On Wed, Aug 7, 2013 at 2:15 PM, Alex Milowski <alex@milowski.com> wrote: > It sure would be handy to be able to define functions that can be used in > step expressions via XSLT 2. Specifically, I'm thinking of things that > control p:choose alternatives. > > My use case is simply calculating the type URIs for an RDFa typeof > attribute. I want to process a document differently depending on an RDFa > typeof attribute. The type value is a resolved by a number of operations > that neatly fit into an XSLT function definition. > > Right now I have to wrap this in an p:xslt step that outputs a coded > document that I can use the p:choose step. If I just had the function > available, I could run it directly. > > The feature could only be available if an implementation supported XSLT 2. > > Thoughts? > > -- > --Alex Milowski > "The excellence of grammar as a guide is proportional to the paucity of the > inflexions, i.e. to the degree of analysis effected by the language > considered." > > Bertrand Russell in a footnote of Principles of Mathematics > -- --Alex Milowski "The excellence of grammar as a guide is proportional to the paucity of the inflexions, i.e. to the degree of analysis effected by the language considered." Bertrand Russell in a footnote of Principles of Mathematics
Received on Thursday, 8 August 2013 00:36:36 UTC