<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="generator" content="ApiGen 2.8.0" />

	<title>Class LoggerConfigurationAdapterXML | Apache log4php</title>

	<script type="text/javascript" src="resources/combined.js?238209907"></script>
	<script type="text/javascript" src="elementlist.js?4055067042"></script>
	<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360" />

	<script type="text/javascript">
		var _gaq = _gaq || [];
		_gaq.push(['_setAccount', "UA-26177991-1"]);
		_gaq.push(['_trackPageview']);

		(function() {
			var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
		})();
	</script>
</head>

<body>
<div id="left">
	<div id="menu">
		<a href="index.html" title="Overview"><span>Overview</span></a>


		<div id="groups">
			<h3>Packages</h3>
			<ul>
				<li class="active"><a href="package-log4php.html">log4php<span></span></a>
						<ul>
				<li><a href="package-log4php.appenders.html">appenders</a>
						</li>
				<li class="active"><a href="package-log4php.configurators.html">configurators</a>
						</li>
				<li><a href="package-log4php.filters.html">filters</a>
						</li>
				<li><a href="package-log4php.helpers.html">helpers</a>
						</li>
				<li><a href="package-log4php.layouts.html">layouts</a>
						</li>
				<li><a href="package-log4php.pattern.html">pattern</a>
						</li>
				<li><a href="package-log4php.renderers.html">renderers</a>
						</li>
							</ul></li>
			</ul>
		</div>

		<hr />


		<div id="elements">
			<h3>Classes</h3>
			<ul>
				<li><a href="class-LoggerConfigurationAdapterINI.html">LoggerConfigurationAdapterINI</a></li>
				<li><a href="class-LoggerConfigurationAdapterPHP.html">LoggerConfigurationAdapterPHP</a></li>
				<li class="active"><a href="class-LoggerConfigurationAdapterXML.html">LoggerConfigurationAdapterXML</a></li>
			</ul>

			<h3>Interfaces</h3>
			<ul>
				<li><a href="class-LoggerConfigurationAdapter.html">LoggerConfigurationAdapter</a></li>
			</ul>




		</div>
	</div>
</div>

<div id="splitter"></div>

<div id="right">
<div id="rightInner">
	<form id="search">
		<input type="hidden" name="cx" value="" />
		<input type="hidden" name="ie" value="UTF-8" />
		<input type="text" name="q" class="text" />
		<input type="submit" value="Search" />
	</form>

	<div id="navigation">
		<ul>
			<li>
				<a href="index.html" title="Overview"><span>Overview</span></a>
			</li>
			<li>
				<a href="package-log4php.configurators.html" title="Summary of log4php\configurators"><span>Package</span></a>
			</li>
			<li class="active">
<span>Class</span>			</li>
		</ul>
		<ul>
			<li>
				<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
			</li>
		</ul>
		<ul>
		</ul>
	</div>

<div id="content" class="class">
	<h1>Class LoggerConfigurationAdapterXML</h1>


	<div class="description">
	
<p>Converts XML configuration files to a PHP array.</p>

	</div>

	<dl class="tree">
		<dd style="padding-left:0px">
<b><span>LoggerConfigurationAdapterXML</span></b>			
			 implements 
				<a href="class-LoggerConfigurationAdapter.html"><span>LoggerConfigurationAdapter</span></a>
			
			
		</dd>
	</dl>








	<div class="info">
		
		
		
		<b>Package:</b> <a href="package-log4php.html">log4php</a>\<a href="package-log4php.configurators.html">configurators</a><br />

				<b>License:</b>
				<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a><br />
				<b>Version:</b>
				$Revision: 1394956 $<br />
				<b>Since:</b>
				2.2<br />
		<b>Located at</b> <a href="source-class-LoggerConfigurationAdapterXML.html#21-278" title="Go to source code">configurators/LoggerConfigurationAdapterXML.php</a><br />
	</div>



	<table class="summary" id="methods">
	<caption>Methods summary</caption>
	<tr data-order="convert" id="_convert">

		<td class="attributes"><code>
			 public 
			
			
			</code>
		</td>

		<td class="name"><div>
		<a class="anchor" href="#_convert">#</a>
		<code><a href="source-class-LoggerConfigurationAdapterXML.html#41-72" title="Go to source code">convert</a>( <span>mixed <var>$url</var></span> )</code>

		<div class="description short">
			
<p>Converts the configuration file to PHP format usable by the configurator.</p>

		</div>

		<div class="description detailed hidden">
			
<p>Converts the configuration file to PHP format usable by the configurator.</p>








				<h4>Implementation of</h4>
				<div class="list"><code><a href="class-LoggerConfigurationAdapter.html#_convert">LoggerConfigurationAdapter::convert()</a></code></div>
		</div>
		</div></td>
	</tr>
	</table>








	<table class="summary" id="constants">
	<caption>Constants summary</caption>
	<tr data-order="SCHEMA_PATH" id="SCHEMA_PATH">

		<td class="attributes"><code>string</code></td>
		<td class="name"><code>
				<a href="source-class-LoggerConfigurationAdapterXML.html#32-33" title="Go to source code"><b>SCHEMA_PATH</b></a>
		</code></td>
		<td class="value"><code><span class="php-quote">'/../xml/log4php.xsd'</span></code></td>
		<td class="description"><div>
			<a href="#SCHEMA_PATH" class="anchor">#</a>

			<div class="description short">
				
<p>Path to the XML schema used for validation.</p>

			</div>

			<div class="description detailed hidden">
				
<p>Path to the XML schema used for validation.</p>


			</div>
		</div></td>
	</tr>
	</table>










</div>

	<div id="footer">
		Apache log4php API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
	</div>
</div>
</div>
</body>
</html>
