MediaWiki  REL1_22
ApiFormatXml Class Reference

API XML output formatter. More...

Inheritance diagram for ApiFormatXml:
Collaboration diagram for ApiFormatXml:

List of all members.

Public Member Functions

 addXslt ()
 execute ()
 Evaluates the parameters, performs the requested query, and sets up the result.
 getAllowedParams ()
 Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (array with PARAM_* constants as keys) Don't call this function directly: use getFinalParams() to allow hooks to modify parameters as needed.
 getDescription ()
 Returns the description string for this module.
 getMimeType ()
 Overriding class returns the mime type that should be sent to the client.
 getNeedsRawData ()
 Whether this formatter needs raw data such as _element tags.
 getParamDescription ()
 Returns an array of parameter descriptions.
 setRootElement ($rootElemName)

Static Public Member Functions

static recXmlPrint ($elemName, $elemValue, $indent)
 This method takes an array and converts it to XML.

Static Public Attributes

static $namespace = 'http://www.mediawiki.org/xml/api/'

Private Attributes

 $mIncludeNamespace = false
 $mRootElemName = 'api'
 $mXslt = null

Detailed Description

API XML output formatter.

Definition at line 31 of file ApiFormatXml.php.


Member Function Documentation

Evaluates the parameters, performs the requested query, and sets up the result.

Concrete implementations of ApiBase must override this method to provide whatever functionality their module offers. Implementations must not produce any output on their own and are not expected to handle any errors.

The execute() method will be invoked directly by ApiMain immediately before the result of the module is output. Aside from the constructor, implementations should assume that no other methods will be called externally on the module before the result is processed.

The result data should be stored in the ApiResult object available through getResult().

Reimplemented from ApiBase.

Definition at line 50 of file ApiFormatXml.php.

References $params, addXslt(), array(), ApiBase\extractRequestParams(), ApiFormatBase\getIsHtml(), ApiBase\getResultData(), and ApiFormatBase\printText().

Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (array with PARAM_* constants as keys) Don't call this function directly: use getFinalParams() to allow hooks to modify parameters as needed.

Some derived classes may choose to handle an integer $flags parameter in the overriding methods. Callers of this method can pass zero or more OR-ed flags like GET_VALUES_FOR_HELP.

Returns:
array|bool

Reimplemented from ApiBase.

Definition at line 216 of file ApiFormatXml.php.

References array().

Returns the description string for this module.

Returns:
mixed string or array of strings

Reimplemented from ApiFormatBase.

Definition at line 231 of file ApiFormatXml.php.

Overriding class returns the mime type that should be sent to the client.

This method is not called if getIsHtml() returns true.

Returns:
string

Reimplemented from ApiFormatBase.

Reimplemented in ApiFormatXmlRsd.

Definition at line 38 of file ApiFormatXml.php.

Whether this formatter needs raw data such as _element tags.

Returns:
bool

Reimplemented from ApiFormatBase.

Definition at line 42 of file ApiFormatXml.php.

Returns an array of parameter descriptions.

Don't call this function directly: use getFinalParamDescription() to allow hooks to modify descriptions as needed.

Returns:
array|bool False on no parameter descriptions

Reimplemented from ApiBase.

Definition at line 223 of file ApiFormatXml.php.

References array().

static ApiFormatXml::recXmlPrint ( elemName,
elemValue,
indent 
) [static]

This method takes an array and converts it to XML.

There are several noteworthy cases:

If array contains a key '_element', then the code assumes that ALL other keys are not important and replaces them with the value['_element'].

Example:
	 * name='root', value = array( '_element'=>'page', 'x', 'y', 'z')
	 * 
creates:
	 * <root>  <page>x</page>  <page>y</page>  <page>z</page> </root>
	 * 

If any of the array's element key is '*', then the code treats all other key->value pairs as attributes, and the value['*'] as the element's content.

Example:
	 * name='root', value = array( '*'=>'text', 'lang'=>'en', 'id'=>10)
	 * 
creates:
	 * <root lang='en' id='10'>text</root>
	 * 

Finally neither key is found, all keys become element names, and values become element content.

Note:
The method is recursive, so the same rules apply to any sub-arrays.
Parameters:
$elemName
$elemValue
$indent
Returns:
string

Definition at line 120 of file ApiFormatXml.php.

References $retval, array(), as, Xml\closeElement(), ApiBase\dieDebug(), and Xml\element().

ApiFormatXml::setRootElement ( rootElemName)

Definition at line 46 of file ApiFormatXml.php.

Referenced by ApiFormatXmlRsd\__construct().


Member Data Documentation

ApiFormatXml::$mIncludeNamespace = false [private]

Definition at line 35 of file ApiFormatXml.php.

ApiFormatXml::$mRootElemName = 'api' [private]

Definition at line 33 of file ApiFormatXml.php.

ApiFormatXml::$mXslt = null [private]

Definition at line 36 of file ApiFormatXml.php.

ApiFormatXml::$namespace = 'http://www.mediawiki.org/xml/api/' [static]

Definition at line 34 of file ApiFormatXml.php.


The documentation for this class was generated from the following file: