[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] XML aggregation question?
- From: Philippe Poulard <Philippe.Poulard@xxxxxxxxxxxxxxx>
- To: Michael Kay <mike@xxxxxxxxxxxx>
- Date: Tue, 29 Aug 2006 10:19:55 +0200
Michael Kay wrote:
>>Just a comment about the syntax :
>>
>>-Saxon's syntax :
>>collection('file:///c:/xslts_1_0_0/TestInputs?select=*.xsl;rec
>>urse=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 ?
>
>
> I adopted the approach of defining a URI that can be passed as a parameter
> to the collection function, using syntax that's compatible with the rules
> and conventions of what can go in a URI.
>
> You seem to be looking at a more ambitious approach of modelling the
> filestore directory structure as an XML instance, to which you can apply
> XPath expressions. Good in theory, but I think there are a lot of practical
> issues such as incompatible syntax for names.
In the real life, lots of file names are compatible with XML names,
which allow in many cases to express XPaths on file systems like this :
/usr/local/foo/bar
which are also paths
However, when a file name contains an illegal XML, we have to consider 2
cases :
-if it is a legal XML character, say a whitespace, then we can turn the
XPath expression in a different form :
instead of :
/usr/local/foo bar (which is a wrong XPath expression)
we can write :
/usr/local/*[name(.)='foo bar']
-if it is an illegal XML character, say a control character, there are
no ways, even within XML strings ; neither your solution nor mine can
*name* such a file
Luckily, if we have to browse that file from a selectionable set of
files (*.xsl), we don't care of its name and we can *handle* it.
>
> Michael Kay
> http://www.saxonica.com/
>
--
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]