Project

General

Profile

Download (5.66 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
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.
8
*/ 
9

    
10
package eu.etaxonomy.cdm.jaxb;
11

    
12
import com.sun.xml.bind.marshaller.NamespacePrefixMapper;
13

    
14
public class TDWGNamespacePrefixMapper extends NamespacePrefixMapper {
15

    
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 DCTERMS_TDWG_PREFIX = "dwcterms";
21
	private static final String OWL_PREFIX = "owl";
22
	private static final String TAXONNAME_PREFIX = "tn";
23
	private static final String TAXONCONCEPT_PREFIX = "tc";
24
	private static final String COMMON_PREFIX = "tcom";
25
	private static final String PERSON_PREFIX = "tp";
26
	private static final String TEAM_PREFIX = "tt";
27
	private static final String PUBLICATIONCITATION_PREFIX = "tpc";
28
	private static final String SPECIESPROFILEMODEL_PREFIX = "spm";
29
	private static final String GEOGRAPHICALREGION_PREFIX = "gr";
30
	private static final String OAIPMH_PREFIX = "oai";
31
	private static final String OAIDC_PREFIX = "oai_dc";
32
	
33
	private static final String CDM_NAMEINFO_PREFIX = "cdmni";
34
		
35
	public static final String XML_NAMESPACE = "http://www.w3.org/XML/1998/namespace";
36
	public static final String RDF_NAMESPACE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
37
	public static final String DC_NAMESPACE = "http://purl.org/dc/elements/1.1/";
38
	public static final String DCTERMS_NAMESPACE = "http://purl.org/dc/terms/";
39
	public static final String DCTERMS_TDWG_NAMESPACE = "http://rs.tdwg.org/dwc/terms/";
40
	public static final String OWL_NAMESPACE = "http://www.w3.org/2002/07/owl#";
41
	public static final String TAXONNAME_NAMESPACE = "http://rs.tdwg.org/ontology/voc/TaxonName#";
42
	public static final String TAXONCONCEPT_NAMESPACE = "http://rs.tdwg.org/ontology/voc/TaxonConcept#";
43
	public static final String COMMON_NAMESPACE = "http://rs.tdwg.org/ontology/voc/Common#";
44
	public static final String PERSON_NAMESPACE = "http://rs.tdwg.org/ontology/voc/Person#";
45
	public static final String TEAM_NAMESPACE = "http://rs.tdwg.org/ontology/voc/Team#";
46
	public static final String PUBLICATIONCITATION_NAMESPACE = "http://rs.tdwg.org/ontology/voc/PublicationCitation#";;
47
	public static final String SPECIESPROFILEMODEL_NAMESPACE = "http://rs.tdwg.org/ontology/voc/SpeciesProfileModel#";
48
	public static final String GEOGRAPHICALREGION_NAMESPACE = "http://rs.tdwg.org/ontology/voc/GeographicRegion#";
49
	public static final String OAIPMH_NAMESPACE = "http://www.openarchives.org/OAI/2.0/";
50
	public static final String OAIDC_NAMESPACE = "http://www.openarchives.org/OAI/2.0/oai_dc/";
51
	
52
	public static final String CDM_NAMEINFORMATION_NAMESPACE = "http://cybertaxonomy.eu/cdm/ontology/voc/NameInformation#";
53
	
54
	public String getPreferredPrefix(String namespaceURI, String suggestion, boolean requirePrefix) {
55
		String result = suggestion;
56
		
57
		/**
58
		 * Returning empty namespace prefix works if a SAXResult is used, but not
59
		 * a DOMResult - see http://forums.java.net/jive/thread.jspa?messageID=217155
60
		 * This has not been resolved yet, as far as I can tell
61
		 */
62
		
63
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.RDF_NAMESPACE)) {
64
			return TDWGNamespacePrefixMapper.RDF_PREFIX;
65
		}
66
		
67
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.DC_NAMESPACE)) {
68
			return TDWGNamespacePrefixMapper.DC_PREFIX;
69
		}
70
		
71
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.DCTERMS_NAMESPACE)) {
72
			return TDWGNamespacePrefixMapper.DCTERMS_PREFIX;
73
		}
74
		
75
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.DCTERMS_TDWG_NAMESPACE)) {
76
			return TDWGNamespacePrefixMapper.DCTERMS_TDWG_PREFIX;
77
		}
78
		
79
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.OWL_NAMESPACE)) {
80
			return TDWGNamespacePrefixMapper.OWL_PREFIX;
81
		}
82
		
83
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.TAXONNAME_NAMESPACE)) {
84
			return TDWGNamespacePrefixMapper.TAXONNAME_PREFIX;
85
		}
86
		
87
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.TEAM_NAMESPACE)) {
88
			return TDWGNamespacePrefixMapper.TEAM_PREFIX;
89
		}
90
		
91
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.TAXONCONCEPT_NAMESPACE)) {
92
			return TDWGNamespacePrefixMapper.TAXONCONCEPT_PREFIX;
93
		}
94
		
95
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.COMMON_NAMESPACE)){
96
			return TDWGNamespacePrefixMapper.COMMON_PREFIX;
97
		}
98
		
99
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.PERSON_NAMESPACE)) {
100
			return TDWGNamespacePrefixMapper.PERSON_PREFIX;
101
		}
102
		
103
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.PUBLICATIONCITATION_NAMESPACE)) {
104
			return TDWGNamespacePrefixMapper.PUBLICATIONCITATION_PREFIX;
105
		}
106
		
107
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.SPECIESPROFILEMODEL_NAMESPACE)) {
108
			return TDWGNamespacePrefixMapper.SPECIESPROFILEMODEL_PREFIX;
109
		}
110
		
111
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.XML_NAMESPACE)) {
112
			return TDWGNamespacePrefixMapper.XML_PREFIX;
113
		}
114
		
115
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.GEOGRAPHICALREGION_NAMESPACE)) {
116
			return TDWGNamespacePrefixMapper.GEOGRAPHICALREGION_PREFIX;
117
		}
118
		
119
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.OAIPMH_NAMESPACE)) {
120
			return TDWGNamespacePrefixMapper.OAIPMH_PREFIX;
121
		}
122
		
123
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.OAIDC_NAMESPACE)) {
124
			return TDWGNamespacePrefixMapper.OAIDC_PREFIX;
125
		}
126
		
127
		if(namespaceURI.equals(TDWGNamespacePrefixMapper.CDM_NAMEINFORMATION_NAMESPACE)) {
128
			return TDWGNamespacePrefixMapper.CDM_NAMEINFO_PREFIX;
129
		}
130
		
131
		return result;
132
	}
133

    
134
}
(15-15/16)