Class DocSpec

java.lang.Object
  |
  +--DocSpec

public class DocSpec
extends java.lang.Object

Provides methods for handling a specified document type. For historical reasons, a number of constants and static convenience methods are also defined here.

This class is a bit of of a mess. Perhaps it's ready for a nice makeover?

Version:
$2006-08-19 13:26:57 mdh$
Author:
Malcolm D. Hyman

Inner Class Summary
static class DocSpec.Affix
          Represents a conditional affix.
static class DocSpec.Prefix
          Represents a conditional prefix.
static class DocSpec.PseudoElement
          This inner class represents a pseudoelement in the DocSpec definition.
static class DocSpec.RenderDesc
          Represents texts to be rendered, together with rules describing when rendering is to be supressed.
static class DocSpec.Suffix
          Represents a conditional prefix.
 
Constructor Summary
DocSpec()
           
 
Method Summary
 void addContainer(java.lang.String tagName, java.lang.Integer type)
          Adds a tag that is considered to be a container.
 void addParentApplyFilter(java.lang.String tagName, java.lang.String filter, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds an "apply-filter" spec for a tag on the parent axis.
 void addParentApplyFilterInTree(java.lang.String tagName, java.lang.String filter, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds an "apply-filter" spec for a tag on the parent axis for the tree view.
 void addParentExtraStyle(java.lang.String tagName, javax.swing.text.Style style, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds an "extra-style" spec for a tag on the parent axis.
 void addParentRenderAfter(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-after" spec for a tag on the parent axis.
 void addParentRenderAfterInTree(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-after" spec for a tag on the parent axis for the tree view.
 void addParentRenderBefore(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-before" spec for a tag on the parent axis.
 void addParentRenderBeforeInTree(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-before" spec for a tag on the parent axis for the tree view.
 void addParentUseStyle(java.lang.String tagName, javax.swing.text.Style style, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "style" spec for a tag on the parent axis.
 void addPseudoElement(java.lang.String name, java.lang.String element, java.lang.String attr, java.lang.String value)
          Adds a define for a pseudoelement.
 void addSelfApplyFilter(java.lang.String tagName, java.lang.String filter, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds an "apply-filter" spec for a tag on the self axis.
 void addSelfApplyFilterInTree(java.lang.String tagName, java.lang.String filter, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds an "apply-filter" spec for a tag on the self axis for the tree view.
 void addSelfExtraStyle(java.lang.String tagName, javax.swing.text.Style style, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds an "extra-style" spec for a tag on the self axis.
 void addSelfPrefix(java.lang.String tagName, java.lang.String attr, java.lang.String value, java.lang.String text)
          Adds a conditional prefix on the self axis.
 void addSelfPrefixInTree(java.lang.String tagName, java.lang.String attr, java.lang.String value, java.lang.String text)
          Adds a conditional prefix on the self axis for the tree view.
 void addSelfRenderAfter(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-after" spec for a tag on the self axis.
 void addSelfRenderAfterInTree(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-after" spec for a tag on the self axis for the tree view.
 void addSelfRenderBefore(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-before" spec for a tag on the self axis.
 void addSelfRenderBeforeInTree(java.lang.String tagName, java.lang.String text, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "render-before" spec for a tag on the self axis for the tree view.
 void addSelfSuffix(java.lang.String tagName, java.lang.String attr, java.lang.String value, java.lang.String text)
          Adds a conditional suffix on the self axis.
 void addSelfSuffixInTree(java.lang.String tagName, java.lang.String attr, java.lang.String value, java.lang.String text)
          Adds a conditional suffix on the self axis.
 void addSelfUseStyle(java.lang.String tagName, javax.swing.text.Style style, java.util.Map[] ignoreAfter, java.util.Map[] ignoreBefore, java.util.Map ignoreInParent)
          Adds a "style" spec for a tag on the self axis.
static java.lang.String applyXPath(org.w3c.dom.Document doc, java.lang.String xpath, java.lang.String def)
          Returns text from an XPath query on doc; if the query returns nothing or results in an error, returns def.
static java.lang.String getContents(org.w3c.dom.Element e, java.lang.String tag)
          Returns the contents of the first TEXT_NODE dominated by the first element node of type tag that is a daughter of e.
 java.lang.String getDefaultRenderNodeInTree(org.w3c.dom.Element elem, org.apache.oro.text.perl.Perl5Util perlRE)
          Returns the default rendering for an empty node in the tree, used if no other rendering rules apply.
 javax.swing.text.Style getExtraStyleForElement(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem)
          Returns a style to be used for rendering the additional text generated by "render-before" and "render-after".
 java.util.List getFiltersForTextInElement(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem)
          Returns a filter rule for text within an element, when tags are not to be displayed.
 java.util.List getFiltersForTextInElementInTree(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem)
          Returns a filter rule for text within an element, when tags are not to be displayed.
 java.lang.String getGraphemeSeparatorSymbol()
          Returns the symbol that indicates a grapheme boundary.
 java.lang.String getNodeLang(org.w3c.dom.Node node, java.lang.String defaultLang)
          Returns the language code for a node.
 PageLinkTable getPageLinkTable(org.w3c.dom.Node node, org.w3c.dom.Document doc)
          Returns a PageLinkTable, with the cursor positioned at the current page image.
 java.lang.String getQAuthor()
          Returns the XPath query for "author" metadata/
 java.lang.String getQLang()
          Returns the XPath query for "author" metadata/
 java.lang.String getQLocator()
          Returns the XPath query for "locator" metadata/
 java.lang.String getQTitle()
          Returns the XPath query for "title" metadata/
 java.lang.String getResolvedName(org.w3c.dom.Element e)
          Returns the resolved name for an element: normally this is the same as node.getNodeName(), but it can be overwritten by pseudoelement definitions.
 java.lang.String getResolvedName(org.w3c.dom.Node n)
          Returns the resolved name for an element: normally this is the same as node.getNodeName(), but it can be overwritten by pseudoelement definitions.
 javax.swing.text.Style getStyleForElement(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem)
          Returns a style to be used for rendering the text associated with an element.
 boolean isContainer(org.w3c.dom.Node n)
          Returns true if a node is considered a container.
 boolean isContainer(java.lang.String name)
          Returns true if an element node with the given name is considered to be a container node.
 boolean isGraphemeSeparator(org.w3c.dom.Node n)
          Returns true if a node is considered a grapheme separator.
 boolean isGraphemeSeparator(java.lang.String name)
          Returns true if an element node with the given name is considered to be a grapheme separator node.
 boolean isMetadata(org.w3c.dom.Node n)
          Returns true if a node and its children are considered to be metadata.
 boolean isPageImageTag(org.w3c.dom.Node node)
          Returns true if a node is a page image tag.
 boolean isPseudoContainer(org.w3c.dom.Node n)
          Returns true if a node is considered a pseudo-container.
 boolean isSubcontainer(org.w3c.dom.Node n)
          Returns true if a node is considered a subcontainer.
 boolean isSubcontainer(java.lang.String name)
          Returns true if an element node with the given name is considered to be a subcontainer node.
 boolean isWordSeparator(org.w3c.dom.Node n)
          Returns true if a node is considered a word separator.
 boolean isWordSeparator(java.lang.String name)
          Returns true if an element node with the given name is considered to be a word separator node.
 java.lang.String renderAfterElement(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem, org.apache.oro.text.perl.Perl5Util perlRE)
          Returns rendering after an element, when tags are not to be displayed.
 java.lang.String renderAfterElementInTree(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem, org.apache.oro.text.perl.Perl5Util perlRE)
          Returns rendering after an element, in the rendered tree view.
 java.lang.String renderBeforeElement(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem, org.apache.oro.text.perl.Perl5Util perlRE)
          Returns rendering before an element, when tags are not to be displayed.
 java.lang.String renderBeforeElementInTree(java.lang.String rName, java.lang.String rParentName, java.lang.String left2, java.lang.String left, java.lang.String right, java.lang.String right2, org.w3c.dom.Element elem, org.apache.oro.text.perl.Perl5Util perlRE)
          Returns rendering before an element, in the rendered tree view.
static java.lang.String resolveLang(java.lang.String lang)
          Resolves ISO 639 language codes.
 void setDefaultRenderNodeInTree(java.lang.String render)
          Adds the default rendering rule for a node in the tree.
 void setGraphemeSeparatorSymbol(java.lang.String symbol)
          Sets the symbol that indicates grapheme boundaries in amalgamations (for cuneiform vel sim.).
 void setLangAttr(java.lang.String attr)
          Sets the name of the attribute that encodes language on any tag.
 void setMetadataParent(java.lang.String tagName)
          Sets the name of the node that is the parent of all metadata tags.
 void setPageImageTag(java.lang.String tagName)
          Sets the tag on which XLinks to page images (vel sim.) are to be found.
 void setQAuthor(java.lang.String q)
          Sets the XPath query for "author" metadata.
 void setQLang(java.lang.String q)
          Sets the XPath query for "lang" metadata.
 void setQLocator(java.lang.String q)
          Sets the XPath query for "locator" metadata.
 void setQTitle(java.lang.String q)
          Sets the XPath query for "title" metadata.
 java.lang.String toString()
          Overrides default toString() method (for debugging).
static java.lang.String trim(java.lang.String s)
          This method is like String.trim(), except it only trims whitespace characters that are not space characters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DocSpec

public DocSpec()
Method Detail

setQAuthor

public void setQAuthor(java.lang.String q)
Sets the XPath query for "author" metadata.
Parameters:
q - XPath query

setQTitle

public void setQTitle(java.lang.String q)
Sets the XPath query for "title" metadata.
Parameters:
q - XPath query

setQLocator

public void setQLocator(java.lang.String q)
Sets the XPath query for "locator" metadata.
Parameters:
q - XPath query

setQLang

public void setQLang(java.lang.String q)
Sets the XPath query for "lang" metadata.
Parameters:
q - XPath query

getQAuthor

public java.lang.String getQAuthor()
Returns the XPath query for "author" metadata/
Returns:
XPath query

getQTitle

public java.lang.String getQTitle()
Returns the XPath query for "title" metadata/
Returns:
XPath query

getQLocator

public java.lang.String getQLocator()
Returns the XPath query for "locator" metadata/
Returns:
XPath query

getQLang

public java.lang.String getQLang()
Returns the XPath query for "author" metadata/
Returns:
XPath query

getGraphemeSeparatorSymbol

public java.lang.String getGraphemeSeparatorSymbol()
Returns the symbol that indicates a grapheme boundary.
Returns:
grapheme boundary symbol
See Also:
setGraphemeSeparatorSymbol(java.lang.String)

setMetadataParent

public void setMetadataParent(java.lang.String tagName)
Sets the name of the node that is the parent of all metadata tags.
Parameters:
tagName - element name

setLangAttr

public void setLangAttr(java.lang.String attr)
Sets the name of the attribute that encodes language on any tag.
Parameters:
attr - attribute for language

setPageImageTag

public void setPageImageTag(java.lang.String tagName)
Sets the tag on which XLinks to page images (vel sim.) are to be found.
Parameters:
tagName - element name

setGraphemeSeparatorSymbol

public void setGraphemeSeparatorSymbol(java.lang.String symbol)
Sets the symbol that indicates grapheme boundaries in amalgamations (for cuneiform vel sim.).
Parameters:
symbol - grapheme boundary token

addContainer

public void addContainer(java.lang.String tagName,
                         java.lang.Integer type)
Adds a tag that is considered to be a container.
Parameters:
tagName - element name
type - CONTAINER or SUBCONTAINER

addPseudoElement

public void addPseudoElement(java.lang.String name,
                             java.lang.String element,
                             java.lang.String attr,
                             java.lang.String value)
Adds a define for a pseudoelement.
Parameters:
name - pseudoelement name to define
element - element test
attr - attribute name
value - attribute value test

addSelfRenderBefore

public void addSelfRenderBefore(java.lang.String tagName,
                                java.lang.String text,
                                java.util.Map[] ignoreAfter,
                                java.util.Map[] ignoreBefore,
                                java.util.Map ignoreInParent)
Adds a "render-before" spec for a tag on the self axis.
Parameters:
tagName - element name
text - "render-before" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentRenderBefore

public void addParentRenderBefore(java.lang.String tagName,
                                  java.lang.String text,
                                  java.util.Map[] ignoreAfter,
                                  java.util.Map[] ignoreBefore,
                                  java.util.Map ignoreInParent)
Adds a "render-before" spec for a tag on the parent axis.
Parameters:
tagName - element name
text - "renderbefore" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addSelfRenderAfter

public void addSelfRenderAfter(java.lang.String tagName,
                               java.lang.String text,
                               java.util.Map[] ignoreAfter,
                               java.util.Map[] ignoreBefore,
                               java.util.Map ignoreInParent)
Adds a "render-after" spec for a tag on the self axis.
Parameters:
tagName - element name
text - "render-after" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentRenderAfter

public void addParentRenderAfter(java.lang.String tagName,
                                 java.lang.String text,
                                 java.util.Map[] ignoreAfter,
                                 java.util.Map[] ignoreBefore,
                                 java.util.Map ignoreInParent)
Adds a "render-after" spec for a tag on the parent axis.
Parameters:
tagName - element name
text - "render-after" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addSelfApplyFilter

public void addSelfApplyFilter(java.lang.String tagName,
                               java.lang.String filter,
                               java.util.Map[] ignoreAfter,
                               java.util.Map[] ignoreBefore,
                               java.util.Map ignoreInParent)
Adds an "apply-filter" spec for a tag on the self axis.
Parameters:
tagName - element name
filter - filter rule
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentApplyFilter

public void addParentApplyFilter(java.lang.String tagName,
                                 java.lang.String filter,
                                 java.util.Map[] ignoreAfter,
                                 java.util.Map[] ignoreBefore,
                                 java.util.Map ignoreInParent)
Adds an "apply-filter" spec for a tag on the parent axis.
Parameters:
tagName - element name
filter - filter rule
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addSelfRenderBeforeInTree

public void addSelfRenderBeforeInTree(java.lang.String tagName,
                                      java.lang.String text,
                                      java.util.Map[] ignoreAfter,
                                      java.util.Map[] ignoreBefore,
                                      java.util.Map ignoreInParent)
Adds a "render-before" spec for a tag on the self axis for the tree view.
Parameters:
tagName - element name
text - "render-before" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentRenderBeforeInTree

public void addParentRenderBeforeInTree(java.lang.String tagName,
                                        java.lang.String text,
                                        java.util.Map[] ignoreAfter,
                                        java.util.Map[] ignoreBefore,
                                        java.util.Map ignoreInParent)
Adds a "render-before" spec for a tag on the parent axis for the tree view.
Parameters:
tagName - element name
text - "renderbefore" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addSelfRenderAfterInTree

public void addSelfRenderAfterInTree(java.lang.String tagName,
                                     java.lang.String text,
                                     java.util.Map[] ignoreAfter,
                                     java.util.Map[] ignoreBefore,
                                     java.util.Map ignoreInParent)
Adds a "render-after" spec for a tag on the self axis for the tree view.
Parameters:
tagName - element name
text - "render-after" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentRenderAfterInTree

public void addParentRenderAfterInTree(java.lang.String tagName,
                                       java.lang.String text,
                                       java.util.Map[] ignoreAfter,
                                       java.util.Map[] ignoreBefore,
                                       java.util.Map ignoreInParent)
Adds a "render-after" spec for a tag on the parent axis for the tree view.
Parameters:
tagName - element name
text - "render-after" text
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addSelfApplyFilterInTree

public void addSelfApplyFilterInTree(java.lang.String tagName,
                                     java.lang.String filter,
                                     java.util.Map[] ignoreAfter,
                                     java.util.Map[] ignoreBefore,
                                     java.util.Map ignoreInParent)
Adds an "apply-filter" spec for a tag on the self axis for the tree view.
Parameters:
tagName - element name
filter - filter rule
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentApplyFilterInTree

public void addParentApplyFilterInTree(java.lang.String tagName,
                                       java.lang.String filter,
                                       java.util.Map[] ignoreAfter,
                                       java.util.Map[] ignoreBefore,
                                       java.util.Map ignoreInParent)
Adds an "apply-filter" spec for a tag on the parent axis for the tree view.
Parameters:
tagName - element name
filter - filter rule
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

setDefaultRenderNodeInTree

public void setDefaultRenderNodeInTree(java.lang.String render)
Adds the default rendering rule for a node in the tree.
Parameters:
render - what to render

addSelfUseStyle

public void addSelfUseStyle(java.lang.String tagName,
                            javax.swing.text.Style style,
                            java.util.Map[] ignoreAfter,
                            java.util.Map[] ignoreBefore,
                            java.util.Map ignoreInParent)
Adds a "style" spec for a tag on the self axis.
Parameters:
tagName - element name
style - text style
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentUseStyle

public void addParentUseStyle(java.lang.String tagName,
                              javax.swing.text.Style style,
                              java.util.Map[] ignoreAfter,
                              java.util.Map[] ignoreBefore,
                              java.util.Map ignoreInParent)
Adds a "style" spec for a tag on the parent axis.
Parameters:
tagName - element name
style - text style
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addSelfExtraStyle

public void addSelfExtraStyle(java.lang.String tagName,
                              javax.swing.text.Style style,
                              java.util.Map[] ignoreAfter,
                              java.util.Map[] ignoreBefore,
                              java.util.Map ignoreInParent)
Adds an "extra-style" spec for a tag on the self axis.
Parameters:
tagName - element name
style - extra text style
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addParentExtraStyle

public void addParentExtraStyle(java.lang.String tagName,
                                javax.swing.text.Style style,
                                java.util.Map[] ignoreAfter,
                                java.util.Map[] ignoreBefore,
                                java.util.Map ignoreInParent)
Adds an "extra-style" spec for a tag on the parent axis.
Parameters:
tagName - element name
style - extra text style
ignoreAfter - "ignore-after" maps
ignoreBefore - "ignore-before" maps
ignoreInParent - "ignore-in-parent" maps

addSelfPrefix

public void addSelfPrefix(java.lang.String tagName,
                          java.lang.String attr,
                          java.lang.String value,
                          java.lang.String text)
Adds a conditional prefix on the self axis.
Parameters:
tagName - element name
attr - attribute to test
value - attribute value
text - conditional text

addSelfSuffix

public void addSelfSuffix(java.lang.String tagName,
                          java.lang.String attr,
                          java.lang.String value,
                          java.lang.String text)
Adds a conditional suffix on the self axis.
Parameters:
tagName - element name
attr - attribute to test
value - attribute value
text - conditional text

addSelfPrefixInTree

public void addSelfPrefixInTree(java.lang.String tagName,
                                java.lang.String attr,
                                java.lang.String value,
                                java.lang.String text)
Adds a conditional prefix on the self axis for the tree view.
Parameters:
tagName - element name
attr - attribute to test
value - attribute value
text - conditional text

addSelfSuffixInTree

public void addSelfSuffixInTree(java.lang.String tagName,
                                java.lang.String attr,
                                java.lang.String value,
                                java.lang.String text)
Adds a conditional suffix on the self axis.
Parameters:
tagName - element name
attr - attribute to test
value - attribute value
text - conditional text

toString

public java.lang.String toString()
Overrides default toString() method (for debugging).
Overrides:
toString in class java.lang.Object

isContainer

public boolean isContainer(org.w3c.dom.Node n)
Returns true if a node is considered a container. Any node whose only child is of type TEXT_NODE is automatically a container.
Parameters:
n - DOM node
Returns:
true if considered container

isContainer

public boolean isContainer(java.lang.String name)
Returns true if an element node with the given name is considered to be a container node.
Parameters:
name - name of a DOM element node
Returns:
true if considered container

isPseudoContainer

public boolean isPseudoContainer(org.w3c.dom.Node n)
Returns true if a node is considered a pseudo-container. Any node which is not a container or subcontainer, and whose first child is of type TEXT_NODE is considered a pseudo-container.
Parameters:
n - DOM node
Returns:
true if considered pseudo-container

isSubcontainer

public boolean isSubcontainer(org.w3c.dom.Node n)
Returns true if a node is considered a subcontainer.
Parameters:
n - DOM node
Returns:
true if considered subcontainer

isSubcontainer

public boolean isSubcontainer(java.lang.String name)
Returns true if an element node with the given name is considered to be a subcontainer node.
Parameters:
name - name of a DOM element node
Returns:
true if considered subcontainer

isWordSeparator

public boolean isWordSeparator(org.w3c.dom.Node n)
Returns true if a node is considered a word separator.
Parameters:
n - DOM node
Returns:
true if considered word separator

isWordSeparator

public boolean isWordSeparator(java.lang.String name)
Returns true if an element node with the given name is considered to be a word separator node.
Parameters:
name - name of a DOM element node
Returns:
true if considered word separator

isGraphemeSeparator

public boolean isGraphemeSeparator(java.lang.String name)
Returns true if an element node with the given name is considered to be a grapheme separator node.
Parameters:
name - name of a DOM element node
Returns:
true if considered grapheme separator

isGraphemeSeparator

public boolean isGraphemeSeparator(org.w3c.dom.Node n)
Returns true if a node is considered a grapheme separator.
Parameters:
n - DOM node
Returns:
true if considered grapheme separator

isMetadata

public boolean isMetadata(org.w3c.dom.Node n)
Returns true if a node and its children are considered to be metadata.
Parameters:
n - DOM node
Returns:
true if considered metadata

trim

public static java.lang.String trim(java.lang.String s)
This method is like String.trim(), except it only trims whitespace characters that are not space characters.
Parameters:
s - string to trim

getContents

public static java.lang.String getContents(org.w3c.dom.Element e,
                                           java.lang.String tag)
Returns the contents of the first TEXT_NODE dominated by the first element node of type tag that is a daughter of e. This is a convenience method.
Parameters:
e - element in DOM tree
tag - tag name
Returns:
text contents

getResolvedName

public java.lang.String getResolvedName(org.w3c.dom.Element e)
Returns the resolved name for an element: normally this is the same as node.getNodeName(), but it can be overwritten by pseudoelement definitions.
Parameters:
e - DOM element

getResolvedName

public java.lang.String getResolvedName(org.w3c.dom.Node n)
Returns the resolved name for an element: normally this is the same as node.getNodeName(), but it can be overwritten by pseudoelement definitions.
Parameters:
n - DOM node

renderBeforeElement

public java.lang.String renderBeforeElement(java.lang.String rName,
                                            java.lang.String rParentName,
                                            java.lang.String left2,
                                            java.lang.String left,
                                            java.lang.String right,
                                            java.lang.String right2,
                                            org.w3c.dom.Element elem,
                                            org.apache.oro.text.perl.Perl5Util perlRE)
Returns rendering before an element, when tags are not to be displayed.
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
perlRE - Perl 5 regular expression object
Returns:
text to render before element

renderAfterElement

public java.lang.String renderAfterElement(java.lang.String rName,
                                           java.lang.String rParentName,
                                           java.lang.String left2,
                                           java.lang.String left,
                                           java.lang.String right,
                                           java.lang.String right2,
                                           org.w3c.dom.Element elem,
                                           org.apache.oro.text.perl.Perl5Util perlRE)
Returns rendering after an element, when tags are not to be displayed.
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
perlRE - Perl 5 regular expression object
Returns:
text to render after element

getFiltersForTextInElement

public java.util.List getFiltersForTextInElement(java.lang.String rName,
                                                 java.lang.String rParentName,
                                                 java.lang.String left2,
                                                 java.lang.String left,
                                                 java.lang.String right,
                                                 java.lang.String right2,
                                                 org.w3c.dom.Element elem)
Returns a filter rule for text within an element, when tags are not to be displayed.
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
Returns:
list of filters

renderBeforeElementInTree

public java.lang.String renderBeforeElementInTree(java.lang.String rName,
                                                  java.lang.String rParentName,
                                                  java.lang.String left2,
                                                  java.lang.String left,
                                                  java.lang.String right,
                                                  java.lang.String right2,
                                                  org.w3c.dom.Element elem,
                                                  org.apache.oro.text.perl.Perl5Util perlRE)
Returns rendering before an element, in the rendered tree view.
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
perlRE - Perl 5 regular expression object
Returns:
text to render before element

renderAfterElementInTree

public java.lang.String renderAfterElementInTree(java.lang.String rName,
                                                 java.lang.String rParentName,
                                                 java.lang.String left2,
                                                 java.lang.String left,
                                                 java.lang.String right,
                                                 java.lang.String right2,
                                                 org.w3c.dom.Element elem,
                                                 org.apache.oro.text.perl.Perl5Util perlRE)
Returns rendering after an element, in the rendered tree view.
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
perlRE - Perl 5 regular expression object
Returns:
text to render after element

getFiltersForTextInElementInTree

public java.util.List getFiltersForTextInElementInTree(java.lang.String rName,
                                                       java.lang.String rParentName,
                                                       java.lang.String left2,
                                                       java.lang.String left,
                                                       java.lang.String right,
                                                       java.lang.String right2,
                                                       org.w3c.dom.Element elem)
Returns a filter rule for text within an element, when tags are not to be displayed.
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
Returns:
list of filters

getDefaultRenderNodeInTree

public java.lang.String getDefaultRenderNodeInTree(org.w3c.dom.Element elem,
                                                   org.apache.oro.text.perl.Perl5Util perlRE)
Returns the default rendering for an empty node in the tree, used if no other rendering rules apply.
Parameters:
elem - the context element
perlRE - Perl 5 regular expression object

getStyleForElement

public javax.swing.text.Style getStyleForElement(java.lang.String rName,
                                                 java.lang.String rParentName,
                                                 java.lang.String left2,
                                                 java.lang.String left,
                                                 java.lang.String right,
                                                 java.lang.String right2,
                                                 org.w3c.dom.Element elem)
Returns a style to be used for rendering the text associated with an element.
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
Returns:
style

getExtraStyleForElement

public javax.swing.text.Style getExtraStyleForElement(java.lang.String rName,
                                                      java.lang.String rParentName,
                                                      java.lang.String left2,
                                                      java.lang.String left,
                                                      java.lang.String right,
                                                      java.lang.String right2,
                                                      org.w3c.dom.Element elem)
Returns a style to be used for rendering the additional text generated by "render-before" and "render-after".
Parameters:
rName - resolved name
rParentName - resolved name for parent node
left2 - resolved name for node before previous
left - resolved name for previous node
right - resolved name for next node
right2 - resolved name for node after next
elem - the context element
Returns:
extrastyle

getNodeLang

public java.lang.String getNodeLang(org.w3c.dom.Node node,
                                    java.lang.String defaultLang)
Returns the language code for a node. This is the value of the language attribute for the node or else the value of the language attribute for the nearest node on the ancestor axis. It defaults to mainLang.

For name in a termlist, it is the text below the language node that is sister to name.

Parameters:
node - element node
defaultLang - default language
Returns:
language code as per ISO 639

resolveLang

public static java.lang.String resolveLang(java.lang.String lang)
Resolves ISO 639 language codes. For example, if we don't have special rules for "en-US", return "en".
Parameters:
lang - language code as per ISO 639
Returns:
resolved language code

getPageLinkTable

public PageLinkTable getPageLinkTable(org.w3c.dom.Node node,
                                      org.w3c.dom.Document doc)
Returns a PageLinkTable, with the cursor positioned at the current page image.
Parameters:
node - current location in DOM tree
doc - XML document
Returns:
PageLinkTable

isPageImageTag

public boolean isPageImageTag(org.w3c.dom.Node node)
Returns true if a node is a page image tag.
Parameters:
node - node to be tested
Returns:
true if page image tag

applyXPath

public static java.lang.String applyXPath(org.w3c.dom.Document doc,
                                          java.lang.String xpath,
                                          java.lang.String def)
Returns text from an XPath query on doc; if the query returns nothing or results in an error, returns def.
Parameters:
doc - query document
xpath - XPath query expression
def - default return value