- All Known Implementing Classes:
- AbstractTagValueHandler, AltIdTagValueHandler, AsymmetricHandler, DataVersionTagValueHandler, DefaultNamespaceTagValueHandler, DefTagValueHandler, DisjointFromHandler, DomainHandler, IDSpaceTagValueHandler, IDTagValueHandler, IntersectionOfHandler, InverseHandler, IsATagValueHandler, IsObsoleteTagValueHandler, NameTagValueHandler, OntologyTagValueHandler, PartOfTagValueHandler, ReflexiveHandler, RelationshipTagValueHandler, SymmetricTagValueHandler, SynonymTagValueHandler, SynonymTypeDefTagHandler, TransitiveOverHandler, TransitiveTagValueHandler, UnionOfHandler, XRefTagHandler
public interface TagValueHandler
Concrete implementations of this interface allow specific behaviour for
processing specific tag value pairs in an OBO file to be specified.
Tag-Value Pairs (From the OBO 1.4 Guide)
Tag-value pairs consist of
a tag name, an unescaped colon, the tag value, and a newline:
<tag>: <value> {<trailing modifiers>} ! <comment> The
tag name is always a string. The value is always a string, but the value
string may require special parsing depending on the tag with which it is
associated.
In general, tag-value pairs occur on a single line. Multi-line values are
possible using escape characters (see escape characters).
In general, each stanza type expects a particular set of pre-defined tags.
However, a stanza may contain any tag. If a parser does not recognize a tag
name for a particular stanza, no error will be generated. This allows new
experimental tags to be added without breaking existing parsers. See handling
unrecognized tags for specifics.
Trailing Modifiers
Any tag-value pair may be followed by a trailing
modifier. Trailing modifiers have been introduced into the OBO 1.2
Specification to allow the graceful addition of new features to existing
tags.
A trailing modifier has the following structure:
{<name>=<value>, <name=value>, <name=value>} That is,
trailing modifiers are lists of name-value pairs.
Parser implementations may choose to decode and/or round-trip these trailing
modifiers. However, this is not required. A parser may choose to ignore or
strip away trailing modifiers.
For this reason, trailing modifiers should only include information that is
optional or experimental.
Trailing modifiers may also occur within dbxref definitions (see dbxref
formatting).
- Author:
- Matthew Horridge, The University Of Manchester, Bio-Health
Informatics Group, Date: 10-Jan-2007