[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML aggregation question?
Michael Kay wrote: >>Based on all the comments thus far as well as reading some of >>the articles/documentation on eXist, it would seem that an >>XML database is really the only viable choice if I want to >>keep my data as XML and still provide aggregated views across >>the instances based on values of attributes (or other >>expressions using XPath and/or XQuery). > > > > This isn't absolutely true. For example, the W3C XSLT test suite (not > published, unfortunately) is a collection of over 5000 XML documents held in > filestore, and it's quite feasible to run queries in Saxon (using either > XSLT or XQuery) across this collection. For example, to count how many of > the stylesheets in the collection specify version="1.0" on the > xsl:stylesheet element, use: > > count(collection('file:///c:/xslts_1_0_0/TestInputs?select=*.xsl;recurse=yes > ') > [(xsl:stylesheet|xsl:transform)/@version='1.0']) > > What you don't get with this approach is performance. There's no database > load operation, so there are no collection-level indexes: the system works > its way through the directory parsing and testing each individual document. > But it's still very useful (and surprisingly fast) for the occasional ad-hoc > search. > > Michael Kay > http://www.saxonica.com/ > hi, Just a comment about the syntax : -Saxon's syntax : collection('file:///c:/xslts_1_0_0/TestInputs?select=*.xsl;recurse=yes') -Ant's syntax : <fileset dir="file:///c:/xslts_1_0_0/TestInputs" includes="**/*.xsl"/> -Why not using definitively the XPath syntax ? file('file:///c:/xslts_1_0_0/TestInputs')//*[ends-with(name(.),'xsl')]) or file('file:///c:/xslts_1_0_0/TestInputs')//*[@extension='xsl'] or whatever à la XPath ? The XPath syntax was adopted in Active Tags for many purposes : file systems, HTTP requests and responses, web cookies, etc ; the objects that are worth behaving like XML are very easy to handle : one can browse them with XPath and update them with something like XUpdate One often say that : -in Unix, everything is a file -in OOP, everything is object and now : -in Active Tags, everything is XML the last sentence should be "in XML-oriented programming, everything is XML", but it's not yet true ; I'm not sure that it will be true one day, but it is already true for Active Tags -Active Tags : http://disc.inria.fr/perso/philippe.poulard/xml/active-tags/ -an example of XPath over filesystems : http://reflex.gforge.inria.fr/tutorial.html#N800FB4 -- Cordialement, /// (. .) --------ooO--(_)--Ooo-------- | Philippe Poulard | ----------------------------- http://reflex.gforge.inria.fr/ Have the RefleX !
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|