From: Sun, V. <vs...@am...> - 2007-07-04 21:05:50
|
> are X and Y threads? Not really, consider them are just business logic components (class), let's just say they are running in the same thread to simplify this discussion. > so XML flows in, XML converts into DOM tree, performs random logic, then passes it to Y. Y does something then generates output XML.. Yes, sort of, except there might many X before Y, so many tree updates before the final serialization: For example:=20 Usecase 1: give me the all product info where product-name =3D "abc" stage1 (adding seller) -> stage2 (adding product id) -> stage3 (adding price) -> stage4 (serialize output). Usecase 2: give me the price info where product-id =3D "123" and seller=3D"xyz" stage2 (adding price) -> stage3 (serialize output). *Each of the "()" represent a business logic unit. To retrieve price, we need to know product-id and seller.=20 -------------------------- Cheers, Vanessa -----Original Message----- From: Jimmy Zhang [mailto:cra...@co...]=20 Sent: Wednesday, July 04, 2007 1:59 AM To: Sun, Vanessa Cc: vtd...@li... Subject: Re: [Vtd-xml-users] update-operation impact, if any? are X and Y threads? so XML flows in, XML converts into DOM tree, performs random logic, then passes it to Y. Y does something then generates output XML.. did I get the use case roughly right? ----- Original Message ----- From: "Sun, Vanessa" <vs...@am...> To: "Jimmy Zhang" <cra...@co...>; "Tatu Saloranta"=20 <cow...@ya...>; <vtd...@li...> Sent: Tuesday, July 03, 2007 6:47 PM Subject: RE: [Vtd-xml-users] update-operation impact, if any? For one, we do xpath, if the data is not in the tree, it won't show up in the query result. Two, the sequence of the stage is dynamic, so the data could be populated by X for this request, and by Y for next request, or sometimes the dom came in with the data already filled in. In order to prevent each stage checking for all possible sources, we decided that everybody will just put the result into the dom tree, i.e. the tree is the centralized data bus flowing through the pipeline collecting data as it goes. P.S. Yes the use case is a in-memory pipeline. -------------------------- Cheers, Vanessa -----Original Message----- From: Jimmy Zhang [mailto:cra...@co...] Sent: Tuesday, July 03, 2007 12:23 PM To: Tatu Saloranta; Sun, Vanessa; vtd...@li... Subject: Re: [Vtd-xml-users] update-operation impact, if any? If the processing takes place in the same process space, then if the goal is to make changes to XML payload, then would it be possible to put the "changes" in a seperate structure? there may not be a need to store the changes in XML itself you don't really have to put something in XML just to read it back out again, why not just accessing the info directly? ----- Original Message ----- From: "Tatu Saloranta" <cow...@ya...> To: "Jimmy Zhang" <cra...@co...>; "Sun, Vanessa" <vs...@am...>; <vtd...@li...> Sent: Tuesday, July 03, 2007 8:19 AM Subject: Re: [Vtd-xml-users] update-operation impact, if any? > Yes, I am assuming this since the original question definitely sounded > like it was an in-process modification -- otherwise it wouldn't have > made sense. > > It is true of course that when travelling over the network, process > boundaries etc, some serialization is needed. > > -+ Tatu +- > > ----- Original Message ---- > From: Jimmy Zhang <cra...@co...> > To: Tatu Saloranta <cow...@ya...>; "Sun, Vanessa" > <vs...@am...>; vtd...@li... > Sent: Monday, July 2, 2007 10:34:25 AM > Subject: Re: [Vtd-xml-users] update-operation impact, if any? > > Ok, I think the assumption here is that everything happens within a > single process... > but pipelining usually is more broadly defined as passing XML data > across process's boundry (even across the network, e.g. SOA > components) between mutiple programs... like unix's IPC, in that case, > it is usually not possible to pass a DOM tree around without re-serializing... > > ----- Original Message ----- > From: "Tatu Saloranta" <cow...@ya...> > To: "Jimmy Zhang" <cra...@co...>; "Sun, Vanessa" > <vs...@am...>; > <vtd...@li...> > Sent: Monday, July 02, 2007 9:45 AM > Subject: Re: [Vtd-xml-users] update-operation impact, if any? > > >> --- Jimmy Zhang <cra...@co...> wrote: >> >>> It is not much different from DOM, albeit VTD-XML's more >>> efficient... >>> when you send DOM downstream, still need to serialize... >>> for VTD-XML, you just call XMLModifier's output()... >> >> Not necessarily, more often it's all within a single process, the >> tree model just gets passed. If so, no additional serialization or >> parsing is needed. >> >> I think it is fair to say that different models are more optimal for >> different use cases, and that heavy modifications are amongst hardest >> use cases for extractive parsers to implement efficiently (as opposed >> to read-only that is the most optimal). >> >> Regarding original problem -- it is of course possible to move from >> basic DOM to other Java tree alternatives. Also, most xml processing >> overhead might not come directly from DOM model itself: it is good to >> profile to see if it might have to do with other processing (xslt if >> it's being used, xpath, naive business logic that uses too much >> traversal). >> >> -+ Tatu +- >> >> >> >> >> _____________________________________________________________________ >> _______________ Sick sense of humor? Visit Yahoo! TV's Comedy with an >> Edge to see what's on, when. >> http://tv.yahoo.com/collections/222 >> > > > > ---------------------------------------------------------------------- > --- This SF.net email is sponsored by DB2 Express Download DB2 Express > C - the FREE version of DB2 express and take control of your XML. No > limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Vtd-xml-users mailing list > Vtd...@li... > https://lists.sourceforge.net/lists/listinfo/vtd-xml-users > > > > > > > ______________________________________________________________________ > ______________Ready > for the edge of your seat? > Check out tonight's top picks on Yahoo! TV. > http://tv.yahoo.com/ > |