sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1416127 - in /sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco: ./ ObjectIdentification.html package-info.java
Date Sun, 02 Dec 2012 07:28:23 GMT
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



Mime
View raw message