');
* $qp->append('')->writeHTML();
* ?>
* @endcode
*
* The above would print (formatted for readability):
* @code
*
*
*
*
*
*
*
*
* @endcode
*
* To learn about the functions available to a Query Path object,
* see {@link QueryPath}. The {@link qp()} function is used to build
* new QueryPath objects. The documentation for that function explains the
* wealth of arguments that the function can take.
*
* Included with the source code for QueryPath is a complete set of unit tests
* as well as some example files. Those are good resources for learning about
* how to apply QueryPath's tools. The full API documentation can be generated
* from these files using PHPDocumentor.
*
* If you are interested in building extensions for QueryParser, see the
* {@link QueryPathExtender} class. There, you will find information on adding
* your own tools to QueryPath.
*
* QueryPath also comes with a full CSS 3 selector parser implementation. If
* you are interested in reusing that in other code, you will want to start
* with {@link CssEventHandler.php}, which is the event interface for the parser.
*
* All of the code in QueryPath is licensed under either the LGPL or an MIT-like
* license (you may choose which you prefer). All of the code is Copyright, 2009
* by Matt Butcher.
*
* @author M Butcher
* @license http://opensource.org/licenses/lgpl-2.1.php The GNU Lesser GPL (LGPL) or an MIT-like license.
* @see QueryPath
* @see qp()
* @see http://querypath.org The QueryPath home page.
* @see http://api.querypath.org An online version of the API docs.
* @see http://technosophos.com For how-tos and examples.
* @copyright Copyright (c) 2009, Matt Butcher.
* @version 2.1.2
*
*/
/** @addtogroup querypath_core Core API
* Core classes and functions for QueryPath.
*
* These are the classes, objects, and functions that developers who use QueryPath
* are likely to use. The qp() and htmlqp() functions are the best place to start,
* while most of the frequently used methods are part of the QueryPath object.
*/
/** @addtogroup querypath_util Utilities
* Utility classes for QueryPath.
*
* These classes add important, but less-often used features to QueryPath. Some of
* these are used transparently (QueryPathIterator). Others you can use directly in your
* code (QueryPathEntities).
*/
/* * @namespace QueryPath
* The core classes that compose QueryPath.
*
* The QueryPath classes contain the brunt of the QueryPath code. If you are
* interested in working with just the CSS engine, you may want to look at CssEventHandler,
* which can be used without the rest of QueryPath. If you are interested in looking
* carefully at QueryPath's implementation details, then the QueryPath class is where you
* should begin. If you are interested in writing extensions, than you may want to look at
* QueryPathExtension, and also at some of the simple extensions, such as QPXML.
*/
/**
* Regular expression for checking whether a string looks like XML.
* @deprecated This is no longer used in QueryPath.
*/
define('ML_EXP','/^[^<]*(<(.|\s)+>)[^>]*$/');
/**
* The CssEventHandler interfaces with the CSS parser.
*/
require_once 'CssEventHandler.php';
/**
* The extender is used to provide support for extensions.
*/
require_once 'QueryPathExtension.php';
/**
* Build a new Query Path.
* This builds a new Query Path object. The new object can be used for
* reading, search, and modifying a document.
*
* While it is permissible to directly create new instances of a QueryPath
* implementation, it is not advised. Instead, you should use this function
* as a factory.
*
* Example:
* @code
*