Author: desruisseaux
Date: Sun Dec 2 07:28:22 2012
New Revision: 1416127
URL: http://svn.apache.org/viewvc?rev=1416127&view=rev
Log:
Added the GCO sub-package. For now this is only for documentation purpose (in
the hope to help
peoples to see where we are going). Later, concreate classes will be added in
this package.
Added:
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
(with props)
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/package-info.java
(with props)
Added:
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
URL:
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html?rev=1416127&view=auto
==============================================================================
---
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
(added)
+++
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
Sun Dec 2 07:28:22 2012
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>ObjectIdentification</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ </head>
+ <body>
+ <h1>Class ObjectIdentification</h1>
+ <p>The <code>org.apache.sis.internal.jaxb.gco</code> package conceptually
defines two complementary objects:
+ <code>ObjectIdentification</code> and <code>ObjectReference</code>.
However only the later is defined by
+ a Java class, because the former is implicitly defined by the classes
in the public API of SIS.
+ This page contains the information that we would have put in
<code>ObjectIdentification</code> Javadoc
+ is such class existed.</p>
+
+ <h2>Overview</h2>
+ <p>The <code>gco:ObjectIdentification</code> XML attribute group is
implicitly included
+ by all metadata types defined in the
<code>org.apache.sis.metadata.iso</code> packages.
+ The attributes of interest defined in this group are <code>id</code>
and <code>uuid</code>.</p>
+
+ <p>This <code>gco:ObjectIdentification</code> group is complementary to
<code>gco:ObjectReference</code>,
+ which defines the <code>xlink</code> and <code>uuidref</code>
attributes to be supported by all metadata
+ wrappers in the private
<code>org.apache.sis.internal.jaxb.metadata</code> package and sub-packages.</p>
+
+ <h2>Difference between <code>gml:id</code> and <code>gmd:uuid</code></h2>
+ <p>The <a
href="https://www.seegrid.csiro.au/wiki/bin/view/AppSchemas/GmlIdentifiers">GML
identifiers</a> page said:</p>
+ <ul>
+ <li><code>id</code> is a standard <strong>GML</strong> attribute
available on every object-with-identity.
+ It has type=<code>"xs:ID"</code> - i.e. it is a fragment identifier,
unique within document scope only,
+ for internal cross-references. It is not useful by itself as a
persistent unique identifier.</li>
+
+ <li><code>uuid</code> is an optional attribute available on every
object-with-identity, provided in
+ the <strong>GMD</strong> schemas that implement ISO 19115 in XML.
May be used as a persistent
+ unique identifier, but only available within GMD context.</li>
+ </ul>
+
+ <p>However according the <a
href="http://schemas.opengis.net/iso/19139/20070417/gco/gcoBase.xsd">OGC
schema</a>,
+ those identifiers seem to be defined in the GCO schema.</p>
+ </body>
+</html>
Propchange:
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added:
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/package-info.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/package-info.java?rev=1416127&view=auto
==============================================================================
---
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/package-info.java
(added)
+++
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/package-info.java
Sun Dec 2 07:28:22 2012
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Miscellaneous objects and adapters defined in the {@code "gco"} namespace.
+ * For example, a {@link java.lang.String} value has to be marshalled this way:
+ *
+ * {@preformat text
+ * <gco:CharacterString>my text</gco:CharacterString>
+ * }
+ *
+ * In the above example, {@code gco} is the prefix for the {@code
http://www.isotc211.org/2005/gco}
+ * namespace URL.
+ *
+ * <p>This package includes:</p>
+ *
+ * <ul>
+ * <li><p>JAXB adapters for primitive types.
+ * JAXB can write directly Java primitive type at marshalling time "as is".
However ISO-19139
+ * requires those values to be surrounded by elements representing the data
type. The role of
+ * these adapters is to add these elements around the value.</p></li>
+ *
+ * <li><p>JAXB adapters for <cite>unit of measure</cite> as specified in the
ISO-19103
+ * specifications. For example, a measure marshalled with JAXB will be
formatted like
+ * {@code <gco:Measure uom="m">220.0</gco:Measure>}.</p></li>
+ *
+ * <li><p>JAXB adapters for date and time.</p></li>
+ * </ul>
+ *
+ * Classes prefixed by two letters, like {@code "GO_Decimal"}, are also
wrappers around the actual
+ * object to be marshalled. See the {@link
org.geotoolkit.internal.jaxb.metadata} package for more
+ * explanation about wrappers. Note that the two-letters prefixes used in this
package (not to be
+ * confused with the three-letters prefixes used in XML documents) are not
defined by OGC/ISO
+ * specifications; they are used only for consistency with current practice in
+ * {@link org.apache.sis.internal.jaxb.metadata} and similar packages.
+ *
+ * {@section Object identification and reference}
+ * <ul>
+ * <li><p><code>org.apache.sis.<b>metadata.iso</b></code> public packages:
+ * <ul>
+ * <li>Implement the ISO 19139 {@code Foo_Type}, where <var>Foo</var> is
the ISO name of a class.</li>
+ * <li>Contains the {@code gco:ObjectIdentification} group of attributes
({@code id}, {@code uuid}).</li>
+ * <li>Conceptually could have been subclasses of {@code
ObjectIdentification} defined in this package.</li>
+ * </ul></p></li>
+ * <li><p><code>org.apache.sis.<b>internal.jaxb</b></code> private packages:
+ * <ul>
+ * <li>Implement the ISO 19139 {@code Foo_PropertyType} as subclasses of
the {@link org.apache.sis.internal.jaxb.gco.PropertyType} class.</li>
+ * <li>Contains the {@code gco:ObjectReference} group of attributes
({@code xlink}, {@code uuidref}).</li>
+ * <li>Attributes are declared in the {@link
org.apache.sis.internal.jaxb.gco.ObjectReference} Java class.</li>
+ * </ul></p></li>
+ * </ul>
+ *
+ * <p>Those two kinds of types are marshalled as below:</p>
+ *
+ * {@preformat xml
+ * <MD_MetaData>
+ * <property uuidref="â¦">
+ * <Foo_Type uuid="â¦">
+ * ...
+ * </Foo_Type>
+ * </property>
+ * </MD_MetaData>
+ * }
+ *
+ * @author Cédric Briançon (Geomatys)
+ * @author Martin Desruisseaux (Geomatys)
+ * @since 0.3 (derived from geotk-2.5)
+ * @version 0.3
+ * @module
+ *
+ * @see javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter
+ */
+@XmlSchema(elementFormDefault = XmlNsForm.QUALIFIED, namespace =
Namespaces.GCO, xmlns = {
+ @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
+ @XmlNs(prefix = "gmx", namespaceURI = Namespaces.GMX)
+})
+@XmlAccessorType(XmlAccessType.NONE)
+/*
+ * Do NOT define a package-level adapter for InternationalString,
+ * because such adapter shall NOT apply to GO_CharacterString.getAnchor().
+ */
+package org.apache.sis.internal.jaxb.gco;
+
+import javax.xml.bind.annotation.XmlNs;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlSchema;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import org.apache.sis.xml.Namespaces;
Propchange:
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/package-info.java
------------------------------------------------------------------------------
svn:mime-type = text/plain