LibXML-Writer-raku

[Raku LibXML Project] / [LibXML-Writer Module] / Writer

class LibXML::Writer

Interface to libxml2 stream writer

Methods

method have-writer

method have-writer() returns Bool

Ensure libxml2 has been compiled with the text-writer enabled

Indentation

method setIndented

method setIndented(
    Bool:D(Any):D $indented = Bool::True
) returns UInt

Enable or disable indentation

method setIndentString

method setIndentString(
    Str:D $indent
) returns UInt

Set indentation text

method setQuoteChar

method setQuoteChar(
    Str:D $quote
) returns UInt

Set character for quoting attributes

Document Methods

method startDocument

method startDocument(
    Str :$version,
    Str:D :$!enc = "UTF-8",
    Bool :$standalone
) returns UInt

Starts the document and writes the XML declaration

method endDocument

method endDocument() returns UInt

Closes any open elements or attributes and finishes the document

Element Methods

method startElement

method startElement(
    Str $name where { ... }
) returns UInt

Writes the specified start tag

method startElementNS

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

method endElement() returns UInt

Closes the current element

method writeAttribute

method writeAttribute(
    Str $name where { ... },
    Str $content
) returns UInt

Writes an XML attribute, within an element

method writeAttributeNS

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

method writeElement(
    Str $name where { ... },
    Str $content?
) returns UInt

Writes 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 UInt

Writes an atomic element with an associated name-space and prefix

method writeComment

method writeComment(
    Str:D $content
) returns UInt

Writes an XML comment

method writeText

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

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

multi method writeRaw(
    Str:D $content
) returns UInt

Writes a string, with encoding

multi method writeRaw

multi method writeRaw(
    Blob[uint8]:D $content,
    Int $len where { ... } = Code.new
) returns UInt

Writes a pre-encoded buffer directly

method writePI

method writePI(
    Str $name where { ... },
    Str $content
) returns UInt

Writes an XML Processing Instruction

DTD Methods

method writeDTD

method writeDTD(
    Str $name where { ... },
    Str :$public-id,
    Str :$system-id,
    Str :$subset
) returns UInt

Writes an atomic XML DOCTYPE Definition (DTD)

method startDTD

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

method endDTD() returns UInt

Ends an XML DOCTYPE Definition (DTD)

method startDTDElement

method startDTDElement(
    Str $name where { ... }
) returns UInt

Starts an Element definition with an XML DTD

method endDTDElement

method endDTDElement() returns UInt

Ends an XML DTD element definition

method writeDTDElement

method writeDTDElement(
    Str $name where { ... },
    Str:D $content = "(EMPTY*)"
) returns UInt

Writes an Element declaration within an XML DTD

method writeDTDAttlist

method writeDTDAttlist(
    Str $name where { ... },
    Str $content
) returns UInt

Writes an Attribute List declaration within an XML DTD

method startDTDEntity

method startDTDEntity(
    Str $name where { ... },
    Int :$pe
) returns UInt

Starts an entity definition within an XML DTD

method endDTDEntity

method endDTDEntity() returns UInt

Ends an XML DTD Entity definition

method writeDTDInternalEntity

method writeDTDInternalEntity(
    Str $name where { ... },
    Str:D $content,
    Int :$pe
) returns UInt

Writes 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 UInt

Writes an external entity definition within an XML DTD

method writeDTDNotation

method writeDTDNotation(
    Str $name where { ... },
    Str :$public-id,
    Str :$system-id
) returns UInt

Writes a notation definition within an XML DTD

method write

method write(
    $ast
) returns UInt

Writes an AST structure

method flush

method flush() returns UInt

Flush an buffered XML

method close

method close() returns Mu

Finish writing XML. Flush output and free the native XML Writer