<?xml version="1.0" encoding="iso-8859-1"?>
<module name="Ft.Xml.Lib.HtmlPrinter">
  <modification-date>2005-04-18 16:47:00</modification-date>
  <abstract>This module supports document serialization in HTML syntax.</abstract>
  <description>Copyright 2005 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/</description>
  <classes>
    <class name="HtmlPrinter" public="yes">
      <bases>
        <base documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
      </bases>
      <abstract>An HtmlPrinter instance provides functions for serializing an XML
or XML-like document to a stream, based on SAX-like event calls
initiated by an instance of Ft.Xml.Lib.Print.PrintVisitor.</abstract>
      <description>The methods in this subclass of XmlPrinter attempt to emit a
document conformant to the HTML 4.01 syntax, with no extra
whitespace added for visual formatting. The degree of correctness
of the output depends on the data supplied in the event calls; no
checks are done for conditions that would result in syntax errors,
such as two attributes with the same name, &quot;--&quot; in a comment, etc.</description>
      <method-resolution-order>
        <base name="HtmlPrinter" module="Ft.Xml.Lib.HtmlPrinter"/>
        <base name="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
      </method-resolution-order>
      <methods name="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter">
        <method public="no" name="__init__" id="HtmlPrinter-__init__">
          <abstract>Creates an HtmlPrinter instance.</abstract>
          <description>stream must be a file-like object open for writing binary
data. encoding specifies the encoding which is to be used for
writing to the stream.</description>
          <arguments>
            <arg name="self"/>
            <arg name="stream"/>
            <arg name="encoding"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
        <method public="yes" name="attribute" id="HtmlPrinter-attribute">
          <abstract>Handles an attribute event.</abstract>
          <description>Extends the overridden method by writing boolean attributes in
minimized form.</description>
          <arguments>
            <arg name="self"/>
            <arg name="elementUri"/>
            <arg name="elementName"/>
            <arg name="name"/>
            <arg name="value"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
        <method public="yes" name="doctype" id="HtmlPrinter-doctype">
          <abstract>Handles a doctype event.</abstract>
          <description>Extends the overridden method by adding support for the case
when there is a publicId and no systemId, which is allowed in
HTML but not in XML.</description>
          <arguments>
            <arg name="self"/>
            <arg name="name"/>
            <arg name="publicId"/>
            <arg name="systemId"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
        <method public="yes" name="endElement" id="HtmlPrinter-endElement">
          <abstract>Handles an endElement event.</abstract>
          <description>Differs from the overridden method in that an end tag is not
generated for certain elements.</description>
          <arguments>
            <arg name="self"/>
            <arg name="namespaceUri"/>
            <arg name="tagName"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
        <method public="yes" name="processingInstruction" id="HtmlPrinter-processingInstruction">
          <abstract>Handles a processingInstruction event.</abstract>
          <description>Differs from the overridden method by writing the tag with
no &quot;?&quot; at the end.</description>
          <arguments>
            <arg name="self"/>
            <arg name="target"/>
            <arg name="data"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
        <method public="yes" name="startDocument" id="HtmlPrinter-startDocument">
          <abstract>Handles a startDocument event.</abstract>
          <description>Differs from the overridden method in that no XML declaration
is written.</description>
          <arguments>
            <arg name="self"/>
            <arg default="'4.0'" name="version"/>
            <arg default="None" name="standalone"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
        <method public="yes" name="startElement" id="HtmlPrinter-startElement">
          <abstract>Handles a startElement event.</abstract>
          <description>Extends the overridden method by disabling output escaping for
the content of certain elements (SCRIPT and STYLE).</description>
          <arguments>
            <arg name="self"/>
            <arg name="namespaceUri"/>
            <arg name="tagName"/>
            <arg name="namespaces"/>
            <arg name="attributes"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
        <method public="yes" name="text" id="HtmlPrinter-text">
          <abstract>Handles a text event.</abstract>
          <description>Extends the overridden method by disabling output escaping if
in the content of certain elements like SCRIPT or STYLE.</description>
          <arguments>
            <arg name="self"/>
            <arg name="data"/>
            <arg default="0" name="disableEscaping"/>
          </arguments>
          <overrides documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter"/>
        </method>
      </methods>
      <members name="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter">
        <member public="yes" name="attrEntitiesApos" id="HtmlPrinter-attrEntitiesApos">
          <value>&lt;cEntityMap&gt;</value>
        </member>
        <member public="yes" name="attrEntitiesQuot" id="HtmlPrinter-attrEntitiesQuot">
          <value>&lt;cEntityMap&gt;</value>
        </member>
        <member public="yes" name="booleanAttributes" id="HtmlPrinter-booleanAttributes">
          <value>{'checked': ['input'], 'compact': ['dl', 'ol', 'ul', 'dir', 'menu', 'li'], 'declare': ['object'], 'defer': ['script'], 'disabled': ['input', 'select', 'optgroup', 'option', 'textarea', 'button'], 'ismap': ['img', 'input'], 'multiple': ['select'], 'nohref': ['area'], 'noresize': ['frame'], 'noshade': ['hr'], ...}</value>
        </member>
        <member public="yes" name="forbiddenEndElements" id="HtmlPrinter-forbiddenEndElements">
          <value>{'area': True, 'base': True, 'basefont': True, 'br': True, 'col': True, 'frame': True, 'hr': True, 'img': True, 'input': True, 'isindex': True, ...}</value>
        </member>
        <member public="yes" name="noEscapeElements" id="HtmlPrinter-noEscapeElements">
          <value>{'script': True, 'style': True}</value>
        </member>
        <member public="yes" name="textEntities" id="HtmlPrinter-textEntities">
          <value>&lt;cEntityMap&gt;</value>
        </member>
        <member public="yes" name="uriAttributes" id="HtmlPrinter-uriAttributes">
          <value>{'action': ['form'], 'background': ['body'], 'cite': ['blockquote', 'del', 'ins', 'q'], 'classid': ['object'], 'codebase': ['applet', 'object'], 'data': ['object'], 'href': ['a', 'area', 'base', 'link'], 'longdesc': ['frame', 'iframe', 'img'], 'profile': ['head'], 'src': ['frame', 'iframe', 'img', 'input', 'script'], ...}</value>
        </member>
      </members>
      <inherited-methods documented="yes" class="XmlPrinter" module="Ft.Xml.Lib.XmlPrinter">
        <member-reference name="cdataSection" public="yes"/>
        <member-reference name="comment" public="yes"/>
        <member-reference name="endDocument" public="yes"/>
        <member-reference name="reset" public="yes"/>
      </inherited-methods>
    </class>
  </classes>
  <globals>
    <global public="yes" name="EMPTY_NAMESPACE" id="EMPTY_NAMESPACE">
      <value>None</value>
    </global>
  </globals>
</module>
