Home | History | Annotate | Download | only in grxmlcompile

Lines Matching full:node

117 bool GRXMLDoc::parseGrammar( XMLNode &node, std::string & xMLFileName )
122 // The top level "document" node is given to this fn
130 parseNode( node, p_SubGraph, 1 ); // NB Subgraph pointed to will change in recursive fn.
142 bool GRXMLDoc::parseNode( XMLNode &node, SubGraph *&p_SubGraph, const unsigned int level )
144 // We will create a new subgraph for each rule node.
149 // Initial processing of the current node before processing children
151 if(node.Type() == TiXmlNode::ELEMENT)
152 node.ToElement()->Print( stdout, level);
153 else if(node.Type() == TiXmlNode::DOCUMENT)
154 node.ToDocument()->Print( stdout, level);
155 else if(node.Type() == TiXmlNode::TEXT)
156 node.ToText()->Print( stdout, level);
157 else if(node.Type() == TiXmlNode::DECLARATION)
158 node.ToDeclaration()->Print( stdout, level);
160 const char* text = node.Value();
162 printf("processing node type %d text %s\n", node.Type(), text);
165 beginNode( node, p_SubGraph, level );
170 for( child = node.FirstChild(); child; child = child->NextSibling() )
174 // Revert current node
177 // Finish processing current node
178 endNode( node, p_SubGraph, level );
184 bool GRXMLDoc::beginNode( XMLNode &node, SubGraph *&p_SubGraph, const unsigned int level )
186 std::string name = node.Value();
189 // XMLNode::Type type = node.getType();
190 if ( node.Type() == TiXmlNode::TEXT) // isCData()
192 const char* cc_name = node.Parent()->Value();
197 processCDATA( node, p_SubGraph );
199 else if ( node.Type()== TiXmlNode::ELEMENT /*isNode()*/ || node.NoChildren() /*isLeaf()*/)
201 //printNode(node, level);
210 } else if(node.Type() == TiXmlNode::COMMENT) {
212 } else if(node.Type() == TiXmlNode::DECLARATION && name.length()==0) {
222 beginParseGrammarNode( node );
228 beginParseRuleNode( node, p_SubGraph );
234 beginRuleRef( node, p_SubGraph );
239 beginOneOf( node, p_SubGraph );
244 beginItem( node, p_SubGraph );
249 beginTag( node, p_SubGraph );
254 beginCount( node, p_SubGraph );
259 beginParseMetaNode( node );
264 DEBUG_PRINT( "UNKNOWN node name: " + name );
267 } //is a Node or Leaf
268 else if ( node.Type() == TiXmlNode::TEXT) // isCData()
271 processCDATA( node, p_SubGraph );
277 bool GRXMLDoc::endNode( XMLNode &node, SubGraph *&p_SubGraph, const unsigned int level )
279 std::string name = node.Value();
280 //XMLNode::Type type = node.getType();
282 if ( node.Type()== TiXmlNode::ELEMENT /*isNode()*/ || node.NoChildren() )
290 } else if(node.Type() == TiXmlNode::COMMENT) {
292 } else if(node.Type() == TiXmlNode::DECLARATION && name.length()==0) {
294 } else if(node.Type() == TiXmlNode::TEXT) {
304 endParseGrammarNode( node );
309 endParseRuleNode( node, p_SubGraph );
314 endRuleRef( node, p_SubGraph );
319 endOneOf( node, p_SubGraph );
324 endItem(node, p_SubGraph );
329 endTag( node, p_SubGraph );
334 endCount( node, p_SubGraph );
339 endParseMetaNode( node );
344 DEBUG_PRINT( "UNKNOWN node name: ");
358 bool GRXMLDoc::beginParseGrammarNode(XMLNode &node)
361 #define GETATTR(nAmE) ((attr=node.ToElement()->Attribute(nAmE))!=NULL) ? attr:""
374 bool GRXMLDoc::beginParseMetaNode(XMLNode &node)
400 bool GRXMLDoc::endParseGrammarNode(XMLNode &node)
407 bool GRXMLDoc::beginParseRuleNode( XMLNode &node, SubGraph *&p_SubGraph)
411 // is fine as we revert to the previous one when finished parsing the current node.
439 // Create a Word Graph node for each rule node
461 bool GRXMLDoc::endParseRuleNode( XMLNode &node, SubGraph *&p_SubGraph )
484 bool GRXMLDoc::processCDATA( XMLNode &node, SubGraph *&p_SubGraph )
488 const char* cc_name = node.Parent()->Value();
489 std::string str_name(cc_name); // = node.Parent()->ValueStr(); // getName
490 // std::string name = node.Parent()->Value(); // getName
495 std::string cdata = node.Value(); // getCData()
555 bool GRXMLDoc::beginItem( XMLNode &node, SubGraph *&p_SubGraph )
586 bool GRXMLDoc::endItem( XMLNode &node, SubGraph *&p_SubGraph )
597 bool GRXMLDoc::beginRuleRef( XMLNode &node, SubGraph *&p_SubGraph )
599 // Extend word FST node with an entire FST subgraph.
621 getRuleRefName( node, ruleName );
673 bool GRXMLDoc::beginTag( XMLNode &node, SubGraph *&p_SubGraph )
676 std::string s = node.ToElement()->GetText(); // getCdata();
694 bool GRXMLDoc::endTag( XMLNode &node, SubGraph *&p_SubGraph )
701 bool GRXMLDoc::beginCount( XMLNode &node, SubGraph *&p_SubGraph )
704 // Count of reps applies to the text elements in this count node
742 bool GRXMLDoc::endCount( XMLNode &node, SubGraph *&p_SubGraph )
749 bool GRXMLDoc::endParseMetaNode(XMLNode &node)
755 void GRXMLDoc::printNode(XMLNode &node, int level)
757 std::string name = node.Value();
758 int type = node.Type();
781 c_data = node.Value(); // getCdata();
791 if(node.Type() == TiXmlNode::TEXT) // isCData()
797 if( node.Type() == TiXmlNode::ELEMENT) {
799 for(TiXmlAttribute* attr=node.ToElement()->FirstAttribute();
979 bool GRXMLDoc::getRuleRefName(XMLNode &node, std::string &ruleName)