GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  XML::RPC::ENC::LIBXML (3)

.ds Aq ’

NAME

XML::RPC::Enc::LibXML - Encode/decode XML-RPC using LibXML

CONTENTS

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

o 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 preceeded 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@cpan.org>
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 XML::RPC::ENC::LIBXML (3) 2011-10-19

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.