
io.github.oliviercailloux.jaris.xml.package-info Maven / Gradle / Ivy
Show all versions of jaris Show documentation
/**
* A few helper classes to deal with XML, using the
* Document Object
* Model, XSLT, or schema based validation.
*
* The primary intended usage is with XML documents that are supposed to be valid, such as those in
* the class path of a software or sent by web services. As a result, this class adopts the simplest
* possible approach to deal with badly formed documents, by sending unchecked exceptions upon
* encounter, to simplify usage while still failing fast.
*
*
* The API in this package focuses on simplicity and validity of the documents that are produced.
*
*
* As the focus is on simplicity (over flexibility), its use is appropriate if you need to do only
* simple things with your documents and you control the origin of the documents, so that you do not
* need flexible error management.
*
*
* The public API of the classes in this package favors
* {@link javax.xml.transform.stream.StreamSource} (from {@code javax.xml.transform}) to
* {@link org.xml.sax.InputSource} (from {@code org.xml.sax}). Both classes come from the
* {@code java.xml} module, and their APIs are almost identical, the only differences being that
* {@code StreamSource} is part of a hierarchy (as it implements
* {@link javax.xml.transform.Source}), which makes it nicer to use in this context; and that
* {@code InputSource} has an “encoding” parameter, which we do not need. See also
* SO.
*
*
* Exceptions are generally wrapped under {@code XmlException}, but {@code IOExceptions} that are
* not hidden by the underlying APIs are thrown as-is, typically, when the user provides a
* {@code ByteSource}.
*
*/
package io.github.oliviercailloux.jaris.xml;