Jericho HTML Parser for Windows Publisher's description
from Martin Jericho
Jericho HTML Parser is a java library allowing analysis and manipulation of parts of an HTML document
Jericho HTML Parser is a java library allowing analysis and manipulation of parts of an HTML document, including server-side tags, while reproducing verbatim any unrecognised or invalid HTML. It also provides high-level HTML form manipulation functions.
It is an open source library released under both the Eclipse Public License (EPL) and GNU Lesser General Public License (LGPL). You are therefore free to use it in commercial applications subject to the terms detailed in either one of these licence documents.
The javadocs provide comprehensive documentation of the entire API, as well as being a very useful reference on aspects of HTML and XML in general.
The library distinguishes itself from other HTML parsers with the following major features:
* The presence of badly formatted HTML does not interfere with the parsing of the rest of the document, which makes the library ideal for use with "real-world" HTML that chokes other parsers.
* ASP, JSP, PSP, PHP and Mason server tags are explicitly recognised by the parser. This means that normal HTML is still parsed properly even if there are server tags inside them, which is common for example when dynamically setting element attributes.
* A new stream based parsing option using the StreamedSource class, which allows memory efficient processing of large files using an event iterator. This is essentially a StAX alternative with the ability to process HTML and non-validating XML, as well as several other features not available in other streaming parsers.
* In its standard form it is neither an event nor tree based parser, but rather uses a combination of simple text search, efficient tag recognition and a tag position cache. The text of the whole source document is first loaded into memory, and then only the relevant segments searched for the relevant characters of each search operation.
* Compared to a tree based parser such as DOM, the memory and resource requirements can be far better if only small sections of the document need to be parsed or modified. Incorrect or badly formatted HTML can easily be ignored, unlike tree based parsers which must identify every node in the document from top to bottom.
* Compared to an event based parser such as SAX, the interface is on a much higher level and more intuitive, and a tree representation of the document element hierarchy is easily created if required.
* The begin and end positions in the source document of all parsed segments are accessible, allowing modification of only selected segments of the document without having to reconstruct the entire document from a tree.
* The row and column number of each position in the source document are easily accessible.
* Provides a simple but comprehensive interface for the analysis and manipulation of HTML form controls, including the extraction and population of initial values, and conversion to read-only or data display modes. Analysis of the form controls also allows data received from the form to be stored and presented in an appropriate manner.
* Custom tag types can be easily defined and registered for recognition by the parser.
* Built-in functionality to extract all text from HTML markup, suitable for feeding into a text search engine such as Apache Lucene.
* Built-in functionality to render HTML markup with simple text formatting.
* Built-in functionality to format HTML source code that indents elements according to their depth in the document element hierarchy. (Click here for an online demonstration)
* Built-in functionality to compact HTML source code by removing all unnecessary white space.
What's New in This Release:Bug Fixes:
В· IllegalCharsetNameException thrown when illegal encoding specified in the document.
В· Potential multithreading bug in Source.getNewLine()
В· NullPointerException when run with stringent java.policy
В· TextExtractor did not include any attribute values.
В· All unterminated character references were decoded regardless of the configuration settings (bug introduced in 3.1).
В· Renderer class - under resulted in new line.
В· SourceFormatter did not handle TEXTAREA elements correctly.
В· No exceptions thrown if invalid charset is specified by server or in source document.
В· Byte order mark character was included in the source document.
В· HTML5 elements added to HTMLElementName and HTMLElements classes.
В· Detects HTML5 character encoding declaration.
В· Uses Windows-1252 as the default 8-bit encoding when available instead of the subset encoding ISO-8859-1.
В· Added Renderer.setIncludeAlternateText(boolean) method.
В· Added Renderer.renderAlternateText(StartTag) method.
В· Added Renderer.setIncludeFi...
System Requirements:No special requirements.
Program Release Status: New Release
Program Install Support: Install and Uninstall