RE: XMLBeans performance and source code status [Re: Proposal: XMLBeans]

2003-07-05 Thread Eric Vasilik
When working with XMLBeans in a strongly typed way (with a Schema), individual objects 
are created for each piece of information, usually instances of simple and complex 
Schema types.  However, you can also access and manipulate the XML in a typeless 
manor.  What we've done with XMLBeans is provided access to the full XML Infoset via 
the XmlCursor interface.

XmlCursor provides functionality very similar to the DOM, but takes a very different 
tact.  Instead of creating an DOM Node for each element, attribute, text, etc, one may 
create a single XmlCursor and navigate that cursor about the XML instance, 
interrogating the XML: element/attr names, child/parent elements, text, comments, etc. 
 Also, one may modify the XML by removing elements and attrs, inserting text, for 
example.  All of this can be done by either not creating objects or reusing objects so 
that the number of objects needed to operate on the XML is constant, not on the order 
of the size of the XML like a DOM would require.

The kind of interface allows an implementer of an in memory XML store more freedom to 
implement the internal structure which represents the XML in memory.  One, for 
example, could simply store the XML as it was, for example, read in from disk and 
implement a cursor as an index into that string, parsing or modifying the parts of the 
string as necessary to satisfy the requests.  We don't go to quite this extreme.  In 
principle, we create one object for every leaf element or attribute and two objects 
for every interior element.  All text for attribute values, comments, procinst's and 
text between element markup is stored in a single character array.

We have found that creating fewer objects and batching text leads to loading the XML 
into memory faster as well as having a similar, if not slightly smaller, memory 
footprint when compared to the DOM.  Also, working with cursors seems to be an easier 
programming model than the DOM as it does not have text nodes and is more intuitive.

With respect to the synchronized access, the strongly typed schema XMLBeans objects 
cache values so that conversion to text does not occur until it is needed.  Likewise, 
when modifications are made to the XML Infoset, the strongly typed data (ints, for 
example) are not parsed from the text until requested.  In general the impact of 
synchronization is quite low because of the lazy approach we have taken along with the 
caching.  As I read your question again, I realize that you may have interpreted 
synchronized to mean "managing data among several threads".  The synchronization 
described refers to the fact that one may manipulate the XML via the XmlCursor or the 
strongly typed XMLBean classes generated from the schema, each mechanism capable of 
seeing the changes from the other in a tightly integrated way.

With respect to building XMLBeans, we plan to remove any dependency upon the jars you 
mentioned.  Indeed, there exists very little dependence on these.  Mostly just 
interfaces, not any classes needed for the implementation.

- Eric Vasilik

-Original Message-
From: Aleksander Slominski [mailto:[EMAIL PROTECTED]
Sent: Friday, July 04, 2003 8:31 PM
To: [EMAIL PROTECTED]
Cc: Jakarta General List; [EMAIL PROTECTED]
Subject: XMLBeans performance and source code status [Re: Proposal:
XMLBeans]


Cliff Schmidt wrote:

>>What's compelling about XMLBeans compared to some of the other front
>>runners, such as JDOM and XOM, Castor and JAXB?
>>
>>
>
>The main difference between XMLBeans and JDOM or XOM is that XMLBeans
>does not create objects for each XML information item.  Instead, it 
>provides cursor-based access to each item in the XML Infoset.  It has
>an architecture where, if an actual object is needed for a node, it 
>can be created on-demand.  We found this provided great performance 
>benefit.  
>
hi,

i am interested to find if you have some more details on performance 
benefits - it seems to be very intriguing and distinguishing feature of 
XMLBeans.

i may be missing something but i tried to find this information online 
without any lack (i checked 
http://dev2dev.bea.com/articles/hitesh_seth.jsp that is good overview 
but has not enough technical details and other docs): as far as i can 
understand actual objects are created for every XML information item? so 
as objects are in memory the same way as objects in DOM what performance 
benefits do you have in mind? do you refer to faster creation time or 
lower memory footprint? did you check for example on the same machine 
how big XML document can be loaded with XMLBeans and DOM (for example 
Xerces2) before running out of memory?

>The biggest differences between XMLBeans and Castor or JAXB
>are:
>1) the goal of 100% Schema support (currently supports everything in 
>Schema other than redefine and substitution groups, and those features
>are nearly ready), and 
>2) the integrated and synchronized access of the underlying XML content
>with strongly typed 

Re: [i18n] Internationalization subproject sponsor?

