---
name: "RDF::Trine::Node::Literal::XML"
section: "3pm"
platform: "linux"
package: "librdf-trine-node-literal-xml-perl"
version: "0.16-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RDF::Trine::Node::Literal::XML"
---

# RDF::Trine::Node::Literal::XML(3pm)

RDF Node class for XMLLiterals

## NAME

RDF::Trine::Node::Literal::XML - RDF Node class for XMLLiterals

## METHODS

- "new ( $node )"

  - "new ( $string \[ , $lang, $datatype \] )"

  Returns a new XML Literal object. This method can be used in two different ways: It can either be passed a string or an XML::LibXML node.

  In the case of passing a string, this method follows the same API as the RDF::Trine::Node::Literal constructor, but:

  - •

    `$string` must be a well-balanced XML fragment =item \* `$lang` is optional, but if a language code is present it will be used as the value of `"xml:lang"` attribute(s) on the root XML element(s) of the literal. If the element already has an `"xml:lang"` attribute it will be overwritten. For the node types that doesn't support adding a language, text and CData, a warning will be issued. =item \* `$datatype` will be ignored and set to 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'

  In the case of using a XML::LibXML node `$node`, the Node may be one of these types or a subclass thereof:

  - •

    XML::LibXML::Document =item \* XML::LibXML::DocumentFragment =item \* XML::LibXML::Element =item \* XML::LibXML::CDATASection =item \* XML::LibXML::NodeList =item \* XML::LibXML::Text

  If the string is not a valid XML fragment, and the `$node` is not of one of the above types, this method throws a RDF::Trine::Error exception.

- "xml\_element"

  Returns the XML::LibXML node for the XML Literal.

## AUTHOR

First created by Gregory Todd Williams \<gwilliams@cpan.org\>, modfied and maintained by Kjetil Kjernsmo \<kjetilk@cpan.org\>
