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.