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


Reply via email to