NAME
TBX::XCS - Extract data from an XCS file
VERSION
version 0.05
SYNOPSIS
use TBX::XCS;
my $xcs = TBX::XCS->new(file=>'/path/to/file.xcs');
my $languages = $xcs->get_languages();
my $ref_objects = $xcs->get_ref_objects();
my $data_cats = $xcs->get_data_cats();
DESCRIPTION
This module allows you to extract and edit the information contained in
an XCS file. In the future, it may also be able to serialize the
contained information into a new XCS file.
METHODS
"new"
Creates a new TBX::XCS object.
"parse"
Takes a named argument, either "file" for a filename or "string" for a
string pointer.
This method parses the XCS content given by the specified file or string
pointer. The contents of the XCS can then be accessed via
"get_ref_objects", "get_languages", and "get_data_cats".
"get_languages"
Returns a pointer to a hash containing the languages allowed in the
"langSet xml:lang" attribute, as specified by the XCS "languages"
element. The keys are abbreviations, values the full names of the
languages.
"get_ref_objects"
Returns a pointer to a hash containing the reference objects specified
by the XCS. For example, the XML below:
Foodataname
will yield the following structure:
{ Foo => ['data', 'name'] },
"get_data_cats"
Returns a hash pointer containing the data category specifications. For
example, the XML below:
termanimate inanimate
otherAnimacy
would yield the data structure below:
{
'descrip' =>
[
{
'datatype' => 'noteText',
'datCatId' => 'ISO12620A-0503',
'levels' => ['term'],
'name' => 'context'
},
{
'datatype' => 'noteText',
'levels' => ['langSet', 'termEntry', 'term'],
'name' => 'descripFoo'
}
],
'termNote' => [{
'choices' => ['animate', 'inanimate', 'otherAnimacy'],
'datatype' => 'picklist',
'datCatId' => 'ISO12620A-020204',
'forTermComp' => 'yes',
'name' => 'animacy'
}],
'xref' => [{
'datatype' => 'plainText',
'name' => 'xrefFoo',
'targetType' => 'external'
}]
};
"get_title"
Returns the title of the document, as contained in the title element.
"get_name"
Returns the name of the XCS file, as found in the TBXXCS element.
FUTURE WORK
* extract "datCatDoc"
* extract "refObjectDefSet"
* Setter methods for XCS data
* Print an XCS file
SEE ALSO
The XCS and the TBX specification can be found on GitHub
.
AUTHOR
Nathan Glenn
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Alan K. Melby.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.