2 * Copyright (C) 2009 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.jaxb
;
12 import com
.sun
.xml
.bind
.marshaller
.NamespacePrefixMapper
;
14 public class CdmNamespacePrefixMapper
extends NamespacePrefixMapper
{
16 private static final String CDM_PREFIX
= "";
17 private static final String AGENT_PREFIX
= "agent";
18 private static final String COMMON_PREFIX
= "common";
19 private static final String DESCRIPTION_PREFIX
= "description";
20 private static final String LOCATION_PREFIX
= "location";
21 private static final String MEDIA_PREFIX
= "media";
22 private static final String MOLECULAR_PREFIX
= "molecular";
23 private static final String NAME_PREFIX
= "name";
24 private static final String OCCURRENCE_PREFIX
= "occurrence";
25 private static final String REFERENCE_PREFIX
= "reference";
26 private static final String TAXON_PREFIX
= "taxon";
28 public static final String CDM_NAMESPACE
= "http://etaxonomy.eu/cdm/model/1.0";
29 public static final String AGENT_NAMESPACE
= "http://etaxonomy.eu/cdm/model/agent/1.0";
30 public static final String COMMON_NAMESPACE
= "http://etaxonomy.eu/cdm/model/common/1.0";
31 public static final String DESCRIPTION_NAMESPACE
= "http://etaxonomy.eu/cdm/model/description/1.0";
32 public static final String LOCATION_NAMESPACE
= "http://etaxonomy.eu/cdm/model/location/1.0";
33 public static final String MEDIA_NAMESPACE
= "http://etaxonomy.eu/cdm/model/media/1.0";
34 public static final String MOLECULAR_NAMESPACE
= "http://etaxonomy.eu/cdm/model/molecular/1.0";
35 public static final String NAME_NAMESPACE
= "http://etaxonomy.eu/cdm/model/name/1.0";
36 public static final String OCCURRENCE_NAMESPACE
= "http://etaxonomy.eu/cdm/model/occurrence/1.0";
37 public static final String REFERENCE_NAMESPACE
= "http://etaxonomy.eu/cdm/model/reference/1.0";
38 public static final String TAXON_NAMESPACE
= "http://etaxonomy.eu/cdm/model/taxon/1.0";
40 public String
getPreferredPrefix(String namespaceURI
, String suggestion
, boolean requirePrefix
) {
41 String result
= suggestion
;
44 * Returning empty namespace prefix works if a SAXResult is used, but not
45 * a DOMResult - see http://forums.java.net/jive/thread.jspa?messageID=217155
46 * This has not been resolved yet, as far as I can tell
49 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.CDM_NAMESPACE
)) {
50 return CdmNamespacePrefixMapper
.CDM_PREFIX
;
53 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.AGENT_NAMESPACE
)) {
54 return CdmNamespacePrefixMapper
.AGENT_PREFIX
;
57 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.COMMON_NAMESPACE
)) {
58 return CdmNamespacePrefixMapper
.COMMON_PREFIX
;
61 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.DESCRIPTION_NAMESPACE
)) {
62 return CdmNamespacePrefixMapper
.DESCRIPTION_PREFIX
;
65 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.LOCATION_NAMESPACE
)) {
66 return CdmNamespacePrefixMapper
.LOCATION_PREFIX
;
69 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.MEDIA_NAMESPACE
)) {
70 return CdmNamespacePrefixMapper
.MEDIA_PREFIX
;
73 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.MOLECULAR_NAMESPACE
)){
74 return CdmNamespacePrefixMapper
.MOLECULAR_PREFIX
;
77 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.NAME_NAMESPACE
)) {
78 return CdmNamespacePrefixMapper
.NAME_PREFIX
;
81 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.OCCURRENCE_NAMESPACE
)) {
82 return CdmNamespacePrefixMapper
.OCCURRENCE_PREFIX
;
85 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.REFERENCE_NAMESPACE
)) {
86 return CdmNamespacePrefixMapper
.REFERENCE_PREFIX
;
89 if(namespaceURI
.equals(CdmNamespacePrefixMapper
.TAXON_NAMESPACE
)) {
90 return CdmNamespacePrefixMapper
.TAXON_PREFIX
;