2003-07-05 Thread Andrew C. Oliver
>From the proposal I was not able to determine *what it intends to do*..
Besides that, the criteria for helping is IMHO a bit discouraging.  Granted
its hard to help if you've never been outside of Kansas, but maybe Dorothy
darn tootin cares about i18n and wants to make sure that toto can use her
application...  Perhaps there is something left for her to do even if she
only speaks 'merican.

-Andy

On 7/5/03 12:16 AM, "Tetsuya Kitahata" <[EMAIL PROTECTED]> wrote:

> Hello, Robert,
> 
> 
> Personally, I am interested in this project, but I am not a *member*
> in ASF. (Just a *committer* in jakarta)
> How about posting your message to
> [EMAIL PROTECTED]
> ??
> (subscribe: [EMAIL PROTECTED])
> Maybe, you can find the ASF *member*  outside of jakarta.
> 
> Here's a list of the number of *committer* and *member* in ASF umbrella
> ( Originally created by Steven Noels)
> --
> 
> Amount of committers: 677
> 
> "Name","committers","members"
> "ant","34","8"
> "apr","42","32"
> "avalon","80","15"
> "cocoon","60","14"
> "commons","10","10"
> "db","35","9"
> "embperl","13","6"
> "httpd","145","111"
> "incubator","26","12"
> "jakarta","314","35"
> "james","13","3"
> "java","7","1"
> "maven","25","4"
> "mod_dtcl","9","4"
> "modperl","18","7"
> "tcl","9","4"
> "ws","86","11"
> "xml","259","28"
> --
> 
> 
> There are only 35 potential "Mentor"s (I mean, sponsors) in jakarta, as
> you can see. If you are confident you can build a powerful community,
> IMHO you do not have to stick to seek the Mentor in jakarta.
> 
> I hope this mail might help you to some extent.
> 
> Sincerely,
> 
> -- Tetsuya ([EMAIL PROTECTED])
> 
> -
> 
> On 3 Jul 2003 15:23:10 -
> (Subject: [i18n] Internationalization subproject sponsor?)
> Robert Simpson <[EMAIL PROTECTED]> wrote:
> 
>> To current members of the Jakarta project:
>> 
>> Is there any current member of the Jakarta project who would be interested in
>> sponsoring the entry of the Internationalization subproject into the
>> incubator?
>> 
>> The Internationalization subproject would be somewhat different than the
>> other Jakarta projects in that there would be two types of contributors:
>> 
>>1. the (traditional) code contributors
>>2. the language translation contributors
>> 
>> So far, the reponses I have received regarding people would would be
>> interested
>> in contributing have all been outside Jakarta - mostly language translators.
>> Since the Internationalization subproject would most likely fit into the
>> Jakarta project, it would help to have a sponsor from within Jakarta, per the
>> "Incubation Process" documentation.
>> 
>> The subproject proposal and initial code contribution can be found earlier in
>> the Jakarta General mailing list, or here:
>> http://www.itoolset.com/i18n/PROPOSAL.html
>> 
>> Without a sponsor, I will probably move the code that was extracted in
>> preparation for submission to Apache back into the iToolSet package hierarchy
>> and let it pass as an Apache contribution until there is more interest in a
>> common Internationalization architecture within Apache itself.
>> 
>> Thanks in advance.
>> Robert Simpson
>> 
>> 
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> -
> Tetsuya Kitahata --  Terra-International, Inc.
> E-mail: [EMAIL PROTECTED] : [EMAIL PROTECTED]
> http://www.terra-intl.com/
> (Apache Jakarta Translation, Japanese)
> http://jakarta.terra-intl.com/
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-- 
Andrew C. Oliver
http://www.superlinksoftware.com/poi.jsp
Custom enhancements and Commercial Implementation for Jakarta POI

http://jakarta.apache.org/poi
For Java and Excel, Got POI?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-site2/xdocs/site cvsindex.xml

