Package org.openprovenance.prov.model
Interface NamespacePrefixMapper
-
public interface NamespacePrefixMapper
Namespace and prefix declarations for common namespaces manipulated by ProvToolbox. API to Sun's NamespacePrefixMapper- Author:
- lavm
- See Also:
- JAXB NamespacePrefixMapper
-
-
Field Summary
Fields Modifier and Type Field Description static String
BOOK_NS
static String
BOOK_PREFIX
static String
DOT_NS
static String
DOT_PREFIX
static String
PRINTER_NS
static String
PROV_EXT_NS
static String
PROV_NS
static String
PROV_PREFIX
static String
RDF_NS
static String
RDF_PREFIX
static String
RDFS_NS
static String
RDFS_PREFIX
static String
SHARED_PROV_TOOLBOX_PREFIX
static String
SUMMARY_NS
static String
SUMMARY_PREFIX
static String
TOOLBOX_NS
static String
TOOLBOX_PREFIX
static String
XML_NS
static String
XSD_NS
static String
XSD_PREFIX
static String
XSI_NS
-
Method Summary
Modifier and Type Method Description String[]
getPreDeclaredNamespaceUris()
Returns a list of namespace URIs that should be declared at the root element.String
getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix)
Returns a preferred prefix for the given namespace URI.
-
-
-
Field Detail
-
PROV_EXT_NS
static final String PROV_EXT_NS
- See Also:
- Constant Field Values
-
PROV_NS
static final String PROV_NS
- See Also:
- Constant Field Values
-
XSI_NS
static final String XSI_NS
- See Also:
- Constant Field Values
-
XSD_NS
static final String XSD_NS
- See Also:
- Constant Field Values
-
PRINTER_NS
static final String PRINTER_NS
- See Also:
- Constant Field Values
-
XML_NS
static final String XML_NS
- See Also:
- Constant Field Values
-
PROV_PREFIX
static final String PROV_PREFIX
- See Also:
- Constant Field Values
-
XSD_PREFIX
static final String XSD_PREFIX
- See Also:
- Constant Field Values
-
RDF_NS
static final String RDF_NS
- See Also:
- Constant Field Values
-
RDF_PREFIX
static final String RDF_PREFIX
- See Also:
- Constant Field Values
-
RDFS_NS
static final String RDFS_NS
- See Also:
- Constant Field Values
-
RDFS_PREFIX
static final String RDFS_PREFIX
- See Also:
- Constant Field Values
-
BOOK_PREFIX
static final String BOOK_PREFIX
- See Also:
- Constant Field Values
-
BOOK_NS
static final String BOOK_NS
- See Also:
- Constant Field Values
-
SHARED_PROV_TOOLBOX_PREFIX
static final String SHARED_PROV_TOOLBOX_PREFIX
- See Also:
- Constant Field Values
-
TOOLBOX_NS
static final String TOOLBOX_NS
- See Also:
- Constant Field Values
-
TOOLBOX_PREFIX
static final String TOOLBOX_PREFIX
- See Also:
- Constant Field Values
-
DOT_NS
static final String DOT_NS
- See Also:
- Constant Field Values
-
DOT_PREFIX
static final String DOT_PREFIX
- See Also:
- Constant Field Values
-
SUMMARY_NS
static final String SUMMARY_NS
- See Also:
- Constant Field Values
-
SUMMARY_PREFIX
static final String SUMMARY_PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getPreferredPrefix
String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix)
Returns a preferred prefix for the given namespace URI. This method is intended to be overrided by a derived class.- Parameters:
namespaceUri
- The namespace URI for which the prefix needs to be found. Never be null. "" is used to denote the default namespace.suggestion
- When the content tree has a suggestion for the prefix to the given namespaceUri, that suggestion is passed as a parameter. Typically this value comes from QName.getPrefix() to show the preference of the content tree. This parameter may be null, and this parameter may represent an already occupied prefix.requirePrefix
- If this method is expected to return non-empty prefix. When this flag is true, it means that the given namespace URI cannot be set as the default namespace.- Returns:
- null if there's no preferred prefix for the namespace URI. In this case, the system will generate a prefix for you. Otherwise the system will try to use the returned prefix, but generally there's no guarantee if the prefix will be actually used or not. return "" to map this namespace URI to the default namespace. Again, there's no guarantee that this preference will be honored. If this method returns "" when requirePrefix=true, the return value will be ignored and the system will generate one.
-
getPreDeclaredNamespaceUris
String[] getPreDeclaredNamespaceUris()
Returns a list of namespace URIs that should be declared at the root element.By default, the JAXB RI produces namespace declarations only when they are necessary, only at where they are used. Because of this lack of look-ahead, sometimes the marshaller produces a lot of namespace declarations that look redundant to human eyes. For example,
<xmp> <?xml version="1.0"?> <root> <ns1:child xmlns:ns1="urn:foo"> ... </ns1:child> <ns2:child xmlns:ns2="urn:foo"> ... </ns2:child> <ns3:child xmlns:ns3="urn:foo"> ... </ns3:child> ... </root> </xmp>
If you know in advance that you are going to use a certain set of namespace URIs, you can override this method and have the marshaller declare those namespace URIs at the root element.
For example, by returning
new String[]{"urn:foo"}
, the marshaller will produce:<xmp> <?xml version="1.0"?> <root xmlns:ns1="urn:foo"> <ns1:child> ... </ns1:child> <ns1:child> ... </ns1:child> <ns1:child> ... </ns1:child> ... </root> </xmp>
To control prefixes assigned to those namespace URIs, use the
getPreferredPrefix(java.lang.String, java.lang.String, boolean)
method.- Returns:
- A list of namespace URIs as an array of
String
s. This method can return a length-zero array but not null. None of the array component can be null. To represent the empty namespace, use the empty string""
. - Since:
- JAXB RI 1.0.2
-
-