TotalDepth.util.XmlWrite (XML/XHTML/HTML Writer)

Writes XML and XHTML.

exception TotalDepth.util.XmlWrite.ExceptionXml

Exception specialisation for the XML writer.

exception TotalDepth.util.XmlWrite.ExceptionXmlEndElement

Exception specialisation for end of element.

TotalDepth.util.XmlWrite.encodeString(theS, theCharPrefix='_')

Returns a string that is the argument encoded. RFC3548:

                   Table 1: The Base 64 Alphabet
Value Encoding  Value Encoding  Value Encoding  Value Encoding
    0 A            17 R            34 i            51 z
    1 B            18 S            35 j            52 0
    2 C            19 T            36 k            53 1
    3 D            20 U            37 l            54 2
    4 E            21 V            38 m            55 3
    5 F            22 W            39 n            56 4
    6 G            23 X            40 o            57 5
    7 H            24 Y            41 p            58 6
    8 I            25 Z            42 q            59 7
    9 J            26 a            43 r            60 8
   10 K            27 b            44 s            61 9
   11 L            28 c            45 t            62 +
   12 M            29 d            46 u            63 /
   13 N            30 e            47 v
   14 O            31 f            48 w         (pad) =
   15 P            32 g            49 x
   16 Q            33 h            50 y

See section 3 of : http://www.faqs.org/rfcs/rfc3548.html

TotalDepth.util.XmlWrite.decodeString(theS)

Returns a string that is the argument decoded. May raise a TypeError.

TotalDepth.util.XmlWrite.nameFromString(theStr)

Returns a name from a string.

See http://www.w3.org/TR/1999/REC-html401-19991224/types.html#type-cdata

“ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens (“-“), underscores (“_”), colons (“:”), and periods (“.”).

This also works for in namespaces as ‘:’ is not used in the encoding.

class TotalDepth.util.XmlWrite.XmlStream(theFout, theEnc='utf-8', theDtdLocal=None, theId=0)

Creates and maintains an XML output stream.

__init__(theFout, theEnc='utf-8', theDtdLocal=None, theId=0)

Initialise with a writable file like object or a file path.

theFout - The file-like object or a string. If the latter it will be closed on __exit__.

theEnc - The encoding to be used.

theDtdLocal - Any local DTD as a string.

id - An integer value to use as an ID string.

id

A unique ID in this stream. The ID is incremented on each call.

xmlSpacePreserve()

Suspends indentation for this element and its descendants.

characters(theString)

Encodes the string and writes it to the output.

literal(theString)

Writes theString to the output without encoding.

comment(theS)

Writes a comment to the output stream.

pI(theS)

Writes a Processing Instruction to the output stream.

endElement(name)

Ends an element.

writeECMAScript(theScript)

Writes the ECMA script.

Example:

<script type="text/ecmascript">
//<![CDATA[
...
// ]]>
</script>
__enter__()

Context manager support.

__exit__(exc_type, exc_value, traceback)

Context manager support.

__weakref__

list of weak references to the object (if defined)

class TotalDepth.util.XmlWrite.XhtmlStream(theFout, theEnc='utf-8', theDtdLocal=None, theId=0)
__enter__()

Context manager support.

charactersWithBr(sIn)

Writes the string replacing any n characters with <br/> elements.

class TotalDepth.util.XmlWrite.Element(theXmlStream, theElemName, theAttrs=None)

Represents an element in a markup stream.

__init__(theXmlStream, theElemName, theAttrs=None)

Initialize self. See help(type(self)) for accurate signature.

__enter__()

Context manager support.

__weakref__

list of weak references to the object (if defined)

__exit__(excType, excValue, tb)

Context manager support.