XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Build applications using the "simplicity stack"

[a re-posting, made on request]

Arjun, you write: "XML may be useful at the periphery, to move data between systems."

I take a different view.

Did you sufficiently take into consideration that XML-encoded information is addressable, down to the smallest item, in a unified way which could not be more concise and at the same time more intuitive? XML-encoded information can be submitted to powerful operations, effecting extraction, transformation, aggregation. XML turns information into a substrate with which to work, in a way which reminds me of numbers (the substrate) and mathematics (the operations).

Therefore your statement would make sense to me if there were XML, but not XPath, XQuery, XSLT. I think that to speak about the "usefulness" of XML forgetting the existence of these technologies makes little sense, similar to speaking about the usefulness of relational databases without considering the existence of SQL.

Little example. You have two XML files and you are interested in the differences. The following 9 lines of XQuery code, written in two minutes, lists added/removed data paths (see below). Of course it is generic - any two documents can be used. Can you give me examples of how this could be achieved equally easily after leaving XML format?

Kind regards,
Hans-Juergen

declare variable $doc1 external;
declare variable $doc2 external;
let $paths1 := distinct-values(doc($doc1)//*/string-join(ancestor-or-self::*/local-name(), '/'))
let $paths2 := distinct-values(doc($doc2)//*/string-join(ancestor-or-self::*/local-name(), '/'))
return
  <diff>
    <new>{for $p in $paths2[not(.=$paths1)] order by $p return <loc p="{$p}"/>}</new>
    <del>{for $p in $paths1[not(.=$paths2)] order by $p return <loc p="{$p}"/>}</del>
  </diff>

Arjun Ray <arjun.ray@verizon.net> schrieb am 2:43 Dienstag, 1.April 2014:
On Sun, 30 Mar 2014 10:21:13 +0000, "Costello, Roger L."
<costello@mitre.org> wrote:

|     (Paul Tyson) In my role as webapp developer, nothing but
|     XML+XSLT will do.
|
| What is your simplicity stack?

I'm not a 'webapp devloper", so as far as XML enters into the picture,
my simplicity stack starts with getting data _out_ of XML as soon as
possible.

XML may be useful at the periphery, to move (structured) data between
systems.  But I keep the business end of the logic XML-free. 


_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS