[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XML aggregation question?

  • From: Philippe Poulard <Philippe.Poulard@xxxxxxxxxxxxxxx>
  • To: Florent Georges <darkman_spam@xxxxxxxx>
  • Date: Tue, 29 Aug 2006 10:50:39 +0200

example xpath function date uri
Florent Georges wrote:
> Philippe Poulard wrote:
> 
> 
>>>  Mmh.  Saxon uses a standard XPath function that takes
>>>a URI as parameter.  I don't see what is not "à la
>>>XPath".  You use an unknown function.  They smell
>>>equally XPath IMHO.
> 
> 
>>Read again my first post : the purpose is neither the name
>>of the function nor about how to get the content of the
>>file
> 
> 
>   No.  You said "Saxon's syntax (sic) is not a la XPath,
> mine is".

I was pointing the part that was between the opening ' and the closing ' 
: everything within is a litteral ; you can still argue that a litteral 
is part of the XPath syntax, this is not the purpose here :p

> 
> 
>>My answer is : "why not using XPath everywhere in XML
>>applications ?"
> 
> 
>   Because we can use XML, also :-p.

Just use it !
http://reflex.gforge.inria.fr/

> 
> 
>>Pros :
>>-a single syntax
> 
> 
>   About syntax, the Saxon way *is* XPath, so nothing new.
> 
> 
>>-a well-known syntax
> 
> 
>   Yes, in both case.  In the other hand, one use a
> well-known function, the other not.

This is exaclty what I ask for.

> 
> 
>>>  BTW, how do you specify to recurse or not?
> 
> 
>>//* recurse
>>/* do not recurse
> 
> 
>>It's XPath
> 
> 
>   So you can't specify recurse or not.

I can.

   At least in XPath.
> The function *have* to recurse and construct a document
> containing information about all the subtree.

This would be a very bad strategy.


   What about:
> 
>     collection('file:///?select=*.xml;recurse=no')
> 
> vs/
> 
>     file('file:///')/*[matches(@extension, '\.xml$')]
> 
> if / contains recursively milions of files?

My implementation will only look at the first level of the tree without 
trying to descend inside the thousands subdirectories.

> 
> 
>>   And to validate or not?
> 
> 
>>What means "validating a file" ?
> 
> 
>   Not a file.  A document.  Remember we are speaking about
> collection(), and collection() retrieve documents.

Not at all : I left the context of the collection() function just to 
talk about handling files (see the example with Ant on my previous post)

XML files, text files, binary files

> 
> 
>>>And how do you get the actual content of the files?  Are
>>>they encapsulated directly in the result of file() (I
>>>hope they are not), or do you need a second function
>>>(something like open-file())?
> 
> 
>>Everything can be considered here ; have a look at
>>RefleX : there are
> 
> 
>   Mmh, I speak about the concrete example you gave us:
> file('...')//*[...].  You didn't say what file() returns.

I said previously an x-file object which is defined in the I/O module, 
so the type name is rather io:x-file (with the relevant namespace URI)

> It is a crucial point.

I'm sure you think that I handle something that return tags that can be 
parsed to a DOM etc ; it is not the case : I deal with something that 
mimick the infoset, which allows to avoid to deal with tags when they 
are not usefull. It's often the case and avoid round-tripping between 
tags and data models ; moreover, some objects would be useless in their 
tag forms ; for example, what is the XML (serialized) representation of 
an OutputStream or an InputStream (I'm not talking about the content, 
but of the object itself) ? It's completely irrelevant to consider such 
objects with a tag view.

The world of Active Tags handles XML objects, non-XML objects, and 
non-XML objects that behaves like XML objects (the last are called 
X-operable objects or cross-operable objects)
There is not necessary an XML document beyond a cross-operable object 
(example : io:x-file)
A non-XML object (not cross-operable) can be even build from an XML 
document (example : an XSLT stylesheet)

> 
> 
>>>  But your approach is interesting, IMHO, with optional
>>>arguments to specify switches, and assuming it returns
>>>only file infos, not actual content.
> 
> 
>>Of course, the content is returned only when it is
>>required
> 
> 
>   How it is required?

When you use it ; for example :
http://reflex.gforge.inria.fr/tutorial.html#N800FB4

> 
>   Regards,
> 
> --drkm
> 

Pfff, tu coupes vraiment les cheveux en 4, Florent...

-- 
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!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.