XML::RPC::Enc::LibXML - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME SYNOPSIS DESCRIPTION IMPLEMENTED METHODS SEE ALSO AUTHOR
NAME
    XML::RPC::Enc::LibXML - Encode/decode XML-RPC using LibXML

SYNOPSIS
        use XML::RPC::Fast;
        use XML::RPC::Enc::LibXML;

        my $rpc = XML::RPC::Fast->new(
            $uri,
            encoder => XML::RPC::Enc::LibXML->new(
                # internal_encoding currently not implemented, always want wide chars
                internal_encoding => undef,
                external_encoding => 'windows-1251',
            )
        );

        $rpc->registerType( base64 => sub {
            my $node = shift;
            return MIME::Base64::decode($node->textContent);
        });

        $rpc->registerType( 'dateTime.iso8601' => sub {
            my $node = shift;
            return DateTime::Format::ISO8601->parse_datetime($node->textContent);
        });

        $rpc->registerClass( DateTime => sub {
            return ( 'dateTime.iso8601' => $_[0]->strftime('%Y%m%dT%H%M%S.%3N%z') );
        });

        $rpc->registerClass( DateTime => sub {
            my $node = XML::LibXML::Element->new('dateTime.iso8601');
            $node->appendText($_[0]->strftime('%Y%m%dT%H%M%S.%3N%z'));
            return $node;
        });

DESCRIPTION
    Default encoder/decoder for XML::RPC::Fast

    If MIME::Base64 is installed, decoder for "XML-RPC" type "base64" will
    be setup

    If DateTime::Format::ISO8601 is installed, decoder for "XML-RPC" type
    "dateTime.iso8601" will be setup

    Also will be setup by default encoders for Class::Date and DateTime
    (will be encoded as "dateTime.iso8601")

    Ty avoid default decoders setup:

        BEGIN {
            $XML::RPC::Enc::LibXML::TYPES{base64} = 0;
            $XML::RPC::Enc::LibXML::TYPES{'dateTime.iso8601'} = 0;
        }
        use XML::RPC::Enc::LibXML;

IMPLEMENTED METHODS
  new
  request
  response
  fault
  decode
  registerType
  registerClass
SEE ALSO
    *   XML::RPC::Enc

        Base class (also contains documentation)

    Q: What is the legal syntax (and range) for integers? How to deal with
    leading zeros? Is a leading plus sign allowed? How to deal with
    whitespace?

    A: An integer is a 32-bit signed number. You can include a plus or minus
    at the beginning of a string of numeric characters. Leading zeros are
    collapsed. Whitespace is not permitted. Just numeric characters preceded
    by a plus or minus.

    Q: What is the legal syntax (and range) for floating point values
    (doubles)? How is the exponent represented? How to deal with whitespace?
    Can infinity and "not a number" be represented?

    A: There is no representation for infinity or negative infinity or "not
    a number". At this time, only decimal point notation is allowed, a plus
    or a minus, followed by any number of numeric characters, followed by a
    period and any number of numeric characters. Whitespace is not allowed.
    The range of allowable values is implementation-dependent, is not
    specified.

                    # int
                    '+0' => 0
                    '-0' => 0
                    '+1234567' => 1234567
                    '0777' => 777
                    '0000000000000' => 0
                    '0000000000000000000000000000000000000000000000000' => 0
                    # not int
                    '999999999999999999999999999999999999';

COPYRIGHT & LICENSE
    Copyright (c) 2008-2009 Mons Anderson.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

AUTHOR
    Mons Anderson, "<mons AT cpan.org>"


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 08:40 @216.73.217.24 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top