<?xml version="1.0" encoding="iso-8859-1"?>
<module name="Ft.Xml.Xslt.XmlWriter">
  <modification-date>2006-04-28 13:54:50</modification-date>
  <abstract>XML writer for XSLT output</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="CdataSectionXmlWriter" public="yes">
      <bases>
        <base documented="yes" class="XmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
      </bases>
      <abstract>Converts character data to CDATA sections if the character data
occurs within an element defined as outputting CDATA sections.</abstract>
      <description/>
      <method-resolution-order>
        <base name="CdataSectionXmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
        <base name="XmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
        <base name="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
      </method-resolution-order>
      <methods name="NullWriter" module="Ft.Xml.Xslt.NullWriter">
        <method public="no" name="__init__" id="CdataSectionXmlWriter-__init__">
          <abstract>outputParams - instance of Ft.Xml.Xslt.OutputParameters.OutputParameters
stream - a stream that takes a byte stream (not a unicode object)</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="outputParams"/>
            <arg name="stream"/>
          </arguments>
          <overrides documented="yes" class="XmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
        </method>
        <method public="yes" name="endElement" id="CdataSectionXmlWriter-endElement">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="tagName"/>
            <arg default="None" name="namespace"/>
          </arguments>
          <overrides documented="yes" class="XmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
        </method>
        <method public="yes" name="startElement" id="CdataSectionXmlWriter-startElement">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="tagName"/>
            <arg default="None" name="namespace"/>
            <arg default="None" name="extraNss"/>
          </arguments>
          <overrides documented="yes" class="XmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
        </method>
        <method public="yes" name="text" id="CdataSectionXmlWriter-text">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="text"/>
            <arg default="True" name="escapeOutput"/>
          </arguments>
          <overrides documented="yes" class="XmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
        </method>
      </methods>
      <inherited-methods documented="yes" class="XmlWriter" module="Ft.Xml.Xslt.XmlWriter">
        <member-reference name="attribute" public="yes"/>
        <member-reference name="changePrefix" public="yes"/>
        <member-reference name="comment" public="yes"/>
        <member-reference name="endDocument" public="yes"/>
        <member-reference name="getStream" public="yes"/>
        <member-reference name="matchesGeneratedPrefix" public="yes"/>
        <member-reference name="namespace" public="yes"/>
        <member-reference name="processingInstruction" public="yes"/>
        <member-reference name="startDocument" public="yes"/>
      </inherited-methods>
      <inherited-members documented="yes" class="XmlWriter" module="Ft.Xml.Xslt.XmlWriter">
        <member-reference name="GENERATED_PREFIX" public="yes"/>
      </inherited-members>
      <inherited-methods documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter">
        <member-reference name="copyNodes" public="yes"/>
        <member-reference name="getMediaType" public="yes"/>
        <member-reference name="getResult" public="yes"/>
      </inherited-methods>
    </class>
    <class name="XmlWriter" public="yes">
      <bases>
        <base documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
      </bases>
      <abstract>Takes events such as those generated by an XSLT processor and
invokes a serializer to produce XML.</abstract>
      <description/>
      <method-resolution-order>
        <base name="XmlWriter" module="Ft.Xml.Xslt.XmlWriter"/>
        <base name="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
      </method-resolution-order>
      <methods name="NullWriter" module="Ft.Xml.Xslt.NullWriter">
        <method public="no" name="__init__" id="XmlWriter-__init__">
          <abstract>outputParams - instance of Ft.Xml.Xslt.OutputParameters.OutputParameters
stream - a stream that takes a byte stream (not a unicode object)</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="outputParams"/>
            <arg name="stream"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="attribute" id="XmlWriter-attribute">
          <abstract>add an attribute to an element</abstract>
          <description>name - the qualified name of the attribute
value - the attribute value: must be Unicode
namespace - must be Unicode or Ft.Xml.EMPTY_NAMESPACE (the default)

Strives for &quot;sanity&quot;.  For brilliant definition thereof, c.f. Joe English
http://lists.xml.org/archives/xml-dev/200204/msg00170.html
Uses terminology from that article
See also discussions starting
http://lists.fourthought.com/pipermail/4suite-dev/2003-March/001294.html
http://lists.fourthought.com/pipermail/4suite-dev/2003-March/001283.html

Note: attribute output is computed as invoked.
This means that the ugly case

attribute(u&quot;foo&quot;, u&quot;bar&quot;, &quot;http://some-ns/&quot;)
attribute(u&quot;x:foo&quot;, u&quot;baz&quot;, &quot;http://some-ns/&quot;)

will result in the ugly
  xmlns:org.4suite.4xslt.ns0=&quot;http://some-ns/&quot;
  org.4suite.4xslt.ns0:foo=&quot;baz&quot;

The user can easily correct this by reversing the
order of the calls</description>
          <arguments>
            <arg name="self"/>
            <arg name="name"/>
            <arg name="value"/>
            <arg default="None" name="namespace"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="changePrefix" id="XmlWriter-changePrefix">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="namespace"/>
            <arg default="False" name="forbidEmpty"/>
          </arguments>
        </method>
        <method public="yes" name="comment" id="XmlWriter-comment">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="body"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="endDocument" id="XmlWriter-endDocument">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="endElement" id="XmlWriter-endElement">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="tagName"/>
            <arg default="None" name="namespace"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="getStream" id="XmlWriter-getStream">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="matchesGeneratedPrefix" id="XmlWriter-matchesGeneratedPrefix">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="prefix"/>
          </arguments>
        </method>
        <method public="yes" name="namespace" id="XmlWriter-namespace">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="prefix"/>
            <arg name="namespace"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="processingInstruction" id="XmlWriter-processingInstruction">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="target"/>
            <arg name="data"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="startDocument" id="XmlWriter-startDocument">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="startElement" id="XmlWriter-startElement">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="tagName"/>
            <arg default="None" name="namespace"/>
            <arg default="None" name="extraNss"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
        <method public="yes" name="text" id="XmlWriter-text">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="text"/>
            <arg default="True" name="escapeOutput"/>
          </arguments>
          <overrides documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter"/>
        </method>
      </methods>
      <members name="NullWriter" module="Ft.Xml.Xslt.NullWriter">
        <member public="yes" name="GENERATED_PREFIX" id="XmlWriter-GENERATED_PREFIX">
          <value>u'org.4suite.4xslt.ns%s'</value>
        </member>
      </members>
      <inherited-methods documented="yes" class="NullWriter" module="Ft.Xml.Xslt.NullWriter">
        <member-reference name="copyNodes" public="yes"/>
        <member-reference name="getMediaType" public="yes"/>
        <member-reference name="getResult" public="yes"/>
      </inherited-methods>
    </class>
  </classes>
  <globals>
    <global public="yes" name="DEFAULT_GENERATED_PREFIX" id="DEFAULT_GENERATED_PREFIX">
      <value>u'org.4suite.4xslt.ns'</value>
    </global>
    <global public="yes" name="EMPTY_NAMESPACE" id="EMPTY_NAMESPACE">
      <value>None</value>
    </global>
    <global public="yes" name="EMPTY_PREFIX" id="EMPTY_PREFIX">
      <value>None</value>
    </global>
    <global public="yes" name="XMLNS_NAMESPACE" id="XMLNS_NAMESPACE">
      <value>u'http://www.w3.org/2000/xmlns/'</value>
    </global>
    <global public="yes" name="XML_NAMESPACE" id="XML_NAMESPACE">
      <value>u'http://www.w3.org/XML/1998/namespace'</value>
    </global>
  </globals>
</module>
