XmlWrite¶
Writes XML and XHTML.
-
class
cpip.util.XmlWrite.
Element
(theXmlStream, theElemName, theAttrs=None)¶ Represents an element in a markup stream.
-
exception
cpip.util.XmlWrite.
ExceptionXml
¶ Exception specialisation for the XML writer.
-
exception
cpip.util.XmlWrite.
ExceptionXmlEndElement
¶ Exception specialisation for end of element.
-
cpip.util.XmlWrite.
RAISE_ON_ERROR
= True¶ Global flag that sets the error behaviour If True then this module may raise an ExceptionXml and that might mask other exceptions. If False no ExceptionXml will be raised but a logging.error(...) will be written. These will not mask other Exceptions.
-
class
cpip.util.XmlWrite.
XmlStream
(theFout, theEnc='utf-8', theDtdLocal=None, theId=0, mustIndent=True)¶ Creates and maintains an XML output stream.
-
characters
(theString)¶ Encodes the string and writes it to the output.
-
comment
(theS, newLine=False)¶ Writes a comment to the output stream.
-
endElement
(name)¶ Ends an element.
-
id
¶ A unique ID in this stream. The ID is incremented on each call.
-
literal
(theString)¶ Writes theString to the output without encoding.
-
pI
(theS)¶ Writes a Processing Instruction to the output stream.
-
startElement
(name, attrs)¶ Opens a named element with attributes.
-
writeCDATA
(theData)¶ Writes a CDATA section.
Example:
-
writeCSS
(theCSSMap)¶ Writes a style sheet as a CDATA section. Expects a dict of dicts.
Example:
-
writeECMAScript
(theScript)¶ Writes the ECMA script.
Example:
-
xmlSpacePreserve
()¶ Suspends indentation for this element and its descendants.
-
-
cpip.util.XmlWrite.
decodeString
(theS)¶ Returns a string that is the argument decoded. May raise a TypeError.
-
cpip.util.XmlWrite.
encodeString
(theS, theCharPrefix='_')¶ Returns a string that is the argument encoded. RFC3548:
See section 3 of : http://www.faqs.org/rfcs/rfc3548.html
-
cpip.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.