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

Re: Here's what I've learned over the last several months abou

  • From: Philippe Poulard <philippe.poulard@s...>
  • To: alavinio@g...
  • Date: Thu, 30 Apr 2009 17:20:55 +0200

Re:  Here's what I've learned over the last several months	abou
Hi,

alavinio@g... a écrit :
> There are already ways to reach non-XML data from XML tools that don't 
> require changing the specification, or even writing special 
> transformation steps.

There are lots of examples of tools that work that way: for example when 
you "parse a catalog" in RefleX, it can be an SGML catalog or an OASIS 
XML catalog, the former will be transformed on the fly to XML. Fine.

This works well as long as the source to convert is something like a 
text (CSV, EDI, JSON, etc).

However producing XML markups is not the best solution. For example, if 
you had to represent in XML a file system, and that you had to get (with 
XPath or XQuery) the modification date of the last file (in sequence) of 
the last directory (in sequence) under the root directory, this strategy 
is extremely inefficient because you'd have to recursively build the 
markup of the entire file system and nowadays they are somewhat huge. It 
is much more better to deal with the data model and just handle the root 
directory as an XML item and navigate inside during the evaluation of 
the XPath or XQuery query. That way you will reach the expected data 
without having to browse the entire tree.

In RefleX you can have it with XPath like this:
io:file('file:///')/*[last()]/*[last()]/@io:last-modified

People tend to think about XML as markups only, whereas it is much more 
valuable to think about XML as its data model: markups are intolerant, 
the data model more flexible. For example, when you have an XML 
attribute that contains an xs:date, you can store it in the $myDate 
variable:
someElem/@someDate
it would be very usefull to have the ability to extract fields from $myDate:
$myDate/@year
and in short:
someElem/@someDate/@year
note that this is syntaxically correct regarding the XPath spec. but 
everybody would say that the result of such expression is empty. RefleX 
is a tool that works that way, and you can bind any arbitrary object to 
an XML attribute. Consider this:
<file uri="file:///"/>
if I had a schema that indicates that the type of my "uri" attribute is 
an "io:x-file" ("x-" denotes types of XML-aware objects in RefleX), then 
I can apply the XPath expression:
@uri/*[last()]/*[last()]/@io:last-modified

I gave a presentation at Balisage in 2008 about all that stuff and more 
amusements around schemas: "Properties of schema mashups: dynamicity, 
semantic, mixins, hyperschemas"
You will find the paper and the slides here:
http://reflex.gforge.inria.fr/balisage2008.html

Regards

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