<TEMPLATES>
===== Test java:getNodeName from RTF param. =====
CONFIG_DATA
===== Test xsl:copy-of of RTF param. =====
<CONFIG_DATA>
	<RegisterAccount>
		<STYLESHEETS>
			<SUCCESS>
				<XSL_SHEET MEDIA="NS4">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGCOMPLETE.XSL</XSL_SHEET>
			</SUCCESS>
			<ERROR>
				<XSL_SHEET MEDIA="NS4">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGISTER1.XSL</XSL_SHEET>
			</ERROR>
		</STYLESHEETS>
	</RegisterAccount>
</CONFIG_DATA>
===== Test return of xalan:nodeset of RTF param. =====
<CONFIG_DATA>
	<RegisterAccount>
		<STYLESHEETS>
			<SUCCESS>
				<XSL_SHEET MEDIA="NS4">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGCOMPLETE.XSL</XSL_SHEET>
			</SUCCESS>
			<ERROR>
				<XSL_SHEET MEDIA="NS4">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGISTER1.XSL</XSL_SHEET>
			</ERROR>
		</STYLESHEETS>
	</RegisterAccount>
</CONFIG_DATA>
===== Test return of DTM from extension. =====
<CONFIG_DATA>
	<RegisterAccount>
		<STYLESHEETS>
			<SUCCESS>
				<XSL_SHEET MEDIA="NS4">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGCOMPLETE.XSL</XSL_SHEET>
			</SUCCESS>
			<ERROR>
				<XSL_SHEET MEDIA="NS4">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGISTER1.XSL</XSL_SHEET>
			</ERROR>
		</STYLESHEETS>
	</RegisterAccount>
</CONFIG_DATA>
===== Test return of DTMAxisIterator from extension. =====
<CONFIG_DATA>
	<RegisterAccount>
		<STYLESHEETS>
			<SUCCESS>
				<XSL_SHEET MEDIA="NS4">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGCOMPLETE.XSL</XSL_SHEET>
			</SUCCESS>
			<ERROR>
				<XSL_SHEET MEDIA="NS4">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGISTER1.XSL</XSL_SHEET>
			</ERROR>
		</STYLESHEETS>
	</RegisterAccount>
</CONFIG_DATA>
===== Test return of DTMIterator from extension. =====
<CONFIG_DATA>
	<RegisterAccount>
		<STYLESHEETS>
			<SUCCESS>
				<XSL_SHEET MEDIA="NS4">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGCOMPLETE.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGCOMPLETE.XSL</XSL_SHEET>
			</SUCCESS>
			<ERROR>
				<XSL_SHEET MEDIA="NS4">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="IE3">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="WML">REGISTER1.XSL</XSL_SHEET>
				<XSL_SHEET MEDIA="default">REGISTER1.XSL</XSL_SHEET>
			</ERROR>
		</STYLESHEETS>
	</RegisterAccount>
</CONFIG_DATA></TEMPLATES>