2003-07-05 Thread tetsuya
tetsuya 2003/07/05 01:19:45

  Modified:docs/site cvsindex.html
   xdocs/site cvsindex.xml
  Log:
  CVSINDEX: pigeonholed the jakarta-related-projects
  
  Revision  ChangesPath
  1.96  +23 -4 jakarta-site2/docs/site/cvsindex.html
  
  Index: cvsindex.html
  ===
  RCS file: /home/cvs/jakarta-site2/docs/site/cvsindex.html,v
  retrieving revision 1.95
  retrieving revision 1.96
  diff -u -r1.95 -r1.96
  --- cvsindex.html 8 Jun 2003 04:05:09 -   1.95
  +++ cvsindex.html 5 Jul 2003 08:19:45 -   1.96
  @@ -274,8 +274,6 @@
   jakarta-ecs2
   http://cvs.apache.org/viewcvs/jakarta-gump/";>
   jakarta-gump
  -http://cvs.apache.org/viewcvs/jakarta-james/";>
  -jakarta-james
   http://cvs.apache.org/viewcvs/jakarta-jetspeed/";>
   jakarta-jetspeed
   http://cvs.apache.org/viewcvs/jakarta-jmeter/";>
  @@ -288,8 +286,6 @@
   jakarta-lucene
   http://cvs.apache.org/viewcvs/jakarta-lucene-sandbox/";>
   jakarta-lucene-sandbox
  -http://cvs.apache.org/viewcvs/jakarta-ojb/";>
  -jakarta-ojb
   http://cvs.apache.org/viewcvs/jakarta-oro/";>
   jakarta-oro
   http://cvs.apache.org/viewcvs/jakarta-poi/";>
  @@ -355,6 +351,29 @@
   jakarta-watchdog
   http://cvs.apache.org/viewcvs/jakarta-watchdog-4.0/";>
   jakarta-watchdog-4.0
  +
  +Modules for the Jakarta-Related 
Projects
  +
  +http://cvs.apache.org/viewcvs/ant/";>
  +ant
  +http://cvs.apache.org/viewcvs/ant-antidote/";>
  +ant-antidote
  +http://cvs.apache.org/viewcvs/avalon/";>
  +avalon
  +http://cvs.apache.org/viewcvs/avalon-site/";>
  +avalon-site
  +http://cvs.apache.org/viewcvs/db-ojb/";>
  +db-ojb
  +http://cvs.apache.org/viewcvs/db-torque/";>
  +db-torque
  +http://cvs.apache.org/viewcvs/db-site/";>
  +db-site
  +http://cvs.apache.org/viewcvs/james-server/";>
  +james-server
  +http://cvs.apache.org/viewcvs/james-site/";>
  +james-site
  +http://cvs.apache.org/viewcvs/maven/";>
  +maven
   
   Modules for the older Java 
Apache Projects
   
  
  
  
  1.45  +25 -4 jakarta-site2/xdocs/site/cvsindex.xml
  
  Index: cvsindex.xml
  ===
  RCS file: /home/cvs/jakarta-site2/xdocs/site/cvsindex.xml,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- cvsindex.xml  23 Apr 2003 21:40:58 -  1.44
  +++ cvsindex.xml  5 Jul 2003 08:19:45 -   1.45
  @@ -66,8 +66,6 @@
   jakarta-ecs2
   http://cvs.apache.org/viewcvs/jakarta-gump/";>
   jakarta-gump
  -http://cvs.apache.org/viewcvs/jakarta-james/";>
  -jakarta-james
   http://cvs.apache.org/viewcvs/jakarta-jetspeed/";>
   jakarta-jetspeed
   http://cvs.apache.org/viewcvs/jakarta-jmeter/";>
  @@ -80,8 +78,6 @@
   jakarta-lucene
   http://cvs.apache.org/viewcvs/jakarta-lucene-sandbox/";>
   jakarta-lucene-sandbox
  -http://cvs.apache.org/viewcvs/jakarta-ojb/";>
  -jakarta-ojb
   http://cvs.apache.org/viewcvs/jakarta-oro/";>
   jakarta-oro
   http://cvs.apache.org/viewcvs/jakarta-poi/";>
  @@ -147,6 +143,31 @@
   jakarta-watchdog
   http://cvs.apache.org/viewcvs/jakarta-watchdog-4.0/";>
   jakarta-watchdog-4.0
  +
  +
  +Modules for the Jakarta-Related Projects
  +
  +
  +http://cvs.apache.org/viewcvs/ant/";>
  +ant
  +http://cvs.apache.org/viewcvs/ant-antidote/";>
  +ant-antidote
  +http://cvs.apache.org/viewcvs/avalon/";>
  +avalon
  +http://cvs.apache.org/viewcvs/avalon-site/";>
  +avalon-site
  +http://cvs.apache.org/viewcvs/db-ojb/";>
  +db-ojb
  +http://cvs.apache.org/viewcvs/db-torque/";>
  +db-torque
  +http://cvs.apache.org/viewcvs/db-site/";>
  +db-site
  +http://cvs.apache.org/viewcvs/james-server/";>
  +james-server
  +http://cvs.apache.org/viewcvs/james-site/";>
  +james-site
  +http://cvs.apache.org/viewcvs/maven/";>
  +maven
   
   
   Modules for the older Java Apache Projects
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-site2/xdocs/site binindex.xml

