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 CdmNamespacePrefixMapper extends NamespacePrefixMapper {
|
15
|
|
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";
|
27
|
|
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";
|
39
|
|
40
|
public String getPreferredPrefix(String namespaceURI, String suggestion, boolean requirePrefix) {
|
41
|
String result = suggestion;
|
42
|
|
43
|
/**
|
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
|
47
|
*/
|
48
|
|
49
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.CDM_NAMESPACE)) {
|
50
|
return CdmNamespacePrefixMapper.CDM_PREFIX;
|
51
|
}
|
52
|
|
53
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.AGENT_NAMESPACE)) {
|
54
|
return CdmNamespacePrefixMapper.AGENT_PREFIX;
|
55
|
}
|
56
|
|
57
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.COMMON_NAMESPACE)) {
|
58
|
return CdmNamespacePrefixMapper.COMMON_PREFIX;
|
59
|
}
|
60
|
|
61
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.DESCRIPTION_NAMESPACE)) {
|
62
|
return CdmNamespacePrefixMapper.DESCRIPTION_PREFIX;
|
63
|
}
|
64
|
|
65
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.LOCATION_NAMESPACE)) {
|
66
|
return CdmNamespacePrefixMapper.LOCATION_PREFIX;
|
67
|
}
|
68
|
|
69
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.MEDIA_NAMESPACE)) {
|
70
|
return CdmNamespacePrefixMapper.MEDIA_PREFIX;
|
71
|
}
|
72
|
|
73
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.MOLECULAR_NAMESPACE)){
|
74
|
return CdmNamespacePrefixMapper.MOLECULAR_PREFIX;
|
75
|
}
|
76
|
|
77
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.NAME_NAMESPACE)) {
|
78
|
return CdmNamespacePrefixMapper.NAME_PREFIX;
|
79
|
}
|
80
|
|
81
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.OCCURRENCE_NAMESPACE)) {
|
82
|
return CdmNamespacePrefixMapper.OCCURRENCE_PREFIX;
|
83
|
}
|
84
|
|
85
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.REFERENCE_NAMESPACE)) {
|
86
|
return CdmNamespacePrefixMapper.REFERENCE_PREFIX;
|
87
|
}
|
88
|
|
89
|
if(namespaceURI.equals(CdmNamespacePrefixMapper.TAXON_NAMESPACE)) {
|
90
|
return CdmNamespacePrefixMapper.TAXON_PREFIX;
|
91
|
}
|
92
|
|
93
|
return result;
|
94
|
}
|
95
|
|
96
|
}
|