Class HtmlSplitter
java.lang.Object
nl.siegmann.epublib.utilities.HtmlSplitter
Splits up a xhtml document into pieces that are all valid xhtml documents.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StringWriterprivate intprivate intprivate XMLEventWriterprivate XMLEventFactoryprivate XMLOutputFactory -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static intcalculateTotalTagStringLength(List<XMLEvent> xmlEvents) private voidcloseAllTags(List<XMLEvent> xmlEvents) private voidgetHeaderElements(XMLEventReader reader) private static booleanisBodyEndElement(XMLEvent xmlEvent) private static booleanisBodyStartElement(XMLEvent xmlEvent) private voidprocessXmlEvent(XMLEvent xmlEvent, List<List<XMLEvent>> docs) splitHtml(XMLEventReader reader, int maxLength) private voidprivate voidupdateStack(XMLEvent xmlEvent)
-
Field Details
-
xmlEventFactory
-
xmlOutputFactory
-
headerElements
-
elementStack
-
currentDoc
-
currentXmlEvents
-
out
-
maxLength
private int maxLength -
result
-
-
Constructor Details
-
HtmlSplitter
public HtmlSplitter()
-
-
Method Details
-
splitHtml
- Throws:
XMLStreamException
-
calculateTotalTagStringLength
-
splitHtml
public List<List<XMLEvent>> splitHtml(XMLEventReader reader, int maxLength) throws XMLStreamException - Throws:
XMLStreamException
-
closeCurrentDocument
- Throws:
XMLStreamException
-
startNewDocument
- Throws:
XMLStreamException
-
processXmlEvent
private void processXmlEvent(XMLEvent xmlEvent, List<List<XMLEvent>> docs) throws XMLStreamException - Throws:
XMLStreamException
-
closeAllTags
- Throws:
XMLStreamException
-
updateStack
-
getHeaderElements
- Throws:
XMLStreamException
-
isBodyStartElement
-
isBodyEndElement
-