XMLLanguageParser.cc

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00013 #include <zypp/parser/xmlstore/XMLLanguageParser.h>
00014 #include <zypp/parser/xmlstore/XMLResObjectParser.h>
00015 
00016 #include <zypp/parser/LibXMLHelper.h>
00017 #include <istream>
00018 #include <string>
00019 #include "zypp/parser/xml_parser_assert.h"
00020 #include <libxml/xmlreader.h>
00021 #include <libxml/tree.h>
00022 #include <zypp/base/Logger.h>
00023 #include <zypp/parser/xmlstore/schemanames.h>
00024 
00025 using namespace std;
00026 namespace zypp {
00027   namespace parser {
00028     namespace xmlstore {
00029 
00030       XMLLanguageParser::XMLLanguageParser()
00031       { }
00032       
00033       XMLLanguageParser::XMLLanguageParser(XMLLanguageData_Ptr& entry)
00034       : XMLNodeIterator<XMLLanguageData_Ptr>(entry)
00035       { }
00036       
00037       
00038       XMLLanguageParser::~XMLLanguageParser()
00039       { }
00040       
00041       
00042       // select for which elements process() will be called
00043       bool 
00044       XMLLanguageParser::isInterested(const xmlNodePtr nodePtr)
00045       {
00046         return _helper.isElement(nodePtr) && _helper.name(nodePtr) == "language";
00047       }
00048       
00049       // do the actual processing
00050       XMLLanguageData_Ptr
00051       XMLLanguageParser::process(const xmlTextReaderPtr reader)
00052       {
00053         xml_assert(reader);
00054         XMLLanguageData_Ptr dataPtr = new XMLLanguageData;
00055         xmlNodePtr dataNode = xmlTextReaderExpand(reader);
00056         xml_assert(dataNode);
00057         
00058         parseResObjectCommonData( dataPtr, dataNode);
00059         parseDependencies( dataPtr, dataNode);
00060         
00061 //         for (xmlNodePtr child = dataNode->children; child && child != dataNode; child = child->next)
00062 //         {
00063 //           if (_helper.isElement(child))
00064 //           {
00065 //             string name = _helper.name(child);
00066 //             
00067 //             
00068 //           }
00069 //         }
00070         return dataPtr;
00071       } /* end process */
00072       
00073       
00074       XMLLanguageParser::XMLLanguageParser(istream &is, const string &baseUrl)
00075       : XMLNodeIterator<XMLLanguageData_Ptr>(is, baseUrl,LANGUAGESCHEMA)
00076       { 
00077         fetchNext();
00078       }
00079       
00080     } // namespace yum
00081   } // namespace parser
00082 } // namespace zypp

Generated on Thu Jul 6 00:07:21 2006 for zypp by  doxygen 1.4.6