Class FieldConverter


  • public class FieldConverter
    extends ConverterHelper
    This class handles text fields and links in the document. Packages: lastpage, hyperref, titleref, oooref (all optional) TODO: Need proper treatment of "caption" and "text" for sequence references not to figures and tables (should be fairly rare, though)
    • Method Detail

      • appendDeclarations

        public void appendDeclarations​(LaTeXDocumentPortion pack,
                                       LaTeXDocumentPortion decl)

        Append declarations needed by the FieldConverter to the preamble.

        Overrides:
        appendDeclarations in class ConverterHelper
        Parameters:
        pack - the LaTeXDocumentPortion to which declarations of packages should be added (\\usepackage).
        decl - the LaTeXDocumentPortion to which other declarations should be added.
      • handleSequenceDecls

        public void handleSequenceDecls​(org.w3c.dom.Element node)

        Process sequence declarations

        Parameters:
        node - the text:sequence-decls node
      • handleSequence

        public void handleSequence​(org.w3c.dom.Element node,
                                   LaTeXDocumentPortion ldp,
                                   Context oc)

        Process a sequence field (text:sequence tag)

        Parameters:
        node - The element containing the sequence field
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handleSequenceLabel

        public void handleSequenceLabel​(org.w3c.dom.Element node,
                                        LaTeXDocumentPortion ldp)

        Create label for a sequence field (text:sequence tag)

        Parameters:
        node - The element containing the sequence field
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
      • handleSequenceRef

        public void handleSequenceRef​(org.w3c.dom.Element node,
                                      LaTeXDocumentPortion ldp,
                                      Context oc)

        Process a sequence reference (text:sequence-ref tag)

        Parameters:
        node - The element containing the sequence reference
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handleReferenceMarkEnd

        public void handleReferenceMarkEnd​(org.w3c.dom.Element node,
                                           LaTeXDocumentPortion ldp,
                                           Context oc)

        Process a reference mark end (text:reference-mark-end tag)

        Parameters:
        node - The element containing the reference mark
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handleReferenceMark

        public void handleReferenceMark​(org.w3c.dom.Element node,
                                        LaTeXDocumentPortion ldp,
                                        Context oc)

        Process a reference mark (text:reference-mark or text:reference-mark-start tag)

        Parameters:
        node - The element containing the reference mark
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handleReferenceRef

        public void handleReferenceRef​(org.w3c.dom.Element node,
                                       LaTeXDocumentPortion ldp,
                                       Context oc)

        Process a reference (text:reference-ref tag)

        Parameters:
        node - The element containing the reference
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handleBookmark

        public void handleBookmark​(org.w3c.dom.Element node,
                                   LaTeXDocumentPortion ldp,
                                   Context oc)

        Process a bookmark (text:bookmark tag)

        A bookmark may be the target for either a hyperlink or a reference, so this will generate a \\hyperref and/or a \\label

        Parameters:
        node - The element containing the bookmark
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handleBookmarkRef

        public void handleBookmarkRef​(org.w3c.dom.Element node,
                                      LaTeXDocumentPortion ldp,
                                      Context oc)

        Process a bookmark reference (text:bookmark-ref tag).

        Parameters:
        node - The element containing the bookmark reference
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • hasPendingReferenceMarks

        public boolean hasPendingReferenceMarks​(Context oc)
        Do we have any pending reference marks or bookmarks, that may be inserted in this context?
        Parameters:
        oc - the context to verify against
        Returns:
        true if there are pending marks
      • flushReferenceMarks

        public void flushReferenceMarks​(LaTeXDocumentPortion ldp,
                                        Context oc)

        Process pending reference marks and bookmarks (which may have been postponed within sections, captions or verbatim text.

        Parameters:
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handleAnchor

        public void handleAnchor​(org.w3c.dom.Element node,
                                 LaTeXDocumentPortion ldp,
                                 Context oc)

        Process a hyperlink (text:a tag)

        Parameters:
        node - The element containing the hyperlink
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • addTarget

        public void addTarget​(org.w3c.dom.Element node,
                              java.lang.String sSuffix,
                              LaTeXDocumentPortion ldp)

        Add a \\hypertarget

        Parameters:
        node - The element containing the name of the target
        sSuffix - A suffix to be added to the target, e.g. "|table" for a reference to a table.
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
      • addTarget

        public void addTarget​(java.lang.String sName,
                              java.lang.String sSuffix,
                              LaTeXDocumentPortion ldp)

        Add a \\hypertarget

        Parameters:
        sName - The name of the target
        sSuffix - A suffix to be added to the target, e.g. "|table" for a reference to a table.
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
      • handlePageNumber

        public void handlePageNumber​(org.w3c.dom.Element node,
                                     LaTeXDocumentPortion ldp,
                                     Context oc)

        Process a page number field (text:page-number tag)

        Parameters:
        node - The element containing the page number field
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context
      • handlePageCount

        public void handlePageCount​(org.w3c.dom.Element node,
                                    LaTeXDocumentPortion ldp,
                                    Context oc)

        Process a page count field (text:page-count tag)

        Parameters:
        node - The element containing the page count field
        ldp - the LaTeXDocumentPortion to which LaTeX code should be added
        oc - the current context