[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: What Serializer to Use in a Java SAX Pipe

  • From: Michael Kay <mike@saxonica.com>
  • To: Jim Tivy <jimt@bluestream.com>
  • Date: Fri, 14 Jun 2013 00:57:07 +0100

Re:  What Serializer to Use in a Java SAX Pipe
Depends a bit what you are serializing...

If you're writing events from your application (startElement, endElement etc) then I like to use the Stax push API in preference to SAX - it's much easier to use. You can get a serializer that implements the XMLStreamWriter interface from Saxon using

Processor p = new Processor();
Serializer s = p.newSerializer(outputStream);
s.setOutputProperty(property, value);
XMLStreamWriter xsw = s.getStreamWriter();

Michael Kay
Saxonica


On 13 Jun 2013, at 21:11, Jim Tivy wrote:

> Hi Folks
> 
> Related to my serializer question - but different enough for its own post.
> 
> By the way, what do people recommend for a serializer.
> 
> I use the trax type code of:
> 
>         TransformerFactory transFact = this.getTransformerFactory();
>         SAXTransformerFactory saxTFactory = (SAXTransformerFactory)
> transFact;
>         m_tranHandler = saxTFactory.newTransformerHandler();
>         m_transformer = m_tranHandler.getTransformer();
> 
> However for getTransformerFactory()
> 
>      // TransformerFactory transFact = new
> net.sf.saxon.TransformerFactoryImpl();
>      // TransformerFactory transFact = new TransformerFactoryImpl();  //
> gets the JDK built in one - newInstance did not work.
>      //TransformerFactory transFact = TransformerFactory.newInstance();
>      // TransformerFactory transFact =
> TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl",null);
> 
>      TransformerFactory transFact = new
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl();
> 
> I can only get the built in xalan factory working well - might be some other
> requirements I have  - but curious what people are doing there.
> I really don't like reaching into the jdk like that as it is not supported
> 
> Also, is there a way on the serializer to turn off DTD defaulted values
> without wrapping the serializer and using the Attributes.isSpecified?
> 
> Jim
> 
>> -----Original Message-----
>> From: George Cristian Bina [mailto:george@oxygenxml.com]
>> Sent: June-11-13 6:22 AM
>> To: Michael Kay
>> Cc: Jim Tivy; xml-dev@lists.xml.org
>> Subject: Re:  Processing and Serialization of FIXED attributes
>> 
>> Hi Mike,
>> 
>> I think Jim wants this on the serialization part, while -expand:off seems
> to apply
>> to loading a document. He needs the values for processing the document but
>> when the processing is done he does not want to save values that come from
>> the DTD/schema.
>> 
>> Hi Jim,
>> 
>> The values added by the parser that are not present in the XML document
> itself
>> can be identified at SAX level by looking at the isSpecified() property -
> if this is
>> true then the value comes from the document, otherwise the value comes
> from
>> the DTD/schema. See for example:
>> http://xerces.apache.org/xerces2-
>> 
> j/javadocs/api/org/xml/sax/ext/Attributes2.html#isSpecified%28java.lang.Stri
> ng
>> %29
>> 
>> Hope this helps!
>> 
>> Best Regards,
>> George
>> --
>> George Cristian Bina
>> <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
>> http://www.oxygenxml.com
>> 
>> On 6/11/13 10:02 AM, Michael Kay wrote:
>>> Saxon has an option (-expand:off) to suppress the expansion of fixed
>>> attribute values defined in the schema or DTD.
>>> 
>>> Michael Kay
>>> Saxonica
>>> 
>>> On 11 Jun 2013, at 04:47, Jim Tivy wrote:
>>> 
>>>> Hello
>>>> The DITA XML DTD has a number of #FIXED declarations in the DTDs that
>>>> imply fixed values for class attributes.
>>>> When this is processed in SAX and serialized the DITA class
>>>> attributes are also serialized.
>>>> It would be cleaner, for future XML authors to not have to see these
>>>> class attributes inlined into the XML document.
>>>> Do XSLT or other serializers commonly take out FIXED attributes or
>>>> does the infoset mark them so they are not serialized - or is the
>>>> usual form to serialize these.
>>>> Inhttp://www.w3.org/TR/xslt-xquery-serialization-30/#xml-outputit
>>>> states "MAY"
>>>> 
>>>> .  Thereconstructed tree
>>>> <http://www.w3.org/TR/xslt-xquery-serialization-30/#reconstructed-tre
>>>> e>*MAY*contain
>>>> additional attributes and textnodes
>>>> <http://www.w3.org/TR/xslt-xquery-serialization-30/#dt-node>resulting
>>>> from the expansion of default and fixed values in its DTD or schema;
>>>> also, in the presence of a DTD, non-CDATA attributes may lose
>>>> whitespace characters as a result of attribute value normalization.
>>>> 
>>>> My question is, what do most java based implementations of XLST
>>>> processors, SAX processors and associated serializers do with respect
>>>> to inlining or stripping out #FIXED attributes.
>>>> 
>>>> Jim
>>>> 
>>> 
> 
> 
> _______________________________________________________________________
> 
> 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]


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.