Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tm::serializable(3pm) [debian man page]

TM::Serializable(3pm)					User Contributed Perl Documentation				     TM::Serializable(3pm)

NAME
TM::Serializable - Topic Maps, abstract trait for stream (map) based input/output drivers SYNOPSIS
# step 1) you write an input/output driver for a serialized TM format package MyFormat; # provides methods sub deserialize { my $self = shift; # gets current map my $stream = shift; # .... fill the map with content } sub serialize { my $self = shift; # get the map # .... return ... #serialized content } 1; # step 2) construct a subclass of TM using this driver package MapWithMyFormat; use TM; use base qw(TM); use Class::Trait qw(TM::Serializable MyFormat); 1; # step 3) use it in your application my $tm = new MapWithMyFormat (url => 'file:map.myformat'); $tm->sync_in; # uses MyFormat to parse the content from the file DESCRIPTION
This trait implements synchronizable resources using a serialized format. Examples are formats such as AsTMa 1.0, 2.0, LTM, CTM, XTM. The only thing these drivers have to provide are the methods "serialize" and "deserialize" which serialize maps to streams and vice-versa. This trait provides the implementations for "source_in" and "source_out" triggering "deserialize" and "serialize", respectively. INTERFACE
Methods source_in Uses the URL attached to the map object to trigger "deserialize" on the stream content behind the resource. All URLs of LWP are supported. If the URI is "io:stdio" then content from STDIN is consumed. This content can be consumed more than once (it is buffered internally), so that you can read several times from "io:stdin" getting the same input. If the resource URI is "io:stdout", then nothing happens. If the resource URI is "null:", then nothing happens. [Since TM 1.53]: Any additional parameters are passed through to the underlying "deserialize" method. source_out This method triggers "serialize" on the object. The contents will be copied to the resource identified by the URI attached to the object. At the moment, only "file:" URLs and "io:stdout" is supported. If the resource URI is "io:stdin", nothing happens. If the resource URI is "null:", nothing happens. If the resource URI is "inline:.." nothing happens. [Since TM 1.53]: Any additional parameters are passed through to the underlying "serialize" method. SEE ALSO
TM, TM::Synchronizable AUTHOR INFORMATION
Copyright 20(0[2-6]|10), Robert Barta <drrho@cpan.org>, All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. http://www.perl.com/perl/misc/Artistic.html perl v5.10.1 2010-06-05 TM::Serializable(3pm)

Check Out this Related Man Page

TM::Serializable::AsTMa(3pm)				User Contributed Perl Documentation			      TM::Serializable::AsTMa(3pm)

NAME
TM::Serializable::AsTMa - Topic Maps, trait for parsing AsTMa instances. SYNOPSIS
# this is not an end-user package # see the source in TM::Materialized::AsTMa how this can be used DESCRIPTION
This trait provides parsing functionality for AsTMa= instances. AsTMa= is a textual shorthand notation for Topic Map authoring. Currently, AsTMa= 1.3 and the (experimental) AsTMa= 2.0 is supported. AsTMa= 1.3 This follows the specification: <http://astma.it.bond.edu.au/authoring.xsp> with the following constraints/additions: following directives are supported: %cancel Cancels the parse process on this very line and ignores the rest of the AsTMa instance. Useful for debugging faulty maps. There is an appropriate line written to STDERR. %log [ message ] Writes a line to STDERR reporting the line number and an optional message. Useful for debugging. %encoding [ encoding ] Specifies which encoding to use to interpret the following text. This implies that this directive may appear several times to change the encoding. Whether this is a good idea in terms of information management, is a different question. NOTE: If no encoding is provided, utf8 is assumed. %trace integer For debugging purposes you can turn on tracing by specifying an integer level. Level 0 means no tracing, level 1 shows a bit more, and so forth. NOTE: This is not overly developed at the moment, but can be easily extended. A directive can be inserted anywhere in the document but must be at the start of a line. AsTMa= 2.0 It follows the specification on http://astma.it.bond.edu.au/astma=-spec-2.0r1.0.dbk with the following changes: this is work in progress INTERFACE
Methods deserialize This method take a string and tries to parse AsTMa= content from it. It will raise an exception on parse error. On success, it will return the map object. serialize This method serialized the map object into AsTMa notation and returns the resulting string. It will raise an exception if the object contains constructs that AsTMa cannot represent. The result is a standard Perl string, so you may need to force it into a particular encoding. The method understands a number of key/value pair parameters: "version" (default: 1) Which AsTMa version the result should conform to. Currently only version 1 is supported. "omit_trivia" (default: 0) This option suppresses the output of completely naked toplets (toplets without any characteristics). "omit_infrastructure" (default: 1) This option suppresses the output of infrastructure toplets. "omit_provenance" (default: 0) If set, no mentioning of where the content came from is added. "trace" (default: "undef") [v1.54] Switches on tracing in the generated AsTMa code. The trace level can be controlled via the value of this option. SEE ALSO
TM, TM::Serializable AUTHOR INFORMATION
Copyright 200[1-68], Robert Barta <drrho@cpan.org>, Alexander Zangerl <he@does.not.want.his.email.anywhere>, All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. http://www.perl.com/perl/misc/Artistic.html perl v5.10.1 2010-09-06 TM::Serializable::AsTMa(3pm)
Man Page