2003-07-05 Thread tetsuya
tetsuya 2003/07/05 00:54:49

  Modified:docs/site binindex.html
   xdocs/site binindex.xml
  Log:
  Binary Download: Velocity 1.3 -> Velocity 1.3.1
  
  Revision  ChangesPath
  1.308 +1 -2  jakarta-site2/docs/site/binindex.html
  
  Index: binindex.html
  ===
  RCS file: /home/cvs/jakarta-site2/docs/site/binindex.html,v
  retrieving revision 1.307
  retrieving revision 1.308
  diff -u -r1.307 -r1.308
  --- binindex.html 2 Jul 2003 02:13:31 -   1.307
  +++ binindex.html 5 Jul 2003 07:54:49 -   1.308
  @@ -319,7 +319,7 @@
   http://www.apache.org/dist/jakarta/jakarta-tomcat-4.0/release/v4.1.24/";>Tomcat 
4.1.24
   http://www.apache.org/dist/jakarta/jakarta-turbine/turbine-2/release/2.2/";>Turbine
 2.2
   http://www.apache.org/dist/jakarta/jakarta-turbine/torque/release/3.0/";>Turbine 
Torque 3.0
  -http://www.apache.org/dist/jakarta/jakarta-velocity/release/v1.3/";>Velocity 
1.3
  +http://www.apache.org/dist/jakarta/jakarta-velocity/release/v1.3.1/";>Velocity 
1.3.1
   
   
 
  @@ -340,7 +340,6 @@
   http://jakarta.apache.org/builds/jakarta-poi/dev/bin/";>POI 1.10-dev 
(early 2.0 development build)
   http://www.apache.org/dist/jakarta/tapestry/binaries/3.0-beta-1a/";>Tapestry 
3.0-beta-1a
   http://www.apache.org/dist/jakarta/jakarta-tomcat/release/v5.0.3-alpha/";>Tomcat 
5.0.3 Alpha
  -http://www.apache.org/dist/jakarta/jakarta-velocity/release/v1.3/";>Velocity 
1.3-rc1
   
   
 
  
  
  
  1.260 +1 -2  jakarta-site2/xdocs/site/binindex.xml
  
  Index: binindex.xml
  ===
  RCS file: /home/cvs/jakarta-site2/xdocs/site/binindex.xml,v
  retrieving revision 1.259
  retrieving revision 1.260
  diff -u -r1.259 -r1.260
  --- binindex.xml  2 Jul 2003 02:13:32 -   1.259
  +++ binindex.xml  5 Jul 2003 07:54:49 -   1.260
  @@ -162,7 +162,7 @@
   http://www.apache.org/dist/jakarta/jakarta-tomcat-4.0/release/v4.1.24/";>Tomcat 
4.1.24
   http://www.apache.org/dist/jakarta/jakarta-turbine/turbine-2/release/2.2/";>Turbine
 2.2
   http://www.apache.org/dist/jakarta/jakarta-turbine/torque/release/3.0/";>Turbine 
Torque 3.0
  -http://www.apache.org/dist/jakarta/jakarta-velocity/release/v1.3/";>Velocity 
1.3
  +http://www.apache.org/dist/jakarta/jakarta-velocity/release/v1.3.1/";>Velocity 
1.3.1
   
 
   
  @@ -175,7 +175,6 @@
   http://jakarta.apache.org/builds/jakarta-poi/dev/bin/";>POI 1.10-dev 
(early 2.0 development build)
   http://www.apache.org/dist/jakarta/tapestry/binaries/3.0-beta-1a/";>Tapestry 
3.0-beta-1a
   http://www.apache.org/dist/jakarta/jakarta-tomcat/release/v5.0.3-alpha/";>Tomcat 
5.0.3 Alpha
  -http://www.apache.org/dist/jakarta/jakarta-velocity/release/v1.3/";>Velocity 
1.3-rc1
   
 
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-site2/xdocs/site mail2.xml

2003-07-05 Thread tetsuya
tetsuya 2003/07/05 00:37:07

  Modified:docs/site mail2.html
   xdocs/site mail2.xml
  Log:
  Mailing List: Turbine Torque -> The Apache DB/Torque
  
  Revision  ChangesPath
  1.113 +23 -23jakarta-site2/docs/site/mail2.html
  
  Index: mail2.html
  ===
  RCS file: /home/cvs/jakarta-site2/docs/site/mail2.html,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- mail2.html4 Jul 2003 16:22:57 -   1.112
  +++ mail2.html5 Jul 2003 07:37:07 -   1.113
  @@ -545,10 +545,10 @@
   
   The James Developer/User List
   James mailing lists have moved,
  [EMAIL PROTECTED] (for users of James) is now [EMAIL PROTECTED] subscribe with 
