Class XmlSerializer

java.lang.Object
org.htmlcleaner.Serializer
org.htmlcleaner.XmlSerializer
Direct Known Subclasses:
BrowserCompactXmlSerializer, CompactXmlSerializer, PrettyXmlSerializer, SimpleXmlSerializer

public abstract class XmlSerializer extends Serializer

Abstract XML serializer - contains common logic for descendants.

  • Field Details

  • Constructor Details

  • Method Details

    • setCreatingHtmlDom

      public void setCreatingHtmlDom(boolean creatingHtmlDom)
      Parameters:
      creatingHtmlDom - the creatingHtmlDom to set
    • isCreatingHtmlDom

      public boolean isCreatingHtmlDom()
      Returns:
      the creatingHtmlDom
    • writeXmlToStream

      @Deprecated public void writeXmlToStream(TagNode tagNode, OutputStream out, String charset) throws IOException
      Deprecated.
      Use writeToStream() instead.
      Throws:
      IOException
    • writeXmlToStream

      @Deprecated public void writeXmlToStream(TagNode tagNode, OutputStream out) throws IOException
      Deprecated.
      Use writeToStream() instead.
      Throws:
      IOException
    • writeXmlToFile

      @Deprecated public void writeXmlToFile(TagNode tagNode, String fileName, String charset) throws IOException
      Deprecated.
      Use writeToFile() instead.
      Throws:
      IOException
    • writeXmlToFile

      @Deprecated public void writeXmlToFile(TagNode tagNode, String fileName) throws IOException
      Deprecated.
      Use writeToFile() instead.
      Throws:
      IOException
    • getXmlAsString

      @Deprecated public String getXmlAsString(TagNode tagNode, String charset)
      Deprecated.
      Use getAsString() instead.
    • getXmlAsString

      @Deprecated public String getXmlAsString(TagNode tagNode)
      Deprecated.
      Use getAsString() instead.
    • writeXml

      @Deprecated public void writeXml(TagNode tagNode, Writer writer, String charset) throws IOException
      Deprecated.
      Use write() instead.
      Throws:
      IOException
    • escapeXml

      protected String escapeXml(String xmlContent)
    • dontEscape

      protected boolean dontEscape(TagNode tagNode)
    • isMinimizedTagSyntax

      protected boolean isMinimizedTagSyntax(TagNode tagNode)
    • serializeOpenTag

      protected void serializeOpenTag(TagNode tagNode, Writer writer) throws IOException
      Throws:
      IOException
    • serializeCData

      protected void serializeCData(CData item, TagNode tagNode, Writer writer) throws IOException
      Serialize a CDATA section. If the context is a script or style tag, and using CDATA for script and style is set to true, then we just write the actual content, as the whole section is wrapped in CDATA tokens. Otherwise we escape the content as if it were regular text.
      Parameters:
      item - the CDATA instance
      tagNode - the TagNode within which the CDATA appears
      writer - the writer to output to
      Throws:
      IOException
    • serializeContentToken

      protected void serializeContentToken(ContentNode item, TagNode tagNode, Writer writer) throws IOException
      Serialize a content token, escaping where necessary.
      Parameters:
      item - the content token to serialize
      tagNode - the TagNode within which the content token appears
      writer - the writer to output to
      Throws:
      IOException
    • serializeOpenTag

      protected void serializeOpenTag(TagNode tagNode, Writer writer, boolean newLine) throws IOException
      Throws:
      IOException
    • isForbiddenTag

      protected boolean isForbiddenTag(TagNode tagNode)
      Parameters:
      tagNode -
      Returns:
      true if the tag is forbidden
    • isHeadOrBody

      protected boolean isHeadOrBody(String tagName)
    • serializeAttribute

      protected void serializeAttribute(TagNode tagNode, Writer writer, String attName, String attValue) throws IOException
      This allows overriding to eliminate forbidden attributes (for example javascript attributes onclick, onblur, etc. )
      Parameters:
      writer -
      attName -
      attValue -
      Throws:
      IOException
    • isForbiddenAttribute

      protected boolean isForbiddenAttribute(TagNode tagNode, String attName, String value)
      Override to add additional conditions.
      Parameters:
      tagNode -
      attName -
      value -
      Returns:
      true if the attribute should not be outputed.
    • serializeEndTag

      protected void serializeEndTag(TagNode tagNode, Writer writer) throws IOException
      Throws:
      IOException
    • serializeEndTag

      protected void serializeEndTag(TagNode tagNode, Writer writer, boolean newLine) throws IOException
      Throws:
      IOException