Hello all
I just started some more "domain specific" commits (not yet merged to
trunk). First, there is an org.apache.sis.internal.simple package [1],
which contains trivial implementation of some GeoAPI objects (for now
only Citation). The OGC/ISO CI_Citation type is used very often in
various corners of the international standards. It is used for example
in order to specify who defined Coordinate Reference System codes.
Because CI_Citation is a metadata object, it will be defined in the
sis-metadata module. However because CI_Citation is used in so many
corners, it will be needed in a few places of sis-utility. So the
org.apache.sis.internal.simple package in sis-utility defines a trivial
implementation where only the title attribute is stored; all other
attributes are null or empty.
I will talk more about the role of CI_Citation in sis-utility later this
week, when I will bring the wider scope of how to manage the various
kind of identifiers in ISO 19139. (Note: ISO 19115 is the international
standard that defines metadata objects. The org.apache.sis.metadata.iso
package will be modelled by this standard. ISO 19139 specifies how to
express ISO 19115 objects in XML).
Next, there is an initial commit of a org.apache.sis.xml package [2].
This package is the proposed main entry point for XML
marshalling/unmarshalling in the Apache SIS library as a whole. I will
talk more on this issue later, as I introduce classes. For now the only
class is Namespaces, which define static String constants for namespaces
frequently used in OGC/ISO standards.
The proposed framework for XML (un)marchalling is based on JAXB for many
objects, but not all. The proposed approach is:
* Use JAXB when the structure of objects is quite complex, but there
is not million of those objects (so performance is not critical).
Metadata typically fall in this category.
* Use SAX parser when the objects are relatively simple, but we may
potentially have million of such objects. Simple geometries like
points typically fall in this category.
Please let me know if you have any comment...
Martin
[1]
https://svn.apache.org/repos/asf/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/simple/
[2]
https://svn.apache.org/repos/asf/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/xml/