Class NamespacePrefixMappings

java.lang.Object
org.docx4j.jaxb.NamespacePrefixMappings
All Implemented Interfaces:
NamespaceContext, org.docx4j.org.apache.xml.utils.PrefixResolver

public class NamespacePrefixMappings extends Object implements 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 Details

    • NamespacePrefixMappings

      public NamespacePrefixMappings()
  • Method Details

    • getPreferredPrefixStatic

      public static String getPreferredPrefixStatic(String namespaceUri, 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 String getNamespaceURI(String prefix)
      Specified by:
      getNamespaceURI in interface NamespaceContext
    • getNamespaceURIStatic

      protected static String getNamespaceURIStatic(String prefix)
    • getPrefix

      public String getPrefix(String namespaceURI)
      Specified by:
      getPrefix in interface NamespaceContext
    • getPrefixes

      public Iterator getPrefixes(String namespaceURI)
      Specified by:
      getPrefixes in interface NamespaceContext
    • registerPrefixMappings

      public static void registerPrefixMappings(String prefixMappings)
    • getNamespaceForPrefix

      public String getNamespaceForPrefix(String prefix)
      Specified by:
      getNamespaceForPrefix in interface org.docx4j.org.apache.xml.utils.PrefixResolver
    • getNamespaceForPrefix

      public String getNamespaceForPrefix(String prefix, Node context)
      Specified by:
      getNamespaceForPrefix in interface org.docx4j.org.apache.xml.utils.PrefixResolver
    • getBaseIdentifier

      public String getBaseIdentifier()
      Specified by:
      getBaseIdentifier in interface org.docx4j.org.apache.xml.utils.PrefixResolver
    • handlesNullPrefixes

      public boolean handlesNullPrefixes()
      Specified by:
      handlesNullPrefixes in interface org.docx4j.org.apache.xml.utils.PrefixResolver