Joachim,

it used to be with older JAXP releases that one could download
separatedly parts of the JAXP implementation classes. Is this not the
case anymore ?

Werner

Joachim Grüneis wrote:
> JAXP includes StAX starting from JAXP 1.4 (included in JSE 6) on
> JSE 5 (JAXP 1.3) did not include StAX and requires to be included from 
> another source, e.g. Codehaus StAX
> JSE 1.4 (and before) also require a StAX implementation besides JAXP
> 
> Have fun
> 
> Joachim
> 
> On Apr 5, 2008, at 11:07 AM, Werner Guttmann wrote:
>>
>>
>> 建坛林 wrote:
>>> another question:There serveral companies that have implements the stax
>>> APi.For example, the companies listed below.
>>>
>>>     * Sun's Implementation - SJSXP <http://sjsxp.dev.java.net/>
>>>     * BEA Reference Implementation
>>>       <http://dev2dev.bea.com/technologies/stax/index.jsp>
>>>     * Oracle StAX Pull Parser Preview
>>>       <http://www.oracle.com/technology/tech/xml/xdk/staxpreview.html>
>>>     * codehaus StAX
>>>       <http://stax.codehaus.org/Download>
>>>
>>> which API package will we adopt?
>> Good question .. ;-). In other words, I don't know yet. I will be part
>> of your task to make this deciskion, or find a Java-based standard that
>> allows us to plug in any STaX parser.
>>
>>> 在08-4-4,*Werner Guttmann* <[EMAIL PROTECTED]
>>> <mailto:[EMAIL PROTECTED]>> 写道:
>>>
>>>
>>>
>>>     建坛林 wrote:
>>>> Hello, Werner.Thanks for your reply and good suggestion.
>>>>
>>>> the problem you refer to does exists. At the begining, i myself
>>>     want to
>>>> implements a adapter to bridge the gap between these two Parsers.
>>>     So i
>>>> offers a much more obvious one. Obviously, it 's not a good one.
>>>
>>>     Well, it's not that it is a bad idea per se. I am just looking at 
>>> things
>>>     from a different perspective. Well, quite some perspectives .. ;-).
>>>
>>>     a) If we go for an approach where you build the StAX* classes from
>>>     scratch (without relying on existing cod base, that is), you'll b
>>>     creating lots of code that already exists in the current e.g.
>>>     UnmarshalHandler class(es). Now, I don't really like the idea of 
>>> code
>>>     duplication, but trying to refactor this would clearly make this 
>>> work
>>>     far bigger in size (and thus not really acceptable for the GSoC
>>>     program).
>>>
>>>     b) As already mentioned, there's one thing that should not really
>>>     change, i.e. the classes the user interacts with. At least not in an
>>>     ideal world. I know that we now and then have to change the public
>>>     interfaces, but this should be as limited as possible.
>>>
>>>     Having said that, one way to improve things for Castor XML in the 
>>> future
>>>     is to introduce interfaces, which currently do not exist on the 
>>> XML side
>>>     of things.
>>>
>>>     Looking forward to your follow-up.
>>>
>>>     Werner
>>>
>>>> I'll
>>>> try to read more material to verify your suggestion.
>>>> (i will describe it in uml in my next letter)
>>>>
>>>> and there is another idea we can try as the picture in the
>>>     accessory show:
>>>> as stax is attractive in filtering our preferable partical(event). we
>>>> can first refine the xml by stax  then use the existed SAXhandler to
>>>> finish the rest
>>>> un~/marshalling work. but is it  a adapter. it seems a bit not.
>>>>
>>>> 2008/4/3, Werner Guttmann <[EMAIL PROTECTED]
>>>     <mailto:[EMAIL PROTECTED]>
>>>
>>>> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:
>>>
>>>>
>>>>     Hi Jiantan,
>>>>
>>>>     looking at your ideas, I wonder whether this approach is a
>>>     good one
>>>>     (though it is a valid one). Let me try to express  my thoughts
>>>>     (slightly unstructured):
>>>>
>>>>     - Is is really a good idea to expose the technologies we are
>>>     using
>>>>     internally to parse an XML document to the user. In other words,
>>>>     should the user know and explicitely have to use classes that
>>>     carry
>>>>     names that are linked to a technology such as SAX or STaX ?
>>>     Is there
>>>>     a way to make this more transparent ?
>>>>
>>>>     - Would it be possible to layer the approaches ? Personally,
>>>     I see
>>>>     the main benefits of a STaX parser in the context of XML data
>>>>     binding that it would be absolutely easy to restrict the scope of
>>>>     processing during e.g. unmarshalling. In other words, within a
>>>>     biggish XML document navigate to a (smaller) subset and only use
>>>>     this subset as the input for unmarshalling. Such a layering
>>>     could be
>>>>     achieved by creating an adapter that sits between the StAX parser
>>>>     and the UnmarshalHandler (which implements SAX
>>>     ContentHandler), and
>>>>     translates STaX events into SAX events. This way, we would avoid
>>>>     having to completely write a new STaXUnmarshalHandler (and
>>>     all the
>>>>     logic currently sitting in UnmarshalHandler).
>>>>
>>>>     Werner
>>>>
>>>>
>>>>     建坛林 wrote:
>>>>
>>>>         1.introduction  marshalling is the processing of convert a
>>>>         Object into xml(or other structured) file, while
>>>     unmarshalling
>>>>         is the reverse processing of marshalling. This techonology is
>>>>         very useful in data binding and data transfering.
>>>>         Marshaller/Unmarshaller is the very object that
>>>     responsible for
>>>>         doing these work. For marshaller/unmarshaller to do the
>>>>         marshalling work, it need the help of a xml parser. There are
>>>>         two kinds of xml parser nowaday:one is based on dom
>>>     model, the
>>>>         other is based on stream model.As to the latter one, we
>>>     got sax
>>>>         and stax. sax is a push parser, while stax is a pull
>>>     parser. I
>>>>         think castor's purpose of switching between the sax and
>>>     stax is
>>>>         to make castor more adaptive to different situations.
>>>>
>>>>         2.solution
>>>>
>>>>          i think the work should be done to the class Marshaller and
>>>>         UnMarshaller in Castor source.
>>>>         Make Marshaller.java,UnMarshller
>>>>         .java upper class instead of final class
>>>>            class Marshaller {
>>>>               private int parserType;
>>>>               Marshaller marshaller = new SAXMarshaller() ;
>>>>               ...
>>>>               public static void marshal(Object obj,Writer writer);
>>>>               public static void marshal(Object obj,int parserType);
>>>>               public static void marshal(Object obj,Marshaller
>>>     marshaller);
>>>>               ...
>>>>               public void setMarshaller(Marshaller marshaller);
>>>>               public Marshaller getMarshaller();
>>>>               ...
>>>>           }
>>>>             class UnMarshaller {
>>>>               private int parserType;
>>>>               UnMarshaller unMarshaller = new SAXUnMarshaller()
>>>>               public Object unmarshal(InputSource in){
>>>>                       unMarshaller.unmarshal(in);
>>>>               }
>>>>               public Object unmarshal(InputSource in, int
>>>     parserType);
>>>>               public Object unmarshal(InputSource in,UnMarshaller
>>>>         unmarshaller);
>>>>               ...
>>>>               public void setUnMarshaller(UnMarshaller unMarshaller);
>>>>               public UnMarshaller getUnMarshaller();
>>>>               ...
>>>>           }
>>>>         this Un~/Marshaller keeps the common methods of SAXMarshaller
>>>>         and StaxMarshaller,
>>>>         default use a SAXMarshller in order to make the existed code
>>>>         unchanged;we change the Marshaller by using the specific
>>>>         constructor and setUn~/Marshaller method. In this case,
>>>>         it's flexible to switch from sax to stax,vice versa. It seems
>>>>         this pattern is much more like
>>>>         the strategy pattern. we just abstract the algorithm of
>>>>         un~/Marshal. and it's flexible to
>>>>         switch between these algorithm.
>>>>
>>>>          the former Marshaller.java can be a SAXMarshller.java and
>>>>         SAXUnMarshaller.java.
>>>>          class SAXMarshaller extends Marshaller {
>>>>          ...
>>>>          }
>>>>
>>>>           class SAXUnMarshaller extends UnMarshaller {
>>>>           ...
>>>>          }
>>>>
>>>>          we can add by the following new Implementation of Marshaller
>>>>          class StaxMarshaller implements Marshaller {
>>>>          ...
>>>>          }
>>>>
>>>>           class StaxUnMarshaller implements UnMarshaller {
>>>>           ...
>>>>          }
>>>>
>>>>
>>>>         make MarshallingHandler ,UnMarshallingHandler upper class
>>>>         instead of final class just like
>>>>         we did to Marshaller,UnMarshller
>>>>
>>>>         the specific work we have to do is in implemented a new
>>>>         StaxMarshallerHandler and StaxUnMarshallerHandler
>>>>
>>>>         to implement the Un~/Marshalling in stax way
>>>>
>>>>          class SAXMarshallingHandler extends MarshallingHandler {
>>>>             }
>>>>
>>>>          class SAXUnMarshallingHandler extends UnMarshallingHandler {
>>>>           }
>>>>
>>>>          class StaxMarshallingHandler extends MarshallingHandler {
>>>>             }
>>>>
>>>>          class StaxUnMarshallingHandler extends
>>>     UnMarshallingHandler {
>>>>           }
>>>>         And the specific implementation of  StaxMarshallingHandler is
>>>>         associated with how to map
>>>>         a object to xml(and the reverse process).The detail of
>>>     this can
>>>>         refer the implementation
>>>>         of StaxMarshallingHandler(former  MarshallingHandler).
>>>>
>>>>         3.self-introduction
>>>>
>>>     http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en
>>>     <http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en>
>>>>
>>>     <http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en
>>>     <http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en>>
>>>>
>>>     <http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en
>>>     <http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en>
>>>>
>>>     <http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en
>>>     <http://docs.google.com/Doc?docid=dc42tcq9_88gtxts6fv&hl=en>>>
>>>>
>>>>
>>>>         Jiantan Lin
>>>>
>>>>
>>>>         2008/4/3, Werner Guttmann <[EMAIL PROTECTED]
>>>     <mailto:[EMAIL PROTECTED]>
>>>
>>>>         <mailto:[EMAIL PROTECTED]
>>>     <mailto:[EMAIL PROTECTED]>> <mailto:[EMAIL PROTECTED]
>>>     <mailto:[EMAIL PROTECTED]>
>>>
>>>>         <mailto:[EMAIL PROTECTED]
>>>     <mailto:[EMAIL PROTECTED]>>>>:
>>>>
>>>>            HI,
>>>>
>>>>            I have recently asked all the students that have
>>>     submitted an
>>>>            application to be mentored by one of the existing Castor
>>>>         committer
>>>>            sto subscribe to this mailing list, so that we can ask
>>>     questions
>>>>            about their proposal and vice versa.
>>>>
>>>>            Can I please ask all students to introduce themselves
>>>>         briefly, and
>>>>            once again describe their proposals. It's especially
>>>     the benefits
>>>>            for the project that I am personally interested in.
>>>>
>>>>            Thanks
>>>>            Werner
>>>>
>>>>
>>>>          
>>>> ---------------------------------------------------------------------
>>>>            To unsubscribe from this list, please visit:
>>>>
>>>>              http://xircles.codehaus.org/manage_email
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>     
>>> ---------------------------------------------------------------------
>>>>     To unsubscribe from this list, please visit:
>>>>
>>>>       http://xircles.codehaus.org/manage_email
>>>>
>>>>
>>>>
>>>>
>>>
>>>>
>>>     
>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>     
>>> ------------------------------------------------------------------------
>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe from this list, please visit:
>>>>
>>>>     http://xircles.codehaus.org/manage_email
>>>
>>>
>>>     
>>> ---------------------------------------------------------------------
>>>     To unsubscribe from this list, please visit:
>>>
>>>         http://xircles.codehaus.org/manage_email
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>     http://xircles.codehaus.org/manage_email
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>    http://xircles.codehaus.org/manage_email
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to