You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Brian Minchau <mi...@ca.ibm.com> on 2004/10/15 07:15:44 UTC

Xalan serializer is now in its own jar !!!




Fellow developers,
just in case you missed that, through the work on JIRA issue XALANJ-1891
the serializer, which is used by Xalan-J interpretive and by XSLTC, has
just cut free is now built into its own serializer.jar. Please open JIRA
issues if you encounter any problems with these changes.

Of course both Xalan-J interpretive and XSLTC depend on this new jar, but
not the other way around.

The work that I did involved:
- serializer having its messages separate from Xalan's messages
- serializer not depending on any other classes in xalan.jar
- new build targets of "serializer.jar" and "serializer-dist" in the
java/build.xml Ant file
- various build.bat, build.sh, build.xml ... using serializer.jar
- serializer parts not built into xalan.jar, or other jars, just into
serializer.jar

The location of the serializer code, in org.apache.xml.serializer has not
changed.

Special thanks to:
- Sarah McNamara for reviewing the build related changes
- Yash Talwar for reviewing the Java changes
- Christine Li for reviewing the Java changes related to the serializer
being part of the JRE

Regards,
XSLT Development, IBM Toronto
e-mail:        minchau@ca.ibm.com
================================================================================

I've also taken this opportunity to lock down the serializer classes,
making them less "public" and less extensible. Locking down the serializer
classes seemed like a good idea, because as a separate jar I think we need
to be much clearer about which are the public APIs and which are "public"
in the Java sense, but are not public APIs.

If there is a problem with a particular class or method being less public
please post a note to xalan-dev or open a JIRA issue. Xalan-J interpretive
and XSLTC use various classes in the serializer which are not public APIs,
but which are still "public" in the Java sense; these classes have been
left "public" but marked internal in the Javadoc.

Virtually all classes are now marked as "for internal use" in the Javadoc
except for these, which have improved Javadoc on their usage and are the
public APIs to use:
- Method ("xml", "html" "text")
- OutputPropertiesFactory (given a method, create default properties to
create or configure a serializer)
- SerializerFactory (given the properties, create a serializer)
- Serializer ( can give SAX events or a DOM to serialize)
- DOMSerializer ( interface to provide an input DOM to serialize)

These classes changed from "public class" to "final class" (no longer
public and no longer extensible):
- AttributesImpl
- CharInfo
- EncodingInfo

This class changed from "public class" to "class" (no longer public)
- WriterToASCI

These classes changed from "public class" to "public final class" (no
longer extensible)
- Encodings
- ToHTMLSAXHandler
- ToHTMLStream
- ToTextSAXHandler
- ToTextStream
- ToUnknownStream
- ToXMLSAXHandler
- ToXMLStream

Numerous other methods/fields were made less public.




---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org