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] Revive of E4X and Xqib

I thought e4x was a good idea but its failed to gain adoption ... however death in the browser does not necc death. 

I wonder how far one could implement e4x with saxon-ce or xqib ? Maybe someone has already tried something like this (like the aforementioned e4x.js) ?

Perhaps there is a serious mismatch in what is needed ... its been a while since I poked at e4x.

hth, J




On Fri, Jul 25, 2014 at 1:49 AM, L2L 2L <emanuelallen@hotmail.com> wrote:
Xqib. I am a novice programmer who fell in love with ECMAScript, and XML. I feel in love with xml after I found xqib. I was and still am zeal about it that I push myself to learn xml, xslt, schema(and out of respect DTD).

I am currently trying to accomplish two things:

One: revive of e4x

Two: revive of xqib

My proposal for e4x:

An interface point of view(short and simple)

Change spec name to EDPQO(ECMAScript's DOM Parser & Query Object)

 EDPO acting as a internal representation of the DOM in an ESON(JSON) format

All communication with this representation via ESON(JSON) syntax

Scrap everything but the methods and properties.

Change the XML(); object name to DOM(); to indicate that it's for XML, HTML, XHTML, XSLT, Schema, and the likes(anything that's is base XML.

  A reference interface object; allowing communication with the document object model through a shallow copy of it via ESON(JSON) syntax:

var doc = DOM();

Doc.load(note.xml);
Doc.load(page.html);
Doc.load(page.xhtml);
Doc.load(pageschema.xsd);
Doc.load(pagetransform.xslt);

All access possible via ESON(JSON) syntax.

Allow xPath 1.0 support through the method:
xPath(*/expression*/);
To use xPath expression to nevigate through the DOM object.

Example: doc.xPath("/html/body/p");

Remove support for native element via <></>

For example:

XML file to be use:
<note>
  <date>2002-08-01</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Example:
E4X spec.
var Doc=new DOM();
Doc.load("note.xml");


ESON syntax:

console.log(Doc.body);

Along with ESON(JSON) syntax, allow for added method of Number, String, Array, Object, RegRxp. Since  data type are automatically wrapped, they should be NO complication of allowing this.

A display of a few methods:

This /**"/note/body"**/ is within body element as the last child, after the textNode:

Doc[4].body.ps = "also, don't forget to bring a jacket";

note that body is an object, as note is am array of elements that cannot hold node text. The body.ps adds a new element to body: <ps>"Also, don't forget to bring a jacket!"</ps>:
<note>
<!--...-->
  <body>
Don't forget me this weekend!
    <ps>
"Also, don't forget to bring a jacket!"
    </ps>
  </body>
</note>


This /**"/note/"**/ is after body element:
Doc[Doc.length ].concat("<ps>also, don't forget to bring a jacket</ps>");

<note>
<!--...-->
  <body>
Don't forget me this weekend!
  </body>
  <ps>
"Also, don't forget to bring a jacket!"
  </ps>
</note>

This /**"/note/"**/ is before body element (note: index 4 is note's child heading element)


The following example is the same as:
var note = ["date","to","from","heading","body"];
note.splice(4,0,"ps");
note;//output: ["date","to","from","heading","ps","body"];

xmlDoc.splice(4, 0 , "<ps>also, don't forget to bring a jacket</ps>");

xPath 1.0 for the xPath(); method

With attribute, I say to use the xPath(/*expression*/); method to retrieve that via string:

<date attr="value">
  2002-08-01
</date>

Doc.xPath("/note/date/@attr");
//xPath 1.0 spec
);

Via ESON syntax:

/*as the attribute node(object) is a child of the date node(object); it stand to reason that it is also a object within the date object that can only hold text*/

Doc[0].date[0].attr"; //"value"

For xqib, please look at this site:

http://www.xqib.org/index.php

The old e4x program is already written, just need to be extracted to adopt. Mirth connect is an open source that have the e4x still apart of their software.

My apologies for and mistake.

Thank you for reading.

E-S4L
_______________________________________________________________________

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