baseline
[omp.pkp.sfu.ca.git] / lib / pkp / classes / db / XMLDAO.inc.php
blobe3223d1dbfe0a08de6bb0db7fb7f92ec95e47b49
1 <?php
3 /**
4 * @file classes/db/XMLDAO.inc.php
6 * Copyright (c) 2000-2009 John Willinsky
7 * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
9 * @class XMLDAO
10 * @ingroup db
12 * @brief Operations for retrieving and modifying objects from an XML data source.
15 // $Id: XMLDAO.inc.php,v 1.4 2009/04/08 21:34:54 asmecher Exp $
18 import('xml.XMLParser');
20 class XMLDAO {
21 /**
22 * Constructor.
24 function XMLDAO() {
27 /**
28 * Parse an XML file and return data in an object.
29 * @see xml.XMLParser::parse()
31 function &parse($file) {
32 $parser = new XMLParser();
33 $data =& $parser->parse($file);
34 $parser->destroy();
35 return $data;
38 /**
39 * Parse an XML file with the specified handler and return data in an object.
40 * @see xml.XMLParser::parse()
41 * @param $handler reference to the handler to use with the parser.
43 function &parseWithHandler($file, &$handler) {
44 $parser = new XMLParser();
45 $parser->setHandler($handler);
46 $data =& $parser->parse($file);
47 $parser->destroy();
48 return $data;
51 /**
52 * Parse an XML file and return data in an array.
53 * @see xml.XMLParser::parseStruct()
55 function &parseStruct($file, $tagsToMatch = array()) {
56 $parser = new XMLParser();
57 $data =& $parser->parseStruct($file, $tagsToMatch);
58 $parser->destroy();
59 return $data;