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 TDWGNamespacePrefixMapper
extends NamespacePrefixMapper
{
16 private static final String RDF_PREFIX
= "rdf";
17 private static final String XML_PREFIX
= "xml";
18 private static final String DC_PREFIX
= "dc";
19 private static final String DCTERMS_PREFIX
= "dcterms";
20 private static final String OWL_PREFIX
= "owl";
21 private static final String TAXONNAME_PREFIX
= "tn";
22 private static final String TAXONCONCEPT_PREFIX
= "tc";
23 private static final String COMMON_PREFIX
= "tcom";
24 private static final String PERSON_PREFIX
= "tp";
25 private static final String TEAM_PREFIX
= "tt";
26 private static final String PUBLICATIONCITATION_PREFIX
= "tpc";
27 private static final String SPECIESPROFILEMODEL_PREFIX
= "spm";
28 private static final String GEOGRAPHICALREGION_PREFIX
= "gr";
29 private static final String OAIPMH_PREFIX
= "oai";
30 private static final String OAIDC_PREFIX
= "oai_dc";
32 public static final String XML_NAMESPACE
= "http://www.w3.org/XML/1998/namespace";
33 public static final String RDF_NAMESPACE
= "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
34 public static final String DC_NAMESPACE
= "http://purl.org/dc/elements/1.1/";
35 public static final String DCTERMS_NAMESPACE
= "http://purl.org/dc/terms/";
36 public static final String OWL_NAMESPACE
= "http://www.w3.org/2002/07/owl#";
37 public static final String TAXONNAME_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/TaxonName#";
38 public static final String TAXONCONCEPT_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/TaxonConcept#";
39 public static final String COMMON_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/Common#";
40 public static final String PERSON_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/Person#";
41 public static final String TEAM_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/Team#";
42 public static final String PUBLICATIONCITATION_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/PublicationCitation#";;
43 public static final String SPECIESPROFILEMODEL_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/SpeciesProfileModel#";
44 public static final String GEOGRAPHICALREGION_NAMESPACE
= "http://rs.tdwg.org/ontology/voc/GeographicRegion#";
45 public static final String OAIPMH_NAMESPACE
= "http://www.openarchives.org/OAI/2.0/";
46 public static final String OAIDC_NAMESPACE
= "http://www.openarchives.org/OAI/2.0/oai_dc/";
48 public String
getPreferredPrefix(String namespaceURI
, String suggestion
, boolean requirePrefix
) {
49 String result
= suggestion
;
52 * Returning empty namespace prefix works if a SAXResult is used, but not
53 * a DOMResult - see http://forums.java.net/jive/thread.jspa?messageID=217155
54 * This has not been resolved yet, as far as I can tell
57 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.RDF_NAMESPACE
)) {
58 return TDWGNamespacePrefixMapper
.RDF_PREFIX
;
61 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.DC_NAMESPACE
)) {
62 return TDWGNamespacePrefixMapper
.DC_PREFIX
;
65 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.DCTERMS_NAMESPACE
)) {
66 return TDWGNamespacePrefixMapper
.DCTERMS_PREFIX
;
69 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.OWL_NAMESPACE
)) {
70 return TDWGNamespacePrefixMapper
.OWL_PREFIX
;
73 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.TAXONNAME_NAMESPACE
)) {
74 return TDWGNamespacePrefixMapper
.TAXONNAME_PREFIX
;
77 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.TEAM_NAMESPACE
)) {
78 return TDWGNamespacePrefixMapper
.TEAM_PREFIX
;
81 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.TAXONCONCEPT_NAMESPACE
)) {
82 return TDWGNamespacePrefixMapper
.TAXONCONCEPT_PREFIX
;
85 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.COMMON_NAMESPACE
)){
86 return TDWGNamespacePrefixMapper
.COMMON_PREFIX
;
89 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.PERSON_NAMESPACE
)) {
90 return TDWGNamespacePrefixMapper
.PERSON_PREFIX
;
93 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.PUBLICATIONCITATION_NAMESPACE
)) {
94 return TDWGNamespacePrefixMapper
.PUBLICATIONCITATION_PREFIX
;
97 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.SPECIESPROFILEMODEL_NAMESPACE
)) {
98 return TDWGNamespacePrefixMapper
.SPECIESPROFILEMODEL_PREFIX
;
101 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.XML_NAMESPACE
)) {
102 return TDWGNamespacePrefixMapper
.XML_PREFIX
;
105 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.GEOGRAPHICALREGION_NAMESPACE
)) {
106 return TDWGNamespacePrefixMapper
.GEOGRAPHICALREGION_PREFIX
;
109 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.OAIPMH_NAMESPACE
)) {
110 return TDWGNamespacePrefixMapper
.OAIPMH_PREFIX
;
113 if(namespaceURI
.equals(TDWGNamespacePrefixMapper
.OAIDC_NAMESPACE
)) {
114 return TDWGNamespacePrefixMapper
.OAIDC_PREFIX
;