[Raku LibXML Project] / [LibXML-Writer Module] / Writer
Interface to libxml2 stream writer
method have-writer() returns Bool
Ensure libxml2 has been compiled with the text-writer enabled
method setIndented(
Bool:D(Any):D $indented = Bool::True
) returns UInt
Enable or disable indentation
method setIndentString(
Str:D $indent
) returns UInt
Set indentation text
method setQuoteChar(
Str:D $quote
) returns UInt
Set character for quoting attributes
method startDocument(
Str :$version,
Str:D :$!enc = "UTF-8",
Bool :$standalone
) returns UInt
Starts the document and writes the XML declaration
method endDocument() returns UInt
Closes any open elements or attributes and finishes the document
method startElement(
Str $name where { ... }
) returns UInt
Writes the specified start tag
method startElementNS(
Str $local-name where { ... },
Str :$prefix,
Str :$uri
) returns UInt
Writes the specified start tag and associates it with the given name-space and prefix
method endElement() returns UInt
Closes the current element
method writeAttribute(
Str $name where { ... },
Str $content
) returns UInt
Writes an XML attribute, within an element
method writeAttributeNS(
Str $local-name where { ... },
Str $content,
Str :$prefix,
Str :$uri
) returns UInt
Writes an XML attribute with an associated name-space and prefix, within an element
method writeElement(
Str $name where { ... },
Str $content?
) returns UInt
Writes an atomic element; Either empty or with the given content
method writeElementNS(
Str $local-name where { ... },
Str $content = "",
Str :$prefix,
Str :$uri
) returns UInt
Writes an atomic element with an associated name-space and prefix
method writeComment(
Str:D $content
) returns UInt
Writes an XML comment
method writeText(
Str:D $content
) returns UInt
Writes text content with escaping and encoding
$bytes-written = $writer.writeText: 'A&B'; # output: A&B
method writeCDATA(
Str:D $content
) returns UInt
Writes CDATA formatted text content
$bytes-written = $writer.writeCDATA: 'A&B'; # output: <![CDATA[A&B]]>
multi method writeRaw(
Str:D $content
) returns UInt
Writes a string, with encoding
multi method writeRaw(
Blob[uint8]:D $content,
Int $len where { ... } = Code.new
) returns UInt
Writes a pre-encoded buffer directly
method writePI(
Str $name where { ... },
Str $content
) returns UInt
Writes an XML Processing Instruction
method writeDTD(
Str $name where { ... },
Str :$public-id,
Str :$system-id,
Str :$subset
) returns UInt
Writes an atomic XML DOCTYPE Definition (DTD)
method startDTD(
Str $name where { ... },
Str :$public-id,
Str :$system-id
) returns UInt
Starts 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() returns UInt
Ends an XML DOCTYPE Definition (DTD)
method startDTDElement(
Str $name where { ... }
) returns UInt
Starts an Element definition with an XML DTD
method endDTDElement() returns UInt
Ends an XML DTD element definition
method writeDTDElement(
Str $name where { ... },
Str:D $content = "(EMPTY*)"
) returns UInt
Writes an Element declaration within an XML DTD
method writeDTDAttlist(
Str $name where { ... },
Str $content
) returns UInt
Writes an Attribute List declaration within an XML DTD
method startDTDEntity(
Str $name where { ... },
Int :$pe
) returns UInt
Starts an entity definition within an XML DTD
method endDTDEntity() returns UInt
Ends an XML DTD Entity definition
method writeDTDInternalEntity(
Str $name where { ... },
Str:D $content,
Int :$pe
) returns UInt
Writes an Internal Entity definition within an XML DTD
method writeDTDExternalEntity(
Str $name where { ... },
Str :$public-id,
Str :$system-id,
Str :$ndata,
Int :$pe
) returns UInt
Writes an external entity definition within an XML DTD
method writeDTDNotation(
Str $name where { ... },
Str :$public-id,
Str :$system-id
) returns UInt
Writes a notation definition within an XML DTD
method write(
$ast
) returns UInt
Writes an AST structure
method flush() returns UInt
Flush an buffered XML
method close() returns Mu
Finish writing XML. Flush output and free the native XML Writer