README
class LibXML::Writer
Interface to libxml2 stream writer
use LibXML::Writer::Buffer; # write to a string
Methods
method have-writer
method have-writer() returns BoolEnsure libxml2 has been compiled with the text-writer enabled
Indentation
method setIndented
method setIndented(
Bool:D(Any):D $indented = Bool::True
) returns MuEnable or disable indentation
method setIndentString
method setIndentString(
Str:D $indent
) returns MuSet indentation text
method setQuoteChar
method setQuoteChar(
Str:D $quote
) returns MuSet character for quoting attributes
Document Methods
method startDocument
method startDocument(
Str :$version,
Str:D :$!enc = "UTF-8",
Bool :$standalone
) returns MuStarts the document and writes the XML declaration
method endDocument
method endDocument() returns MuCloses any open elements or attributes and finishes the document
Element Methods
method startElement
method startElement(
Str $name where { ... }
) returns MuWrites the specified start tag
method startElementNS
method startElementNS(
Str $local-name where { ... },
Str :$prefix,
Str :$uri
) returns MuWrites the specified start tag and associates it with the given name-space and prefix
method endElement
method endElement() returns MuCloses the current element
method writeAttribute
method writeAttribute(
Str $name where { ... },
Str $content
) returns MuWrites an XML attribute, within an element
method writeAttributeNS
method writeAttributeNS(
Str $local-name where { ... },
Str $content,
Str :$prefix,
Str :$uri
) returns MuWrites an XML attribute with an associated name-space and prefix, within an element
method writeElement
method writeElement(
Str $name where { ... },
Str $content?
) returns MuWrites an atomic element; Either empty or with the given content
method writeElementNS
method writeElementNS(
Str $local-name where { ... },
Str $content = "",
Str :$prefix,
Str :$uri
) returns MuWrites an atomic element with an associated name-space and prefix
method writeComment
method writeComment(
Str:D $content
) returns MuWrites an XML comment
method writeText
method writeText(
Str:D $content
) returns UIntWrites text content with escaping and encoding
$bytes-written = $writer.writeText: 'A&B'; # output: A&Bmethod writeCDATA
method writeCDATA(
Str:D $content
) returns UIntWrites CDATA formatted text content
$bytes-written = $writer.writeCDATA: 'A&B'; # output: <![CDATA[A&B]]>multi method writeRaw
multi method writeRaw(
Str:D $content
) returns MuWrites a string, with encoding
multi method writeRaw
multi method writeRaw(
Blob[uint8]:D $content,
Int $len where { ... } = Code.new
) returns MuWrites a pre-encoded buffer directly
method writePI
method writePI(
Str $name where { ... },
Str $content
) returns MuWrites an XML Processing Instruction
DTD Methods
method writeDTD
method writeDTD(
Str $name where { ... },
Str :$public-id,
Str :$system-id,
Str :$subset
) returns MuWrites an atomic XML DOCTYPE Definition (DTD)
method startDTD
method startDTD(
Str $name where { ... },
Str :$public-id,
Str :$system-id
) returns MuStarts an XML DOCTYPE Definition (DTD)
The methods below can then be used to add definitions for DTD Elements, Attribute Lists, Entities and Notations, before calling endDTD.
method endDTD
method endDTD() returns MuEnds an XML DOCTYPE Definition (DTD)
method startDTDElement
method startDTDElement(
Str $name where { ... }
) returns MuStarts an Element definition with an XML DTD
method endDTDElement
method endDTDElement() returns MuEnds an XML DTD element definition
method writeDTDElement
method writeDTDElement(
Str $name where { ... },
Str:D $content = "(EMPTY*)"
) returns MuWrites an Element declaration within an XML DTD
method writeDTDAttlist
method writeDTDAttlist(
Str $name where { ... },
Str $content
) returns MuWrites an Attribute List declaration within an XML DTD
method startDTDEntity
method startDTDEntity(
Str $name where { ... },
Int :$pe
) returns MuStarts an entity definition within an XML DTD
method endDTDEntity
method endDTDEntity() returns MuEnds an XML DTD Entity definition
method writeDTDInternalEntity
method writeDTDInternalEntity(
Str $name where { ... },
Str:D $content,
Int :$pe
) returns MuWrites an Internal Entity definition within an XML DTD
method writeDTDExternalEntity
method writeDTDExternalEntity(
Str $name where { ... },
Str :$public-id,
Str :$system-id,
Str :$ndata,
Int :$pe
) returns MuWrites an external entity definition within an XML DTD
method writeDTDNotation
method writeDTDNotation(
Str $name where { ... },
Str :$public-id,
Str :$system-id
) returns MuWrites a notation definition within an XML DTD
method write
method write(
$ast
) returns MuWrite an AST struct
method flush
method flush() returns MuFlush an buffered XML
method close
method close() returns MuFinish writing XML. Flush output and free the native XML Writer