MediaWiki  REL1_19
ApiFormatXml Class Reference

API XML output formatter. More...

Inheritance diagram for ApiFormatXml:
Collaboration diagram for ApiFormatXml:

List of all members.

Public Member Functions

 __construct ($main, $format)
 Constructor If $format ends with 'fm', pretty-print the output in HTML.
 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.
 getVersion ()
 Returns a string that identifies the version of the extending class.
 setRootElement ($rootElemName)

Static Public Member Functions

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

Static Public Attributes

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

Private Attributes

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

Detailed Description

API XML output formatter.

Definition at line 31 of file ApiFormatXml.php.


Constructor & Destructor Documentation

ApiFormatXml::__construct ( main,
format 
)

Constructor If $format ends with 'fm', pretty-print the output in HTML.

Parameters:
$mainApiMain
$formatstring Format name

Reimplemented from ApiFormatBase.

Reimplemented in ApiFormatXmlRsd.

Definition at line 39 of file ApiFormatXml.php.


Member Function Documentation

Definition at line 190 of file ApiFormatXml.php.

References Title\newFromText(), ApiFormatBase\printText(), and ApiBase\setWarning().

Referenced by execute().

Here is the call graph for this function:

Here is the caller graph for this function:

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 55 of file ApiFormatXml.php.

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

Here is the call graph for this function:

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.

Returns:
array or false

Reimplemented from ApiBase.

Definition at line 207 of file ApiFormatXml.php.

Returns the description string for this module.

Returns:
mixed string or array of strings

Reimplemented from ApiFormatBase.

Definition at line 223 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 43 of file ApiFormatXml.php.

Whether this formatter needs raw data such as _element tags.

Returns:
bool

Reimplemented from ApiFormatBase.

Definition at line 47 of file ApiFormatXml.php.

Returns an array of parameter descriptions.

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

Returns:
array or false

Reimplemented from ApiBase.

Definition at line 215 of file ApiFormatXml.php.

Returns a string that identifies the version of the extending class.

Typically includes the class name, the svn revision, timestamp, and last author. Usually done with SVN's Id keyword

Returns:
string

Reimplemented from ApiBase.

Reimplemented in ApiFormatXmlRsd.

Definition at line 227 of file ApiFormatXml.php.

static ApiFormatXml::recXmlPrint ( elemName,
elemValue,
indent,
doublequote = false 
) [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>

If neither key is found, all keys become element names, and values become element content. The method is recursive, so the same rules apply to any sub-arrays.

Parameters:
$elemName
$elemValue
$indent
$doublequotebool
Returns:
string

Definition at line 104 of file ApiFormatXml.php.

References Xml\closeElement(), ApiBase\dieDebug(), Xml\element(), and Sanitizer\encodeAttribute().

Here is the call graph for this function:

ApiFormatXml::setRootElement ( rootElemName)

Definition at line 51 of file ApiFormatXml.php.

Referenced by ApiFormatXmlRsd\__construct().

Here is the caller graph for this function:


Member Data Documentation

ApiFormatXml::$mDoubleQuote = false [private]

Definition at line 35 of file ApiFormatXml.php.

ApiFormatXml::$mIncludeNamespace = false [private]

Definition at line 36 of file ApiFormatXml.php.

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

Definition at line 33 of file ApiFormatXml.php.

ApiFormatXml::$mXslt = null [private]

Definition at line 37 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: