Re: [xml] support for xslt functions in xmllint schematron?



On Thu, Nov 02, 2006 at 12:53:25PM -0500, Gregor J. Rothfuss wrote:
Daniel Veillard wrote:

 Some of them are fairly tied to the XSLT infrastructure
   http://www.w3.org/TR/xslt#add-func
and clearly key() for example would not be reusable in that context.
I would not be able to add them to basic libxml2 XPath, it really should
only see the normal XPath-1.0 function (or if xslt with a namespace
which would just not work with direct generate-id() use). Those would
have to be copied in the schematron module and registered when creating
the validation context' XPath context.

 So which functions ?

i found this reference on the schematron list:

http://eccnet.eccnet.com/pipermail/schematron-love-in/2006-June/000083.html

  Hum ...


It is unclear to me now, from an ivory tower perspective, if it
includes document() since that is an XSLT function and not XPath.
When I think of "extended version of XPath" I think of things like
actions on result-tree-fragment variables and the current() function,
not the document() function. Since the phrase "extended version of
XPath" is undefined, I wonder if this should be clarified in a future
technical corrigendum (TC) of the now-published standard.

I find that perfectly clear and interpret the statement as XPath plus
all the functions defined in XSLT 1.0 as "additional functions" at
http://www.w3.org/TR/xslt#add-func
<<<

  Urgh ... I really don't see how the result-tree-fragment could be 
accessed from a non-xslt implementations.

out of these, i have seen current() and generate-id() used in schematron 
files i have used.

  generate-id() might be easy
  current() is a matter of semantic, since it's not part of a stylsheet anymore
 what semantic would you give ?
  things like format-number() are a RPITA frankly, I would prefer not to
duplicate that horror.

  maybe a practical approach would be to offer only the few funtions which
are easy to duplicate outside an XSLT context.

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]