Config

[Raku LibXML Project] / [LibXML Module] / Config

class LibXML::Config

LibXML Global configuration

Synopsis

use LibXML::Config;
if  LibXML::Config.have-compression { ... }

Configuration Methods

method version

method version() returns Version

Returns the run-time version of the libxml2 library.

method config-version

method config-version() returns Mu

Returns the version of the libxml2 library that the LibXML module was built against

method have-reader

method have-reader() returns Bool

Returns True if the libxml2 library supports XML Reader (LibXML::Reader) functionality.

method have-schemas

method have-schemas() returns Bool

Returns True if the libxml2 library supports XML Schema (LibXML::Schema) functionality.

method have-threads

method have-threads() returns Bool

Returns True if the libxml2 library supports threads

method have-compression

method have-compression() returns Bool

Returns True if the libxml2 library supports compression

Serialization Default Options

method skip-xml-declaration

method skip-xml-declaration() returns Bool

Whether to omit '<?xml ...>' preamble (default Fallse)

method skip-dtd

method skip-dtd() returns Bool

Whether to omit internal DTDs (default False)

method tag-expansion

method tag-expansion() returns Bool

Whether to output empty tags as '' rather than '' (default False)

method max-errors

method max-errors() returns UInt:D

Maximum errors before throwing a fatal X::LibXML::TooManyErrors

Parsing Default Options

method keep-blanks

method keep-blanks() returns Bool

Keep blank nodes (Default True)

method parser-flags

method parser-flags() returns UInt

Low-level default parser flags (Read-only)

method external-entity-loader

method external-entity-loader() returns Callable

External entity handler to be used when parser expand-entities is set.

The routine provided is called whenever the parser needs to retrieve the content of an external entity. It is called with two arguments: the system ID (URI) and the public ID. The value returned by the subroutine is parsed as the content of the entity.

This method can be used to completely disable entity loading, e.g. to prevent exploits of the type described at (http://searchsecuritychannel.techtarget.com/generic/0,295582,sid97_gci1304703,00.html), where a service is tricked to expose its private data by letting it parse a remote file (RSS feed) that contains an entity reference to a local file (e.g. /etc/fstab).

A more granular solution to this problem, however, is provided by custom URL resolvers, as in

my LibXML::InputCallback $cb .= new;
sub match($uri) {   # accept file:/ URIs except for XML catalogs in /etc/xml/
  my ($uri) = @_;
  ? ($uri ~~ m|^'file:/'}
     and $uri !~~ m|^'file:///etc/xml/'|)
}
sub deny(|c) { }
$cb.register-callbacks(&match, &deny, &deny, &deny);
$parser.input-callbacks($cb);

method input-callbacks

method input-callbacks() returns Mu

Default input callback handlers

See LibXML::InputCallback

Query Handler

method query-handler

method query-handler() returns LibXML::Config::QueryHandler

Default query handler to service querySelector() and querySelectorAll() methods

See LibXML::XPath::Context

Copyright

2001-2007, AxKit.com Ltd.

2002-2006, Christian Glahn.

2006-2009, Petr Pajas.

License

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0 http://www.perlfoundation.org/artistic_license_2_0.

LibXML v0.6.12

Raku bindings to the libxml2 native library

Authors

  • David Warring

License

Artistic-2.0

Dependencies

File::TempMethod::AlsoW3C::DOM:ver<0.0.2+>XML

Test Dependencies

Provides

  • LibXML
  • LibXML::Attr
  • LibXML::Attr::Map
  • LibXML::CDATA
  • LibXML::Comment
  • LibXML::Config
  • LibXML::Dict
  • LibXML::Document
  • LibXML::DocumentFragment
  • LibXML::Dtd
  • LibXML::Dtd::AttrDecl
  • LibXML::Dtd::ElementContent
  • LibXML::Dtd::ElementDecl
  • LibXML::Dtd::Entity
  • LibXML::Dtd::Notation
  • LibXML::Element
  • LibXML::EntityRef
  • LibXML::Enums
  • LibXML::ErrorHandling
  • LibXML::HashMap
  • LibXML::HashMap::Maker
  • LibXML::InputCallback
  • LibXML::Item
  • LibXML::Namespace
  • LibXML::Node
  • LibXML::Node::List
  • LibXML::Node::Set
  • LibXML::PI
  • LibXML::Parser
  • LibXML::Parser::Context
  • LibXML::Pattern
  • LibXML::PushParser
  • LibXML::Raw
  • LibXML::Raw::DOM::Attr
  • LibXML::Raw::DOM::Document
  • LibXML::Raw::DOM::Element
  • LibXML::Raw::DOM::Node
  • LibXML::Raw::Defs
  • LibXML::Raw::Dict
  • LibXML::Raw::HashTable
  • LibXML::Raw::RelaxNG
  • LibXML::Raw::Schema
  • LibXML::Raw::TextReader
  • LibXML::Reader
  • LibXML::RegExp
  • LibXML::RelaxNG
  • LibXML::SAX
  • LibXML::SAX::Builder
  • LibXML::SAX::Handler
  • LibXML::SAX::Handler::SAX2
  • LibXML::SAX::Handler::SAX2::Locator
  • LibXML::SAX::Handler::XML
  • LibXML::Schema
  • LibXML::Text
  • LibXML::Types
  • LibXML::XPath::Context
  • LibXML::XPath::Expression
  • LibXML::XPath::Object
  • LibXML::_CharacterData
  • LibXML::_DomNode
  • LibXML::_Options
  • LibXML::_ParentNode
  • LibXML::_Validator

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.