Coder Social home page Coder Social logo

tbx-min's Introduction

NAME
    TBX::Min - Read, write and edit TBX-Min files

VERSION
    version 0.06

SYNOPSIS
        use TBX::Min;
        my $min = TBX::Min->new('/path/to/file.tbx');
        my $entries = $min->entries;
        my $entry = TBX::Min::Entry->new({id => 'B001'});
        $min->add_entry($entry);

DESCRIPTION
    This module allows you to read, write and edit the contents of TBX-Min
    data.

    "use"ing this module also automatically "use"s TBX::Min::Entry,
    TBX::Min::LangGroup, and TBX::Min::TermGroup via Import::Into.
    LangGroups contain TermGroups, Entries contain LangGroups, and this
    class contains Entries. These correspond to the three levels of
    information found in TML. You can build up TBX::Min documents this way
    and then print them via "as_xml". You can also read an entire TBX-Min
    XML document for editing via "new_from_xml".

TBX-Min
    TBX-Min is a minimal, DCT-style dialect of TBX. It's purpose is to
    represent extremely simple termbases, such as spreadsheets, and to be as
    human eye-friendly as possible. TBX-Min did not evolve from any other
    XML dialect, and so does not have historical artifacts such as "martif".

    DCT stands for "Data Category as Tag Name". Whereas in most TBX dialects
    categories such as "partOfSpeech" are indicated through attributes, in
    TBX-Min the tag names represent categories. This makes for a very
    readable document. While TBX-Min documents do conform to TML
    (Terminological Markup Language) structure, DCT documents cannot be
    checked by the TBX-Checker <https://sourceforge.net/projects/tbxutil/>.

    If you need more complex or information-rich termbases, we suggest you
    use TBX-Basic or even TBX-Default. If you have a TBX-Min document and
    would like to upgrade it to TBX-Basic, see Convert::TBX::Min.
    Alternatively if you would like to change your TBX-Basic to TBX-Min, see
    Convert::TBX::Basic.

METHODS
  "new_from_xml"
    Creates a new instance of TBX::Min. The single argument should be either
    a string pointer containing the TBX-Min XML data or the name of the file
    containing this data is required.

  "new"
    Creates a new "TBX::Min" instance. Optionally you may pass in a hash
    reference which is used to initialize the object. The allowed hash
    fields are "id", "description", "date_created", "creator", "license",
    "directionality", "source_lang" and "target_lang", which correspond to
    methods of the same name, and "entries", which should be an array
    reference containing "TBX::Min::Entry" objects. This method croaks if
    "date_created" is not in ISO 8601 format.

  "id"
    Get or set the document id. This should be a unique string identifying
    this glossary.

  "description"
    Get or set the document description.

  "date_created"
    Get or set the the date that the document was created. This should be a
    string in ISO 8601 format. This method croaks if "date_created" is not
    in ISO 8601 format.

  "creator"
    Get or set the name of the document creator.

  "license"
    Get or set the document license string.

  "directionality"
    Get or set the document directionality string. This string represents
    the direction of translation this document is designed for.

  "source_lang"
    Get or set the code representing the document source language. This
    should be ISO 639 and 3166 (e.g. "en-US", "de", etc.).

  "target_lang"
    Get or set the code representing the document target language. This
    should be ISO 639 and 3166 (e.g. "en-US", "de", etc.).

  "entries"
    Returns an array ref containing the "TBX::Min::Entry" objects contained
    in the document.The array ref is the same one used to store the objects
    internally, so additions or removals from the array will be reflected in
    future calls to this method.

  "add_entry"
    Adds the input "TBX::Min::Entry" object to the list of language groups
    contained by this object.

  "as_xml"
    Returns a scalar reference containing an XML representation of this
    TBX-Min document. The data is a UTF-8 encoded string.

CAVEATS
    TBX::Min does not as of yet fully validate TBX-Min documents. It is
    possible to create non-validating XML via the as_xml method. This should
    be fixed in the future.

SEE ALSO
    The following related modules:

    TBX::Min::Entry
    TBX::Min::LangGroup
    TBX::Min::TermGroup
    Convert::TBX::Min
    Convert::TBX::Basic

    Schema for valiating TBX-Min files are available on GitHub
    <https://github.com/byutrg/TBX-Spec>.

AUTHOR
    Nathan Glenn <[email protected]>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2013 by Alan 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.

tbx-min's People

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.