Package org.docx4j.jaxb
Class NamespacePrefixMappings
java.lang.Object
org.docx4j.jaxb.NamespacePrefixMappings
- All Implemented Interfaces:
javax.xml.namespace.NamespaceContext,org.docx4j.org.apache.xml.utils.PrefixResolver
public class NamespacePrefixMappings
extends java.lang.Object
implements javax.xml.namespace.NamespaceContext, org.docx4j.org.apache.xml.utils.PrefixResolver
NamespacePrefixMappings, required for JAXB, and XPath.
The intent is to define the namespace prefix mappings in a
single place.
This class implements NamespaceContext, so it can be used as follows:
XPathFactory factory = XPathFactory.newInstance();
XPath xPath = factory.newXPath();
xPath.setNamespaceContext(new NamespacePrefixMappings());
For JAXB, NamespacePrefixMapper (for RI) and NamespacePrefixMapperSunInternal
(for Java 6) both refer to this class.
- Author:
- jharrop
-
Constructor Summary
Constructors Constructor Description NamespacePrefixMappings() -
Method Summary
Modifier and Type Method Description java.lang.StringgetBaseIdentifier()java.lang.StringgetNamespaceForPrefix(java.lang.String prefix)java.lang.StringgetNamespaceForPrefix(java.lang.String prefix, org.w3c.dom.Node context)java.lang.StringgetNamespaceURI(java.lang.String prefix)protected static java.lang.StringgetNamespaceURIStatic(java.lang.String prefix)static java.lang.StringgetPreferredPrefixStatic(java.lang.String namespaceUri, java.lang.String suggestion, boolean requirePrefix)Returns a preferred prefix for the given namespace URI.java.lang.StringgetPrefix(java.lang.String namespaceURI)java.util.IteratorgetPrefixes(java.lang.String namespaceURI)booleanhandlesNullPrefixes()static voidregisterPrefixMappings(java.lang.String prefixMappings)
-
Constructor Details
-
NamespacePrefixMappings
public NamespacePrefixMappings()
-
-
Method Details
-
getPreferredPrefixStatic
public static java.lang.String getPreferredPrefixStatic(java.lang.String namespaceUri, java.lang.String suggestion, boolean requirePrefix)Returns a preferred prefix for the given namespace URI.- 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.
-
getNamespaceURI
public java.lang.String getNamespaceURI(java.lang.String prefix)- Specified by:
getNamespaceURIin interfacejavax.xml.namespace.NamespaceContext
-
getNamespaceURIStatic
protected static java.lang.String getNamespaceURIStatic(java.lang.String prefix) -
getPrefix
public java.lang.String getPrefix(java.lang.String namespaceURI)- Specified by:
getPrefixin interfacejavax.xml.namespace.NamespaceContext
-
getPrefixes
public java.util.Iterator getPrefixes(java.lang.String namespaceURI)- Specified by:
getPrefixesin interfacejavax.xml.namespace.NamespaceContext
-
registerPrefixMappings
public static void registerPrefixMappings(java.lang.String prefixMappings) -
getNamespaceForPrefix
public java.lang.String getNamespaceForPrefix(java.lang.String prefix)- Specified by:
getNamespaceForPrefixin interfaceorg.docx4j.org.apache.xml.utils.PrefixResolver
-
getNamespaceForPrefix
public java.lang.String getNamespaceForPrefix(java.lang.String prefix, org.w3c.dom.Node context)- Specified by:
getNamespaceForPrefixin interfaceorg.docx4j.org.apache.xml.utils.PrefixResolver
-
getBaseIdentifier
public java.lang.String getBaseIdentifier()- Specified by:
getBaseIdentifierin interfaceorg.docx4j.org.apache.xml.utils.PrefixResolver
-
handlesNullPrefixes
public boolean handlesNullPrefixes()- Specified by:
handlesNullPrefixesin interfaceorg.docx4j.org.apache.xml.utils.PrefixResolver
-