00001 /*========================================================================== 00002 * Copyright (c) 2005 University of Massachusetts. All Rights Reserved. 00003 * 00004 * Use of the Lemur Toolkit for Language Modeling and Information Retrieval 00005 * is subject to the terms of the software license set forth in the LICENSE 00006 * file included with this software, and also available at 00007 * http://www.lemurproject.org/license.html 00008 * 00009 *========================================================================== 00010 */ 00011 00012 00013 // 00014 // TagEvent 00015 // 00016 // 15 September 2005 -- mwb 00017 // 00018 00019 #ifndef INDRI_TAGEVENT_HPP 00020 #define INDRI_TAGEVENT_HPP 00021 #include "indri/greedy_vector" 00022 #include "indri/AttributeValuePair.hpp" 00023 namespace indri { 00024 namespace parse { 00025 00026 struct TagEvent { 00027 00028 const char *name; 00029 00030 // True if tag is an open tag, false if it is a close tag 00031 bool open_tag; 00032 00033 // These fields refer to the tag's extent in the source text, 00034 // *not* the extent enclosed by an open tag and its matching 00035 // close tag. 00036 int begin; 00037 int end; 00038 00039 // Token position of this tag event; for example, if the tag 00040 // event occured between the 23rd and the 24th tokens extracted 00041 // from the source document, pos would be 23. 00042 unsigned int pos; 00043 00044 indri::utility::greedy_vector<AttributeValuePair,2> attributes; 00045 }; 00046 } 00047 } 00048 00049 #endif // INDRI_TAGEVENT_HPP