[EMAIL PROTECTED] 
  [EMAIL PROTECTED] (for users of James) is now [EMAIL PROTECTED] subscribe with 
[EMAIL PROTECTED] 
   [EMAIL PROTECTED] (for developers and contributors) is now [EMAIL PROTECTED] 
subscribe with [EMAIL PROTECTED] 
   There is also [EMAIL PROTECTED] for general discussions relating to the project 
(not code or user issues) subscribe with [EMAIL PROTECTED]
  -For more information, see the http://james.apache.org/";>Apache James 
website.
  +For more information, see the http://james.apache.org/";>Apache James 
Project website.
   
   
   
  @@ -1178,27 +1178,6 @@
   This list is where discussion of the Turbine TDK development occurs.
   
   
  -The Torque User List
  -Medium Traffic 
  -mailto:[EMAIL PROTECTED]">Subscribe  
  -mailto:[EMAIL PROTECTED]">Unsubscribe 
  -http://www.mail-archive.com/[EMAIL PROTECTED]/">Archive 
  -
  -
  -List for Torque users to meet, discuss and solve problems. 
  -Developers will also be lurking around.
  -
  -
  -The Torque Developer List
  -Medium Traffic 
  -mailto:[EMAIL PROTECTED]">Subscribe  
  -mailto:[EMAIL PROTECTED]">Unsubscribe 
  -http://www.mail-archive.com/[EMAIL PROTECTED]/">Archive 
  -
  -
  -This list is where discussion of Torque development occurs.
  -
  -
   The JCS User List
   Medium Traffic 
   mailto:[EMAIL PROTECTED]">Subscribe  
  @@ -1218,6 +1197,27 @@
   
   
   This list is where discussion of JCS development occurs.
  +
  +
  +The Torque (DB) User List
  +Medium Traffic 
  +mailto:[EMAIL PROTECTED]">Subscribe  
  +mailto:[EMAIL PROTECTED]">Unsubscribe 
  +http://www.mail-archive.com/[EMAIL PROTECTED]/">Archive 
  +
  +
  +List for Torque users to meet, discuss and solve problems. 
  +Developers will also be lurking around. Note: Torque is now under http://db.apache.org/";>Apache DB Project.
  +
  +
  +The Torque (DB) Developer List
  +Medium Traffic 
  +mailto:[EMAIL PROTECTED]">Subscribe  
  +mailto:[EMAIL PROTECTED]">Unsubscribe 
  +http://www.mail-archive.com/[EMAIL PROTECTED]/">Archive 
  +
  +
  +This list is where discussion of Torque development occurs. Note: Torque is 
now under http://db.apache.org/";>Apache DB Project.
   
   
   
  
  
  
  1.69  +23 -23jakarta-site2/xdocs/site/mail2.xml
  
  Index: mail2.xml
  ===
  RCS file: /home/cvs/jakarta-site2/xdocs/site/mail2.xml,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- mail2.xml 4 Jul 2003 16:22:58 -   1.68
  +++ mail2.xml 5 Jul 2003 07:37:07 -   1.69
  @@ -312,10 +312,10 @@
   
   The James Developer/User List
   James mailing lists have moved,
  [EMAIL PROTECTED] (for users of James) is now [EMAIL PROTECTED] subscribe with 
[EMAIL PROTECTED] 
  [EMAIL PROTECTED] (for users of James) is now [EMAIL PROTECTED] subscribe with 
[EMAIL PROTECTED] 
   [EMAIL PROTECTED] (for developers and contributors) is now [EMAIL PROTECTED] 
subscribe with [EMAIL PROTECTED] 
   There is also [EMAIL PROTECTED] for general discussions relating to the project 
(not code or user issues) subscribe with [EMAIL PROTECTED]
  -For more information, see the http://james.apache.org/";>Apache James 
website.
  +For more information, see the http://james.apache.org/";>Apache James 
Project website.
   
   
   
  @@ -796,27 +796,6 @@
   This list is where discussion of the Turbine TDK development occurs.
   
   
  -The Torque User List
  -Medium Traffic 
  -mailto:[EMAIL PROTECTED]">Subscribe  
  -mailto:[EMAIL PROTECTED]">Unsubscribe 
  -http://www.mail-archive.com/[EMAIL PROTECTED]/">Archive 
  -
  -
  -List for Torque