Class NameSpaceSymbTable


  • public class NameSpaceSymbTable
    extends Object
    A stack based Symble Table.
    For speed reasons all the symbols are introduced in the same map, and at the same time in a list so it can be removed when the frame is pop back.
    Author:
    Raul Benito
    • Constructor Detail

      • NameSpaceSymbTable

        public NameSpaceSymbTable()
        Default constractor
    • Method Detail

      • getUnrenderedNodes

        public void getUnrenderedNodes​(Collection result)
        Get all the unrendered nodes in the name space. For Inclusive rendering
        Parameters:
        result - the list where to fill the unrendered xmlns definitions.
      • outputNodePush

        public void outputNodePush()
        Push a frame for visible namespace. For Inclusive rendering.
      • outputNodePop

        public void outputNodePop()
        Pop a frame for visible namespace.
      • push

        public void push()
        Push a frame for a node. Inclusive or Exclusive.
      • pop

        public void pop()
        Pop a frame. Inclusive or Exclusive.
      • getMapping

        public Attr getMapping​(String prefix)
        Gets the attribute node that defines the binding for the prefix.
        Parameters:
        prefix - the prefix to obtain the attribute.
        Returns:
        null if there is no need to render the prefix. Otherwise the node of definition.
      • getMappingWithoutRendered

        public Attr getMappingWithoutRendered​(String prefix)
        Gets a definition without mark it as render. For render in exclusive c14n the namespaces in the include prefixes.
        Parameters:
        prefix - The prefix whose definition is neaded.
        Returns:
        the attr to render, null if there is no need to render
      • addMapping

        public boolean addMapping​(String prefix,
                                  String uri,
                                  Attr n)
        Adds the mapping for a prefix.
        Parameters:
        prefix - the prefix of definition
        uri - the Uri of the definition
        n - the attribute that have the definition
        Returns:
        true if there is already defined.
      • addMappingAndRender

        public Node addMappingAndRender​(String prefix,
                                        String uri,
                                        Attr n)
        Adds a definition and mark it as render. For inclusive c14n.
        Parameters:
        prefix - the prefix of definition
        uri - the Uri of the definition
        n - the attribute that have the definition
        Returns:
        the attr to render, null if there is no need to render
      • addMappingAndRenderXNodeSet

        public Node addMappingAndRenderXNodeSet​(String prefix,
                                                String uri,
                                                Attr n,
                                                boolean outputNode)
        Adds & gets(if needed) the attribute node that defines the binding for the prefix. Take on account if the rules of rendering in the inclusive c14n. For inclusive c14n.
        Parameters:
        prefix - the prefix to obtain the attribute.
        outputNode - the container element is an output element.
        uri - the Uri of the definition
        n - the attribute that have the definition
        Returns:
        null if there is no need to render the prefix. Otherwise the node of definition.