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] 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: [xml-dev] 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]


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