<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GeeKs Blogging @ dotCOM &#187; Debugging</title>
	<atom:link href="http://geeksbloggingat.com/topics/debugging/feed/" rel="self" type="application/rss+xml" />
	<link>http://geeksbloggingat.com</link>
	<description>Let&#039;s share...</description>
	<lastBuildDate>Tue, 30 Aug 2011 21:29:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Siebel &#8211; Fetch Active view properties &#8211; III</title>
		<link>http://geeksbloggingat.com/2009/07/24/siebel-fetch-active-view-properties-iii/</link>
		<comments>http://geeksbloggingat.com/2009/07/24/siebel-fetch-active-view-properties-iii/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 02:59:53 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[eScript]]></category>
		<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=661</guid>
		<description><![CDATA[I will discuss a practical example, and the corresponding Inputs as a usage example for the &#8220;FINS Data Transfer Utilities&#8221;. If you have not already done so, I would suggest going through the previous posts for a better understanding: Siebel &#8211; Fetch Active view properties Siebel &#8211; Fetch Active view properties &#8211; II I will [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/22/siebel-fetch-active-view-properties/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties'>Siebel &#8211; Fetch Active view properties</a> <small>Hi, Working on a typical requirement recently, I came across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/23/siebel-fetch-active-view-properties-ii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties &#8211; II'>Siebel &#8211; Fetch Active view properties &#8211; II</a> <small>We discussed about fetching the values from the active view...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/14/siebel-assets-list-view-performance-issue-cannot-display-records/' rel='bookmark' title='Permanent Link: Siebel Assets List view &#8211; Performance issue / Cannot display records'>Siebel Assets List view &#8211; Performance issue / Cannot display records</a> <small>Assets Screen Load is a major problem in Siebel, and...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/10/siebel-invokeservicemethod-on-calculated-fields/' rel='bookmark' title='Permanent Link: Siebel &#8211; InvokeServiceMethod() on Calculated Fields'>Siebel &#8211; InvokeServiceMethod() on Calculated Fields</a> <small>InvokeServiceMethod() is used to invoke Business Services and take values...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/15/siebel-getmilliseconds-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; getMilliseconds() usage'>Siebel &#8211; getMilliseconds() usage</a> <small>Siebel by default displays all dates in the system accurate...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I will discuss a practical example, and the corresponding Inputs as a usage example for the &#8220;FINS Data Transfer Utilities&#8221;. If you have not already done so, I would suggest going through the previous posts for a better understanding:<br />
<a href="http://geeksbloggingat.com/2009/07/22/siebel-fetch-active-view-properties/">Siebel &#8211; Fetch Active view properties</a><br />
<a href="http://geeksbloggingat.com/2009/07/23/siebel-fetch-active-view-properties-ii">Siebel &#8211; Fetch Active view properties &#8211; II</a></p>
<p><span id="more-661"></span>I will share a practical usage example for the above vanilla BS here.<br />
Launch your Siebel Client. Navigate to the screen,<br />
<em>Administration &#8211; Business Services -&gt; Scripts<br />
Press &#8216;New&#8217;. I chose the name, &#8220;04 Nitin Test&#8221; for my Test BS.</em></p>
<p>Write a small piece of code in the method, &#8220;Service_PreInvokeMethod&#8221;, and the language as eScript.</p>
<p>Sample code is as follows:<br />
<em></em></p>
<p>function Service_PreInvokeMethod (MethodName, Inputs, Outputs)<br />
{</p>
<p>var Input_ps = TheApplication().NewPropertySet();<br />
var Output_ps = TheApplication().NewPropertySet();</p>
<p>var bs_FINS = TheApplication().GetService(&#8220;FINS Data Transfer Utilities&#8221;);<br />
bs_FINS.InvokeMethod(&#8220;GetActiveViewProp&#8221;, Input_ps, Output_ps);</p>
<p>TheApplication().RaiseErrorText(Output_ps.GetProperty(&#8220;&lt;output arg name&gt;&#8221;) );</p>
<p>return (CancelOperation);<br />
}</p>
<p>You can replace the with the desired parameter one by one, to see the corresponding output. As a sample, I got the following outputs in my Siebel setup:</p>
<table border="0">
<tbody>
<tr>
<th>Output Argument</th>
<th>Value</th>
</tr>
<tr>
<td>BusinessObject</td>
<td>Business Service</td>
</tr>
<tr>
<td>IsAdminMode</td>
<td>N</td>
</tr>
<tr>
<td>Screen</td>
<td> </td>
</tr>
<tr>
<td>ThreadApplet</td>
<td>Business Service Test List Applet</td>
</tr>
<tr>
<td>View</td>
<td>Business Service Test View</td>
</tr>
<tr>
<td>ViewModeCode</td>
<td>4</td>
</tr>
</tbody>
</table>
<p> </p>
<p>There are two strange observations in the table above.<br />
1) The Output Argument, &#8220;Screen&#8221; returns NULL. Now, I am obviously within a screen, which has a name. Why is it NULL?</p>
<p>2) It has returned the ViewMode &#8220;4&#8243;.</p>
<p>A simple Lookup in Siebel Tools F1 help lists the following ViewModes of a view:<br />
SalesRepView (0)<br />
ManagerView (1)<br />
PersonalView (2)<br />
AllView (3)<br />
OrganizationView (5)<br />
GroupView (7)<br />
CatalogView (8)<br />
SubOrganizationView (9)</p>
<p>Notice carefully, 4 is not in the list! <img src='http://geeksbloggingat.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/22/siebel-fetch-active-view-properties/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties'>Siebel &#8211; Fetch Active view properties</a> <small>Hi, Working on a typical requirement recently, I came across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/23/siebel-fetch-active-view-properties-ii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties &#8211; II'>Siebel &#8211; Fetch Active view properties &#8211; II</a> <small>We discussed about fetching the values from the active view...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/14/siebel-assets-list-view-performance-issue-cannot-display-records/' rel='bookmark' title='Permanent Link: Siebel Assets List view &#8211; Performance issue / Cannot display records'>Siebel Assets List view &#8211; Performance issue / Cannot display records</a> <small>Assets Screen Load is a major problem in Siebel, and...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/10/siebel-invokeservicemethod-on-calculated-fields/' rel='bookmark' title='Permanent Link: Siebel &#8211; InvokeServiceMethod() on Calculated Fields'>Siebel &#8211; InvokeServiceMethod() on Calculated Fields</a> <small>InvokeServiceMethod() is used to invoke Business Services and take values...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/15/siebel-getmilliseconds-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; getMilliseconds() usage'>Siebel &#8211; getMilliseconds() usage</a> <small>Siebel by default displays all dates in the system accurate...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/07/24/siebel-fetch-active-view-properties-iii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</title>
		<link>http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/</link>
		<comments>http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/#comments</comments>
		<pubDate>Tue, 26 May 2009 06:51:54 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[CFG file]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Logging]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=369</guid>
		<description><![CDATA[Hi, We have already discussed at quite a length the logging methods, the most prominent of these being the usage of vanilla Siebel EAI Queues. You can read about the entire series through the following links: A meeting with Siebel EAI Siebel &#8211; EAI Queue Siebel &#8211; EAI Queue &#8211; Usage Siebel &#8211; EAI Queue [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/' rel='bookmark' title='Permanent Link: Siebel &#8211; Enable Detailed Logging &#8211; Local'>Siebel &#8211; Enable Detailed Logging &#8211; Local</a> <small>Very often we come across scenarios wherein the process is...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/22/siebel-close-browser-window-when-logging-off/' rel='bookmark' title='Permanent Link: Siebel- Close Browser window when logging off'>Siebel- Close Browser window when logging off</a> <small>In case of standard interactivity applications like eSales , eService,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue'>Siebel &#8211; EAI Queue</a> <small>Okay, what are you thinking about? Is it Middlewares in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>We have already discussed at quite a length the logging methods, the most prominent of these being the usage of vanilla Siebel EAI Queues. You can read about the entire series through the following links:<br />
<a href="http://geeksbloggingat.com/2009/04/30/a-meeting-with-siebel-eai/" target="_blank">A meeting with Siebel EAI</a><br />
<a href="http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/" target="_blank">Siebel &#8211; EAI Queue</a><br />
<a href="http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/" target="_blank">Siebel &#8211; EAI Queue &#8211; Usage</a><br />
<a href="http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/" target="_blank">Siebel &#8211; EAI Queue &#8211; a Critique’</a></p>
<p>I recently came across another vanilla method (EnableServiceArgTracing) to log the messages. Using this, the various Siebel logs can be created, and the Input and the Output messages to some of the Business Services can be written in XML format to a file. These XML files would appear as Siebel Dump files with a &#8220;.dmp&#8221; extension. These can be read off any standard text reading tool like Notepad, Editplus, Notepad++, etc. This process works with EAI Siebel Adapter and EAI Dispatcher business services.</p>
<p><span id="more-369"></span><b>Usage</b><br />
Read about the detailed Local logging in Siebel <a href="http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/" target="_blank">here</a>.<br />
Set the Siebel SIEBEL_LOG_EVENTS environment variable value to:<br />
	3 &#8211; Input property set as Output in case of Error will be received<br />
	4 &#8211; Both Input and Output property set would be received</p>
<p>Be ready to receive huge Log files in your Siebel Log directory, and exceptionally slow Siebel performance after enabling this. Logs are now being created for every step, so this is all the more logical.</p>
<p>Set the Server parameter, &#8220;EnableServiceArgTracing&#8221; to &#8220;TRUE&#8221;.<br />
In case of dedicated, local, or sample based testing, edit the following sections in the <clientapp>.cfg and set the following:</p>
<p>	[EAISubsys]<br />
	EnableServiceArgTracing = TRUE</p>
<p>Restart Siebel and you are ready to go.</p>
<p>Now, whenever a process is run, it would create logs. Also, in the same directory you would see .dmp, or the Siebel Dump files being created. These are XML files which would have the Input and Output property sets contained. You can open and view these in any text editor.</p>
<p>The names of the files created are in the format:<br />
<BS Name>_input_args_<number>.dmp   OR,<br />
<BS Name>_output_args_<number>.dmp</p>
<p>The main advantage of this method is that it does not require any changes, or switches in the main process to get the debugigng information. So, it is as clean as can be. Also, we can do this easily on any environment, TEST or any other.</p>
<p>The main disadvantage I see with this approach is that it logs Inputs and Outputs of only the EAI Siebel Adapter and the EAI Dispatcher Business Services. More usually, the integration is done using many other services, wherein a proper logging and error handling architecture becomes mandatory. So, I cannot do away with the other fancy stuff I generally incorporate into my architecture for that reason I guess! </p>
<p>I wish Siebel provided an easy way except studying Logs, to know which all Business Services or Workflows were invoked, and what all inputs and outputs were provided, whenever a complex process was invoked. It would make my life so much easier..</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/' rel='bookmark' title='Permanent Link: Siebel &#8211; Enable Detailed Logging &#8211; Local'>Siebel &#8211; Enable Detailed Logging &#8211; Local</a> <small>Very often we come across scenarios wherein the process is...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/22/siebel-close-browser-window-when-logging-off/' rel='bookmark' title='Permanent Link: Siebel- Close Browser window when logging off'>Siebel- Close Browser window when logging off</a> <small>In case of standard interactivity applications like eSales , eService,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue'>Siebel &#8211; EAI Queue</a> <small>Okay, what are you thinking about? Is it Middlewares in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; Enable Detailed Logging &#8211; Local</title>
		<link>http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/</link>
		<comments>http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/#comments</comments>
		<pubDate>Mon, 25 May 2009 12:30:36 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[CFG file]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Logging]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=367</guid>
		<description><![CDATA[Very often we come across scenarios wherein the process is not really clear through the interface exposed to us. We generally need to go into detailed logs at various levels to understand the internal process, and as to which all parameters are flowing at each step in the flow. The server level settings are different. [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/22/siebel-close-browser-window-when-logging-off/' rel='bookmark' title='Permanent Link: Siebel- Close Browser window when logging off'>Siebel- Close Browser window when logging off</a> <small>In case of standard interactivity applications like eSales , eService,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/26/siebel-unable-to-launch-local-client/' rel='bookmark' title='Permanent Link: Siebel &#8211; Unable to launch Local Client'>Siebel &#8211; Unable to launch Local Client</a> <small>Hi all, I was making a fresh install of Siebel...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/11/siebel-server-architecture-an-introduction/' rel='bookmark' title='Permanent Link: Siebel Server Architecture &#8211; an Introduction'>Siebel Server Architecture &#8211; an Introduction</a> <small>You may call this an introductory tutorial. Siebel as we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/17/siebel-run-case-insensitive-queries/' rel='bookmark' title='Permanent Link: Siebel &#8211; Run Case Insensitive queries'>Siebel &#8211; Run Case Insensitive queries</a> <small>This is a nice tip I ran across. All the...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Very often we come across scenarios wherein the process is not really clear through the interface exposed to us. We generally need to go into detailed logs at various levels to understand the internal process, and as to which all parameters are flowing at each step in the flow. The server level settings are different. I will cover here, as to how we can enable or disable detailed logging of Siebel processes in our Dedicated, Local or Sample environments. We can use it to understand complex Siebel processes in detail, for eg. eConfigurator and ePricer related flows.</p>
<p><span id="more-367"></span>This is something very trivial, and I guess most of you would already be implementing this in your personal set-ups. However, just for the purpose of making and retaining notes here, I will add this post.</p>
<p>We would be modifying some Operating System Environment variables here.<br />
I have my desktop running on Windows XP. In this case, right click on the &#8216;My Computer&#8217; icon, and select &#8216;Properties&#8217;.<br />
Navigate to the Tab labelled &#8216;Advanced&#8217;.<br />
Press the button &#8216;Environment Variables..&#8217;<br />
In the section for &#8216;User Variables&#8221;, look for the variable named, &#8220;SIEBEL_LOG_DIR&#8221;. If not already present, create one. In my case, I gave it the value, &#8220;D:\\SiebelLogs&#8221;. All Siebel Logs will now be created in this custom directory rather than the vanilla Siebel directory under Siebel Install directory.<br />
Similarly, create another User Variable with the name, &#8220;SIEBEL_LOG_EVENTS&#8221;. The value of this variable can vary between 0-5, with 0 indicating the lowest level of detail, and 5 indicating the maximum level of details. A log level of 5 creates extensive logs very large in size owing to the high level of details.<br />
Save and close.</p>
<p>Now, every new session of Siebel Tools or Siebel Web Client will start creating logs in the directory pointed to by SIEBEL_LOG_DIR according to the Log level set in SIEBEL_LOG_EVENTS. This can help in detailed understanding and debugging of most processes, before we execute them on the server.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/22/siebel-close-browser-window-when-logging-off/' rel='bookmark' title='Permanent Link: Siebel- Close Browser window when logging off'>Siebel- Close Browser window when logging off</a> <small>In case of standard interactivity applications like eSales , eService,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/26/siebel-unable-to-launch-local-client/' rel='bookmark' title='Permanent Link: Siebel &#8211; Unable to launch Local Client'>Siebel &#8211; Unable to launch Local Client</a> <small>Hi all, I was making a fresh install of Siebel...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/11/siebel-server-architecture-an-introduction/' rel='bookmark' title='Permanent Link: Siebel Server Architecture &#8211; an Introduction'>Siebel Server Architecture &#8211; an Introduction</a> <small>You may call this an introductory tutorial. Siebel as we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/17/siebel-run-case-insensitive-queries/' rel='bookmark' title='Permanent Link: Siebel &#8211; Run Case Insensitive queries'>Siebel &#8211; Run Case Insensitive queries</a> <small>This is a nice tip I ran across. All the...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

