XTM::LTM 0.37 review

Download
by rbytes.net on

XTM::LTM is a Topic Map Parsing of LTM instances. SYNOPSIS # reading a topic map description from a file/url $ltm = new XT

License: Perl Artistic License
File size: 147K
Developer: Robert Barta
0 stars award from rbytes.net

XTM::LTM is a Topic Map Parsing of LTM instances.

SYNOPSIS

# reading a topic map description from a file/url
$ltm = new XTM::LTM (file => 'mymap.ltm');
$tm = $ltm->sync_in();

This package provides parsing functionality for LTM instances as described in the package documentation (doc directory) or at

http://www.ontopia.net/download/ltm.html

Following clarifications and deviations relative to the LTM specification hold:
comments:

The parser does NOT recognizes nested comments. Any closest following */ sequence terminates a comment.

scope:

Only exactly ONE topic can be specified for a scope, but violations are currently not captured (open issue).

role type:

If a role is not specified, it will remain empty and not - as the specification mandates - will be substituted by the topic type.

The reasons for this are that, first, a topic might have several types (which one to use?), secondly that there might be several topics in a member and thirdly, a role should generally NOT be the type of a member.

This approach would somehow violate the idea of roles in associations, so this should not be encouraged by any tool.

merging:

Merging happens according to the XTM standard. This may affect the item 4 of section 3.2 according to which topics may be merged without error having different subject addresses.

encoding:

Only the encodings supported by the local Text::Iconv module are supported.

BASEURI directive:
Not (yet) implemented.
TOPICMAP directive:
Not implemented.

This directive can give a name to the current topic map. The idea is that this name can be used inside the map to point to the map. An example would be a topic reifying the map.
As the map is a resource (either explicit or via a map expression, XTM::Virtual), there seems to be no good reason to provide an additional name.

MERGEMAP directive:

The HyTime, ISO13250 format is not implemented as there is currently no driver in XTM::base. The strings determining the format are checked case-insensitive, so ASTMA and AsTMa are treated equally.

The location of the map can be defined via any URI handled by LWP::Simple. If no scheme is provided file: will be assumed.

The format string can be omitted. Then the parser will interpret the location string as tau expression (XTM::Virtual).

Requirements:
Perl

XTM::LTM 0.37 keywords