Writer
[Raku LibXML Project] / [LibXML-Writer Module] / Writer
class LibXML::Writer
Interface to libxml2 stream writer
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 UIntEnable or disable indentation
When indentation is enabled, LibXML::Writer will output each element, followed by a newline and output the indentation text times the current indentation level before writing elements and strings.
The writeText() method does not output an extra new-line, but does output indentation text. You will need to ensure the text is followed by a new-line.
method setIndentString
method setIndentString(
Str:D $indent
) returns UIntSet indentation text
The default is a single space character ' '.
method setQuoteChar
method setQuoteChar(
Str:D $quote
) returns UIntSet character for quoting attributes
Document Methods
method startDocument
method startDocument(
Str :$version,
Str:D :$!enc = "UTF-8",
Bool :$standalone
) returns UIntStarts the document and writes the XML declaration
method endDocument
method endDocument() returns UIntCloses any open elements or attributes and finishes the document
Element Methods
method startElement
method startElement(
Str $name where { ... }
) returns UIntWrites the specified start tag
method startElementNS
method startElementNS(
Str $local-name where { ... },
Str :$prefix,
Str :$uri
) returns UIntWrites the specified start tag and associates it with the given name-space and prefix
method endElement
method endElement() returns UIntCloses the current element
method writeAttribute
method writeAttribute(
Str $name where { ... },
Str $content
) returns UIntWrites an XML attribute, within an element
method writeAttributeNS
method writeAttributeNS(
Str $local-name where { ... },
Str $content,
Str :$prefix,
Str :$uri
) returns UIntWrites an XML attribute with an associated name-space and prefix, within an element
method writeElement
method writeElement(
Str $name where { ... },
Str $content?
) returns UIntWrites 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 UIntWrites an atomic element with an associated name-space and prefix
method writeComment
method writeComment(
Str:D $content
) returns UIntWrites 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 UIntWrites a string, with encoding
multi method writeRaw
multi method writeRaw(
Blob[uint8]:D $content,
Int $len where { ... } = Code.new
) returns UIntWrites a pre-encoded buffer directly
method writePI
method writePI(
Str $name where { ... },
Str $content
) returns UIntWrites an XML Processing Instruction
DTD Methods
method writeDTD
method writeDTD(
Str $name where { ... },
Str :$public-id,
Str :$system-id,
Str :$subset
) returns UIntWrites an atomic XML DOCTYPE Definition (DTD)
method startDTD
method startDTD(
Str $name where { ... },
Str :$public-id,
Str :$system-id
) returns UIntStarts 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 UIntEnds an XML DOCTYPE Definition (DTD)
method startDTDElement
method startDTDElement(
Str $name where { ... }
) returns UIntStarts an Element definition with an XML DTD
method endDTDElement
method endDTDElement() returns UIntEnds an XML DTD element definition
method writeDTDElement
method writeDTDElement(
Str $name where { ... },
Str:D $content = "(EMPTY*)"
) returns UIntWrites an Element declaration within an XML DTD
method writeDTDAttlist
method writeDTDAttlist(
Str $name where { ... },
Str $content
) returns UIntWrites an Attribute List declaration within an XML DTD
method startDTDEntity
method startDTDEntity(
Str $name where { ... },
Int :$pe
) returns UIntStarts an entity definition within an XML DTD
method endDTDEntity
method endDTDEntity() returns UIntEnds an XML DTD Entity definition
method writeDTDInternalEntity
method writeDTDInternalEntity(
Str $name where { ... },
Str:D $content,
Int :$pe
) returns UIntWrites 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 UIntWrites an external entity definition within an XML DTD
method writeDTDNotation
method writeDTDNotation(
Str $name where { ... },
Str :$public-id,
Str :$system-id
) returns UIntWrites a notation definition within an XML DTD
method write
method write(
$ast
) returns UIntWrites an AST structure
method flush
method flush() returns UIntFlush an buffered XML
method close
method close() returns MuFinish writing XML. Flush output and free the native XML Writer