<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6528859358974893000</id><updated>2012-02-16T06:45:07.902-08:00</updated><category term='ServletContextListener'/><category term='Organize XML using JAVA'/><category term='Computer Software Hardware Info'/><category term='Xalan-J 2.7.1'/><category term='java.net'/><category term='XSLT Redirect'/><category term='Convert String to Document'/><category term='XSLT'/><category term='XML Transformation'/><category term='Convert Document to String'/><category term='JAVA'/><category term='Organize XML'/><category term='WMIC Command'/><category term='Indent XML using JAVA'/><category term='Listeners'/><category term='Web Application'/><category term='Xalan-Java'/><category term='XML Transformations in Java'/><category term='Xalan'/><category term='JavaScript'/><category term='Event Listeners'/><category term='Web Service'/><category term='Licensing Info'/><category term='Indent XML'/><title type='text'>♌Tejas Purohit's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-7018942059579242548</id><published>2010-01-28T06:19:00.000-08:00</published><updated>2010-01-29T01:31:40.339-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xalan-Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Xalan-J 2.7.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Xalan'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT Redirect'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT'/><title type='text'>Xalan-Java Version 2.7.1 Extensions - Redirect</title><content type='html'>&lt;div style="font-size: 1em; font-family:verdana,helvetica,arial,sans-serif;"&gt;&lt;br /&gt;            &lt;B&gt;Xalan-Java Version 2.7.1 Extensions:&lt;/B&gt; Extension elements and functions provide a powerful mechanism for extending and simplifying what you can do with an XLST processor like Xalan. With input and contributions from the XML open-source developer community, we are working on placing the most useful extensions in an extensions library distributed with Xalan-Java.&lt;br /&gt;            &lt;BR&gt;&lt;B&gt;Redirect Extension:&lt;/B&gt;A standard XSL transformation involves an XSL stylesheet, an XML source tree, and the transformation result tree. The transformation sends the entire result to a single &lt;a href="http://xml.apache.org/xalan-j/apidocs/javax/xml/transform/Result.html"&gt;javax.xml.transform.Result&lt;/a&gt; object.&lt;br /&gt;            &lt;BR&gt;The namespace for the Redirect extension is:&lt;br /&gt;            http://xml.apache.org/xalan/redirect&lt;br /&gt;            &lt;BR&gt;It supplies three extension elements that you can use to redirect portions of your transformation output to multiple files: &amp;lt;open&amp;gt;, &amp;lt;write&amp;gt;, and &amp;lt;close&amp;gt;. If you use the &amp;lt;write&amp;gt; element alone, the extension opens a file, writes to it, and closes the file immediately. If you want explicit control over the opening and closing of files, use &amp;lt;write&amp;gt; in conjunction with the &amp;lt;open&amp;gt; and &amp;lt;close&amp;gt; elements.&lt;br /&gt;            &lt;BR&gt;The &amp;lt;open&amp;gt; and &amp;lt;write&amp;gt; elements include a file attribute and/or a select attribute to designate the output file. The file attribute takes a string, so you can use it to directly specify the output file name. The select attribute takes an XPath expression, so you can use it to dynamically generate the output file name. If you include both attributes, the Redirect extension first evaluates the select attribute, and falls back to the file attribute if the select attribute expression does not return a valid file name.&lt;br /&gt;            &lt;BR&gt;The &amp;lt;open&amp;gt; and &amp;lt;write&amp;gt; elements also support an append attribute. If the append attribute is set to true or yes, then the result is appended to the output file.&lt;br /&gt;            &lt;BR&gt;&lt;SPAN style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.2em; color:#F0790D;"&gt;Simple Example of using Redirect extension with XSLT:&lt;/SPAN&gt;&lt;br /&gt;            &lt;BR&gt;I have a XML file which contains some set of XML elements as shown in &lt;a href="#Source"&gt;Source.XML&lt;/a&gt; below. My requirement is, I want to move all &amp;lt;REF1&amp;gt; elements to file REF1.XML, all &amp;lt;REF2&amp;gt; elements to REF2.XML and so on. &lt;br /&gt;            &lt;BR&gt;A simple XSLT using Redirect extension from Xalan can do the trick as shown in &lt;a href="#MultiRedirect"&gt;MultiRedirect.XSL&lt;/a&gt;. I am selecting all &amp;lt;REF1&amp;gt; elements and copying it to REF1.XML using Redirect extension and Similar for all &amp;lt;REF2&amp;gt;, &amp;lt;REF3&amp;gt;, &amp;lt;REF4&amp;gt; and &amp;lt;REF5&amp;gt; elements. On XSLT transformation of &lt;a href="#Source"&gt;Source.XML&lt;/a&gt; by  &lt;a href="#MultiRedirect"&gt;MultiRedirect.XSL&lt;/a&gt; will create five new XML files like &lt;a href="#REF1"&gt;REF1.XML&lt;/a&gt;, &lt;a href="#REF2"&gt;REF2.XML&lt;/a&gt;, &lt;a href="#REF3"&gt;REF3.XML&lt;/a&gt;, &lt;a href="#REF4"&gt;REF4.XML&lt;/a&gt; and &lt;a href="#REF5"&gt;REF5.XML&lt;/a&gt; as shown below. &lt;br /&gt;            &lt;BR&gt;Before running this example you should have Xalan-J 2.7.1 available to program. I mean you should have Xalan-J 2.7.1 downloaded and set on CLASSPATH. Refer &lt;a href="#Bibliography"&gt; Bibliography&lt;/a&gt; for downloads and other references of Xalan-J 2.7.1&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;a name="Source" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.1em; color:#98BF21;"&gt;Source.XML&lt;/a&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Invoice&amp;gt;&lt;br /&gt;    &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;!-- Gruop of Ref1 Elements to go in file REF1.XML --&amp;gt;&lt;br /&gt;        &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref1&amp;gt;&lt;br /&gt;        &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref1&amp;gt;&lt;br /&gt;        &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref1&amp;gt;&lt;br /&gt;        &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref1&amp;gt;&lt;br /&gt;        &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref1&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;!-- Gruop of Ref2 Elements to go in file REF2.XML --&amp;gt;&lt;br /&gt;        &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref2&amp;gt;&lt;br /&gt;        &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref2&amp;gt;&lt;br /&gt;        &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref2&amp;gt;&lt;br /&gt;        &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref2&amp;gt;&lt;br /&gt;        &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref2&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;!-- Gruop of Ref3 Elements to go in file REF3.XML --&amp;gt;&lt;br /&gt;        &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref3&amp;gt;&lt;br /&gt;        &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref3&amp;gt;&lt;br /&gt;        &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref3&amp;gt;&lt;br /&gt;        &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref3&amp;gt;&lt;br /&gt;        &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref3&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;!-- Gruop of Ref4 Elements to go in file REF4.XML --&amp;gt;&lt;br /&gt;        &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref4&amp;gt;&lt;br /&gt;        &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref4&amp;gt;&lt;br /&gt;        &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref4&amp;gt;&lt;br /&gt;        &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref4&amp;gt;&lt;br /&gt;        &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref4&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;!-- Gruop of Ref5 Elements to go in file REF5.XML --&amp;gt;&lt;br /&gt;        &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref5&amp;gt;&lt;br /&gt;        &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref5&amp;gt;&lt;br /&gt;        &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref5&amp;gt;&lt;br /&gt;        &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref5&amp;gt;&lt;br /&gt;        &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;        &amp;lt;/Ref5&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;&amp;lt;/Invoice&amp;gt;&lt;br /&gt;            &lt;/code&gt; &lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;br /&gt;        &lt;a name="MultiRedirect" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.1em; color:#98BF21;"&gt;MultiRedirect.XSL&lt;/a&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; xmlns:redirect=&amp;quot;http://xml.apache.org/xalan/redirect&amp;quot; extension-element-prefixes=&amp;quot;redirect&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;xsl:variable name=&amp;quot;REF1&amp;quot; select=&amp;quot;'REF1.XML'&amp;quot;/&amp;gt;&lt;br /&gt;        &amp;lt;xsl:variable name=&amp;quot;REF2&amp;quot; select=&amp;quot;'REF2.XML'&amp;quot;/&amp;gt;&lt;br /&gt;        &amp;lt;xsl:variable name=&amp;quot;REF3&amp;quot; select=&amp;quot;'REF3.XML'&amp;quot;/&amp;gt;&lt;br /&gt;        &amp;lt;xsl:variable name=&amp;quot;REF4&amp;quot; select=&amp;quot;'REF4.XML'&amp;quot;/&amp;gt;&lt;br /&gt;        &amp;lt;xsl:variable name=&amp;quot;REF5&amp;quot; select=&amp;quot;'REF5.XML'&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;!-- Redirecting REF1 Elementns to REF1.XML --&amp;gt;&lt;br /&gt;                &amp;lt;redirect:open select=&amp;quot;$REF1&amp;quot;/&amp;gt;&lt;br /&gt;                &amp;lt;redirect:write select=&amp;quot;$REF1&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;Invoice&amp;gt;&lt;br /&gt;                                &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:copy-of select=&amp;quot;Invoice/InvoiceHeader/Ref1&amp;quot;/&amp;gt;&lt;br /&gt;                                &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;                        &amp;lt;/Invoice&amp;gt;&lt;br /&gt;                &amp;lt;/redirect:write&amp;gt;&lt;br /&gt;                &amp;lt;redirect:close select=&amp;quot;$REF1&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;!-- Redirecting REF2 Elementns to REF2.XML --&amp;gt;&lt;br /&gt;                &amp;lt;redirect:open select=&amp;quot;$REF2&amp;quot;/&amp;gt;&lt;br /&gt;                &amp;lt;redirect:write select=&amp;quot;$REF2&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;Invoice&amp;gt;&lt;br /&gt;                                &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:copy-of select=&amp;quot;Invoice/InvoiceHeader/Ref2&amp;quot;/&amp;gt;&lt;br /&gt;                                &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;                        &amp;lt;/Invoice&amp;gt;&lt;br /&gt;                &amp;lt;/redirect:write&amp;gt;&lt;br /&gt;                &amp;lt;redirect:close select=&amp;quot;$REF2&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;!-- Redirecting REF3 Elementns to REF3.XML --&amp;gt;&lt;br /&gt;                &amp;lt;redirect:open select=&amp;quot;$REF3&amp;quot;/&amp;gt;&lt;br /&gt;                &amp;lt;redirect:write select=&amp;quot;$REF3&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;Invoice&amp;gt;&lt;br /&gt;                                &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:copy-of select=&amp;quot;Invoice/InvoiceHeader/Ref3&amp;quot;/&amp;gt;&lt;br /&gt;                                &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;                        &amp;lt;/Invoice&amp;gt;&lt;br /&gt;                &amp;lt;/redirect:write&amp;gt;&lt;br /&gt;                &amp;lt;redirect:close select=&amp;quot;$REF3&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;!-- Redirecting REF4 Elementns to REF4.XML --&amp;gt;&lt;br /&gt;                &amp;lt;redirect:open select=&amp;quot;$REF4&amp;quot;/&amp;gt;&lt;br /&gt;                &amp;lt;redirect:write select=&amp;quot;$REF4&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;Invoice&amp;gt;&lt;br /&gt;                                &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:copy-of select=&amp;quot;Invoice/InvoiceHeader/Ref4&amp;quot;/&amp;gt;&lt;br /&gt;                                &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;                        &amp;lt;/Invoice&amp;gt;&lt;br /&gt;                &amp;lt;/redirect:write&amp;gt;&lt;br /&gt;                &amp;lt;redirect:close select=&amp;quot;$REF4&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;!-- Redirecting REF5 Elementns to REF5.XML --&amp;gt;&lt;br /&gt;                &amp;lt;redirect:open select=&amp;quot;$REF5&amp;quot;/&amp;gt;&lt;br /&gt;                &amp;lt;redirect:write select=&amp;quot;$REF5&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;Invoice&amp;gt;&lt;br /&gt;                                &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:copy-of select=&amp;quot;Invoice/InvoiceHeader/Ref5&amp;quot;/&amp;gt;&lt;br /&gt;                                &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;                        &amp;lt;/Invoice&amp;gt;&lt;br /&gt;                &amp;lt;/redirect:write&amp;gt;&lt;br /&gt;                &amp;lt;redirect:close select=&amp;quot;$REF5&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;a name="REF1" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.1em; color:#98BF21;"&gt;REF1.XML&lt;/a&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border-spacing:0; overflow : auto; width : 650px; height : 200px; padding-left : 1em; font-size: 0.9em;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Invoice&amp;gt;&lt;br /&gt;        &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref1&amp;gt;&lt;br /&gt;                &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref1&amp;gt;&lt;br /&gt;                &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref1&amp;gt;&lt;br /&gt;                &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref1&amp;gt;&lt;br /&gt;                &amp;lt;Ref1 code=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref1&amp;gt;&lt;br /&gt;        &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;&amp;lt;/Invoice&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;a name="REF2" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.1em; color:#98BF21;"&gt;REF2.XML&lt;/a&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border-spacing:0; overflow : auto; width : 650px; height : 200px; padding-left : 1em; font-size: 0.9em;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Invoice&amp;gt;&lt;br /&gt;        &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref2&amp;gt;&lt;br /&gt;                &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref2&amp;gt;&lt;br /&gt;                &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref2&amp;gt;&lt;br /&gt;                &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref2&amp;gt;&lt;br /&gt;                &amp;lt;Ref2 code=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref2&amp;gt;&lt;br /&gt;        &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;&amp;lt;/Invoice&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;a name="REF3" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.1em; color:#98BF21;"&gt;REF3.XML&lt;/a&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border-spacing:0; overflow : auto; width : 650px; height : 200px; padding-left : 1em; font-size: 0.9em;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Invoice&amp;gt;&lt;br /&gt;        &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref3&amp;gt;&lt;br /&gt;                &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref3&amp;gt;&lt;br /&gt;                &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref3&amp;gt;&lt;br /&gt;                &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref3&amp;gt;&lt;br /&gt;                &amp;lt;Ref3 code=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref3&amp;gt;&lt;br /&gt;        &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;&amp;lt;/Invoice&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;a name="REF4" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.1em; color:#98BF21;"&gt;REF4.XML&lt;/a&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border-spacing:0; overflow : auto; width : 650px; height : 200px; padding-left : 1em; font-size: 0.9em;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Invoice&amp;gt;&lt;br /&gt;        &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref4&amp;gt;&lt;br /&gt;                &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref4&amp;gt;&lt;br /&gt;                &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref4&amp;gt;&lt;br /&gt;                &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref4&amp;gt;&lt;br /&gt;                &amp;lt;Ref4 code=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref4&amp;gt;&lt;br /&gt;        &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;&amp;lt;/Invoice&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;a name="REF5" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.1em; color:#98BF21;"&gt;REF5.XML&lt;/a&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border-spacing:0; overflow : auto; width : 650px; height : 200px; padding-left : 1em; font-size: 0.9em;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Invoice&amp;gt;&lt;br /&gt;        &amp;lt;InvoiceHeader&amp;gt;&lt;br /&gt;                &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 1&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref5&amp;gt;&lt;br /&gt;                &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 2&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref5&amp;gt;&lt;br /&gt;                &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 3&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref5&amp;gt;&lt;br /&gt;                &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 4&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref5&amp;gt;&lt;br /&gt;                &amp;lt;Ref5 code=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;                        &amp;lt;text&amp;gt;Reference Text 5&amp;lt;/text&amp;gt;&lt;br /&gt;                &amp;lt;/Ref5&amp;gt;&lt;br /&gt;        &amp;lt;/InvoiceHeader&amp;gt;&lt;br /&gt;&amp;lt;/Invoice&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;a name="Bibliography" style="font-family:verdana,helvetica,arial,sans-serif; font-size: 1.2em; color:#F0790D;"&gt;Bibliography:&lt;/a&gt;&lt;br /&gt;        &lt;div style="font-size: 1em;"&gt;&lt;br /&gt;            &lt;a href="http://xml.apache.org/xalan-j/"&gt;Apache Organization&lt;/a&gt;&lt;br /&gt;            &lt;a href="http://xml.apache.org/xalan-j/extensions.html"&gt;Xalan-Java Extensions&lt;/a&gt;&lt;br /&gt;            &lt;a href="http://xml.apache.org/xalan-j/extensionslib.html#redirect"&gt;Redirect Extension&lt;/a&gt;&lt;br /&gt;            &lt;a href="http://xml.apache.org/xalan-j/extensionslib.html#ex-redirect"&gt;Example with the Redirect extension&lt;/a&gt;&lt;br /&gt;            &lt;a href="http://xml.apache.org/xalan-j/downloads.html"&gt;Download Xalan-J 2.7.1&lt;/a&gt;&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-7018942059579242548?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/7018942059579242548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=7018942059579242548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/7018942059579242548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/7018942059579242548'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2010/01/xalan-java-version-271-extensions.html' title='Xalan-Java Version 2.7.1 Extensions - Redirect'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-8789255693725681237</id><published>2010-01-27T04:47:00.000-08:00</published><updated>2010-01-27T05:20:49.955-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event Listeners'/><category scheme='http://www.blogger.com/atom/ns#' term='Listeners'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><category scheme='http://www.blogger.com/atom/ns#' term='ServletContextListener'/><title type='text'>implementing javax.servlet.ServletContextListener</title><content type='html'>&lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            Each web application has a ServletContext associated with it. The ServletContext object is created when the application is started and is destroyed when the application is shut down. A ServletContext has a global scope and is similar to a global variable in an application. ServletContextListener will gets notified when servlet context gets initialization and destroyed. &lt;br /&gt;            &lt;br /&gt;            A Simple example of implementing javax.servlet.ServletContextListener in your web application is shown below. You need to write one class implementing javax.servlet.ServletContextListener and it's methods. As shown below:&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;U style="font-size: 1.2em; "&gt;ContextListenerIMPL.java&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;STYLE type='text/css'&gt;.comment{color:#228B22;font-weight:bold;}.key{color:#006699;font-weight:bold;}.block{color:#FF6347;font-weight:bold;}&lt;/STYLE&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;package&lt;/SPAN&gt; com.test;&lt;br /&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; javax.servlet.ServletContextEvent;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; javax.servlet.ServletContextListener;&lt;br /&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;class&lt;/SPAN&gt; ContextListenerIMPL &lt;SPAN CLASS='key'&gt;implements&lt;/SPAN&gt; ServletContextListener &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='comment'&gt;/** Creates a &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; instance of ContextListenerIMPL */&lt;/SPAN&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; ContextListenerIMPL() &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt; &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;void&lt;/SPAN&gt; contextInitialized(ServletContextEvent servletContextEvent) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='comment'&gt;/* &lt;br /&gt;        Code which should be executed just after web application context initialized should go here. &lt;br /&gt;        This code will be executed before any filter or servlet initialized. &lt;br /&gt;        */&lt;/SPAN&gt;&lt;br /&gt;        System.out.println("Web Application Context Initialized...");&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;void&lt;/SPAN&gt; contextDestroyed(ServletContextEvent servletContextEvent) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='comment'&gt;/*&lt;br /&gt;        Code which should be executed just before web application context gets destroyed should go here. &lt;br /&gt;        This code will be executed after all filter or servlet in the web application destroyed.&lt;br /&gt;        */&lt;/SPAN&gt;&lt;br /&gt;        System.out.println("Web Application Context destroyed...");&lt;br /&gt;        &lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;    &lt;br /&gt;&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            Once writting ServletContextListener for your application you need to register it in WEB.XML file of your web application. As shown in bold letters below:&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;U style="font-size: 1.2em; "&gt;WEB.XML&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 200px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;        &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;web-app version=&amp;quot;2.5&amp;quot; xmlns=&amp;quot;http://java.sun.com/xml/ns/javaee&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&amp;quot;&amp;gt;&lt;br /&gt;        . . . . . .&lt;br /&gt;        &lt;B&gt;&amp;lt;listener&amp;gt;&lt;br /&gt;                &amp;lt;listener-class&amp;gt;com.test.ContextListenerManager&amp;lt;/listener-class&amp;gt;&lt;br /&gt;        &amp;lt;/listener&amp;gt;&lt;/B&gt;&lt;br /&gt;        . . . . .&lt;br /&gt;        . . . . .&lt;br /&gt;        &amp;lt;session-config&amp;gt;&lt;br /&gt;                &amp;lt;session-timeout&amp;gt;30&amp;lt;/session-timeout&amp;gt;&lt;br /&gt;        &amp;lt;/session-config&amp;gt;&lt;br /&gt;        . . . .&lt;br /&gt;&amp;lt;/web-app&amp;gt; &lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;DIV style="font-size: 1.2em;"&gt;Other References:&lt;br /&gt;            &lt;a href="http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletContextListener.html"&gt;ServletContextListener API Docs&lt;/a&gt;&lt;br /&gt;            &lt;a href="http://java.sun.com/javaee/5/docs/tutorial/doc/bnaeo.html"&gt;Configuring Web Applications&lt;/a&gt;&lt;br /&gt;            &lt;a href="http://www.java2s.com/Code/JavaDownload/Servlets-ServletContextListener-Demo.zip"&gt;Servlets ServletContextListener Demo - www.java2s.com&lt;/a&gt;&lt;br /&gt;        &lt;/DIV&gt;&lt;br /&gt;        &lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-8789255693725681237?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/8789255693725681237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=8789255693725681237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8789255693725681237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8789255693725681237'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2010/01/implementing-javaxservletservletcontext.html' title='implementing javax.servlet.ServletContextListener'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-8909556159232783901</id><published>2010-01-27T02:18:00.000-08:00</published><updated>2010-01-27T03:02:26.096-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WMIC Command'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Software Hardware Info'/><category scheme='http://www.blogger.com/atom/ns#' term='Licensing Info'/><title type='text'>Computer Software And Hardware Information using JAVA</title><content type='html'>&lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            The example provides various information about computer hardware and software. As listed below:&lt;br /&gt;                1.&amp;nbsp;OS Installation date &amp; Time&lt;br /&gt;                2.&amp;nbsp;OS Serial Number&lt;br /&gt;                3.&amp;nbsp;Motherboard Serial Number&lt;br /&gt;                4.&amp;nbsp;Processor ID&lt;br /&gt;                5.&amp;nbsp;Computer Name&lt;br /&gt;            &lt;br /&gt;The program provides information as stream of data, It is your JOB how you will extract information from stream and utilize them?&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;div style="font-size: 0.8em;"&gt;&lt;br /&gt;            &lt;SUP&gt;*&lt;/SUP&gt; The program will work only on windows platform and on Windows XP or later OS. &lt;br /&gt;        &lt;/div&gt;        &lt;br /&gt;&lt;U style="font-size: 1.2em; "&gt;ComputerInfo.java&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;STYLE type='text/css'&gt;.comment{color:#228B22;font-weight:bold;}.key{color:#006699;font-weight:bold;}.block{color:#FF6347;font-weight:bold;}&lt;/STYLE&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.io.BufferedReader;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.io.IOException;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.io.InputStreamReader;&lt;br /&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;class&lt;/SPAN&gt; ComputerInfo &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;static&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;void&lt;/SPAN&gt; main(String[] args) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;try&lt;/SPAN&gt; &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;            String[][] commands = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; String[][]&lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;                &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;"CMD", "/C", "WMIC OS GET Installdate,SerialNumber"&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;, &lt;SPAN CLASS='comment'&gt;//OS Installation date &amp; Time, OS Serial Number&lt;/SPAN&gt;&lt;br /&gt;                &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;"CMD", "/C", "WMIC BASEBOARD GET SerialNumber"&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;, &lt;SPAN CLASS='comment'&gt;// Motherboadrd Serial Number&lt;/SPAN&gt;&lt;br /&gt;                &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;"CMD", "/C", "WMIC CPU GET ProcessorId"&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;, &lt;SPAN CLASS='comment'&gt;// Processor ID&lt;/SPAN&gt;&lt;br /&gt;                &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;"CMD", "/C", "WMIC COMPUTERSYSTEM GET Name"&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;; &lt;SPAN CLASS='comment'&gt;// Computer Name&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;           &lt;SPAN CLASS='key'&gt; for &lt;/SPAN&gt;(int i = 0; i &lt; commands.length; i++) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;                String[] com = commands[i];&lt;br /&gt;&lt;br /&gt;                Process process = Runtime.getRuntime().exec(com);&lt;br /&gt;&lt;br /&gt;                process.getOutputStream().close();  &lt;SPAN CLASS='comment'&gt;//Closing output stream of the process&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;                System.out.println();&lt;br /&gt;                String s = &lt;SPAN CLASS='key'&gt;null&lt;/SPAN&gt;;&lt;br /&gt;                &lt;SPAN CLASS='comment'&gt;//Reading sucessful output of the command&lt;/SPAN&gt;&lt;br /&gt;                BufferedReader reader = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; BufferedReader(&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; InputStreamReader(process.getInputStream()));&lt;br /&gt;                &lt;SPAN CLASS='key'&gt;while&lt;/SPAN&gt; ((s = reader.readLine()) != &lt;SPAN CLASS='key'&gt;null&lt;/SPAN&gt;) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;                    System.out.print(s);&lt;br /&gt;                &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;                &lt;SPAN CLASS='comment'&gt;// Reading error if any&lt;/SPAN&gt;&lt;br /&gt;                reader = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; BufferedReader(&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; InputStreamReader(process.getErrorStream()));&lt;br /&gt;                &lt;SPAN CLASS='key'&gt;while&lt;/SPAN&gt; ((s = reader.readLine()) != &lt;SPAN CLASS='key'&gt;null&lt;/SPAN&gt;) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;                    System.out.print(s);&lt;br /&gt;                &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;            &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;catch&lt;/SPAN&gt; (IOException e) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-8909556159232783901?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/8909556159232783901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=8909556159232783901' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8909556159232783901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8909556159232783901'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2010/01/computer-software-and-hardware.html' title='Computer Software And Hardware Information using JAVA'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-7159733116858082191</id><published>2009-12-15T05:24:00.000-08:00</published><updated>2009-12-15T23:13:11.577-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='java.net'/><title type='text'>Invoke Web Service using basic java.net package</title><content type='html'>&lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            Below code shows sample code to invoke Web Service Using basic java.net package.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;        &lt;U&gt;InvokeService.java&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;code&gt;&lt;br /&gt;&lt;STYLE type='text/css'&gt;.comment{color:#228B22;font-weight:bold;}.key{color:#006699;font-weight:bold;}.block{color:#FF6347;font-weight:bold;}&lt;/STYLE&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.io.IOException;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.io.InputStream;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.io.OutputStream;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.net.HttpURLConnection;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.net.URL;&lt;br /&gt;&lt;br /&gt;&lt;SPAN CLASS='comment'&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author tejas&lt;br /&gt; */&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;class&lt;/SPAN&gt; InvokeService &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; InvokeService() &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; String invoke(String strURL, String soapMessage, String soapAction) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        String resMessage = &lt;SPAN CLASS='key'&gt;null&lt;/SPAN&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;try&lt;/SPAN&gt; &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;SPAN CLASS='comment'&gt;// Initializing Connection with &lt;SPAN CLASS='key'&gt;default&lt;/SPAN&gt; properties&lt;/SPAN&gt;&lt;br /&gt;            URL url = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; URL(strURL);&lt;br /&gt;            HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();&lt;br /&gt;            urlCon.setAllowUserInteraction(&lt;SPAN CLASS='key'&gt;true&lt;/SPAN&gt;);&lt;br /&gt;            urlCon.setDoOutput(&lt;SPAN CLASS='key'&gt;true&lt;/SPAN&gt;);&lt;br /&gt;            urlCon.setDoInput(&lt;SPAN CLASS='key'&gt;true&lt;/SPAN&gt;);&lt;br /&gt;            urlCon.setConnectTimeout(2000); &lt;SPAN CLASS='comment'&gt;// Setting Connection Timeout&lt;/SPAN&gt;&lt;br /&gt;            urlCon.setReadTimeout(2000); &lt;SPAN CLASS='comment'&gt;// Setting Read Timeout&lt;/SPAN&gt;&lt;br /&gt;            urlCon.setRequestProperty("Action", soapAction); &lt;SPAN CLASS='comment'&gt;// Setting SOAP Action&lt;/SPAN&gt;&lt;br /&gt;            urlCon.setRequestProperty("Content-Type", "text/xml"); &lt;SPAN CLASS='comment'&gt;// Setting Content Type&lt;/SPAN&gt;&lt;br /&gt;            urlCon.connect();&lt;br /&gt;&lt;br /&gt;            &lt;SPAN CLASS='comment'&gt;// Openoutput stream and writting SOAPRequest Message&lt;/SPAN&gt;&lt;br /&gt;            OutputStream out = urlCon.getOutputStream();&lt;br /&gt;            out.write(soapMessage.getBytes());&lt;br /&gt;            out.flush();&lt;br /&gt;            out.close();&lt;br /&gt;&lt;br /&gt;            &lt;SPAN CLASS='comment'&gt;// Reading InputStream&lt;/SPAN&gt;&lt;br /&gt;            InputStream dataInputStream;&lt;br /&gt;            &lt;SPAN CLASS='key'&gt;if&lt;/SPAN&gt; (urlCon.getResponseCode() == HttpURLConnection.HTTP_OK) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;                dataInputStream = urlCon.getInputStream();&lt;br /&gt;            &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;else&lt;/SPAN&gt; &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;                dataInputStream = urlCon.getErrorStream();&lt;br /&gt;            &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;            resMessage = readInputStream(dataInputStream);&lt;br /&gt;            dataInputStream.close();&lt;br /&gt;&lt;br /&gt;            &lt;SPAN CLASS='comment'&gt;// Disconnecting &lt;/SPAN&gt;&lt;br /&gt;            urlCon.disconnect();&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;catch&lt;/SPAN&gt; (Exception ex) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;return&lt;/SPAN&gt; resMessage;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;private&lt;/SPAN&gt; String readInputStream(InputStream in) &lt;SPAN CLASS='key'&gt;throw&lt;/SPAN&gt;s IOException &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        StringBuffer sb = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; StringBuffer();&lt;br /&gt;&lt;br /&gt;       &lt;SPAN CLASS='key'&gt; int &lt;/SPAN&gt;avail = in.available();&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;while&lt;/SPAN&gt; (avail &gt; 0) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;            &lt;SPAN CLASS='key'&gt;byte&lt;/SPAN&gt;[] availBytes = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;byte&lt;/SPAN&gt;[avail];&lt;br /&gt;            in.read(availBytes);&lt;br /&gt;            sb.append(&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; String(availBytes));&lt;br /&gt;            avail = in.available();&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;return&lt;/SPAN&gt; sb.toString();&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;static&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;void&lt;/SPAN&gt; main(String[] args) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='comment'&gt;//Setting Proxy Settings If Applicable&lt;/SPAN&gt;&lt;br /&gt;        System.setProperty("proxySet", "&lt;SPAN CLASS='key'&gt;true&lt;/SPAN&gt;");&lt;br /&gt;        System.setProperty("http.proxyHost", "192.168.1.100");&lt;br /&gt;        System.setProperty("http.proxyPort", "8080");&lt;br /&gt;        System.setProperty("http.proxyUser", "ProxyUser");&lt;br /&gt;        System.setProperty("http.proxyPassword", "ProxyPassword");&lt;br /&gt;        &lt;br /&gt;        &lt;SPAN CLASS='comment'&gt;// Web Service URL&lt;/SPAN&gt;&lt;br /&gt;        String url = "http://www.myapp.com/mywebservice/invoke";&lt;br /&gt;        &lt;br /&gt;        &lt;SPAN CLASS='comment'&gt;// SOAPAction&lt;/SPAN&gt;&lt;br /&gt;        String action = "http://www.myapp.com/mywebservice/action";&lt;br /&gt;        &lt;br /&gt;        &lt;SPAN CLASS='comment'&gt;// SOAPMessage&lt;/SPAN&gt;&lt;br /&gt;        String reqMessage = "&amp;lt;soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'&amp;gt;&amp;lt;soap:Body&amp;gt;&amp;lt;Request&amp;gt;&amp;lt;Emp&amp;gt;&amp;lt;EmpNo&amp;gt;10&amp;lt;/EmpNo&amp;gt;&amp;lt;EmpName&amp;gt;Tejas Purohit&amp;lt;/EmpName&amp;gt;&amp;lt;EmpDesignation&amp;gt;Developer&amp;lt;/EmpDesignation&amp;gt;&amp;lt;/Emp&amp;gt;&amp;lt;/Request&amp;gt;&amp;lt;/soap:Body&amp;gt;&amp;lt;/soap:Envelope&amp;gt;";&lt;br /&gt;&lt;br /&gt;        InvokeService invokeService = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; InvokeService();&lt;br /&gt;&lt;br /&gt;        String res = invokeService.invoke(url, reqMessage, action);&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='comment'&gt;// Displaying Response&lt;/SPAN&gt;&lt;br /&gt;        System.out.println(res);&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-7159733116858082191?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/7159733116858082191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=7159733116858082191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/7159733116858082191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/7159733116858082191'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2009/12/invoke-web-service-using-basic-javanet.html' title='Invoke Web Service using basic java.net package'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-486954947380104207</id><published>2009-08-21T03:34:00.000-07:00</published><updated>2010-02-04T04:01:47.334-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML Transformation'/><title type='text'>XML to HTML Transformation</title><content type='html'>&lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            Below example will take SourceXML.xml(Source XML Block) and HTMLStyleSheet.xsl(StyleSheet to process XML Block) as input. On transform action StyleSheet will process given XML block and store result at Employees.html file.&lt;br /&gt;            Before running the Example you need to have following files created as described. &lt;br /&gt;            &lt;BR&gt;1. HTMLStyleSheet.xsl (given below) as input XSLT.&lt;br /&gt;            &lt;BR&gt;2. SourceXML.xml (given below) as input XML.&lt;br /&gt;            &lt;BR&gt;3. Employees.html (an blank file - to avoid FileNotFoundException while transformation) as output file.&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            SourceXML.xml given below will be used as input XML. It will be transformed to well formed HTML Document after transforming.&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;U&gt;SourceXML.xml&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Employees&amp;gt;&lt;br /&gt;    &amp;lt;Employee&amp;gt;&lt;br /&gt;        &amp;lt;EmpId&amp;gt;1&amp;lt;/EmpId&amp;gt;&lt;br /&gt;        &amp;lt;Name&amp;gt;Kapil dev&amp;lt;/Name&amp;gt;&lt;br /&gt;        &amp;lt;Address1&amp;gt;Delhi&amp;lt;/Address1&amp;gt;&lt;br /&gt;        &amp;lt;Address2&amp;gt;India&amp;lt;/Address2&amp;gt;&lt;br /&gt;        &amp;lt;BirthDate&amp;gt;1954-05-13T00:00:00+05:30&amp;lt;/BirthDate&amp;gt;&lt;br /&gt;        &amp;lt;Salary&amp;gt;500&amp;lt;/Salary&amp;gt;&lt;br /&gt;    &amp;lt;/Employee&amp;gt;&lt;br /&gt;    &amp;lt;Employee&amp;gt;&lt;br /&gt;        &amp;lt;EmpId&amp;gt;2&amp;lt;/EmpId&amp;gt;&lt;br /&gt;        &amp;lt;Name&amp;gt;Sunil Gavaskar&amp;lt;/Name&amp;gt;&lt;br /&gt;        &amp;lt;Address1&amp;gt;Mumbai&amp;lt;/Address1&amp;gt;&lt;br /&gt;        &amp;lt;Address2&amp;gt;India&amp;lt;/Address2&amp;gt;&lt;br /&gt;        &amp;lt;BirthDate&amp;gt;1945-07-10T00:00:00+05:30&amp;lt;/BirthDate&amp;gt;&lt;br /&gt;        &amp;lt;Salary&amp;gt;700&amp;lt;/Salary&amp;gt;&lt;br /&gt;    &amp;lt;/Employee&amp;gt;&lt;br /&gt;    &amp;lt;Employee&amp;gt;&lt;br /&gt;        &amp;lt;EmpId&amp;gt;3&amp;lt;/EmpId&amp;gt;&lt;br /&gt;        &amp;lt;Name&amp;gt;Alen Border&amp;lt;/Name&amp;gt;&lt;br /&gt;        &amp;lt;Address1&amp;gt;Sydney&amp;lt;/Address1&amp;gt;&lt;br /&gt;        &amp;lt;Address2&amp;gt;Australia&amp;lt;/Address2&amp;gt;&lt;br /&gt;        &amp;lt;BirthDate&amp;gt;1950-09-25T00:00:00+05:30&amp;lt;/BirthDate&amp;gt;&lt;br /&gt;        &amp;lt;Salary&amp;gt;400&amp;lt;/Salary&amp;gt;&lt;br /&gt;    &amp;lt;/Employee&amp;gt;&lt;br /&gt;    &amp;lt;Employee&amp;gt;&lt;br /&gt;        &amp;lt;EmpId&amp;gt;4&amp;lt;/EmpId&amp;gt;&lt;br /&gt;        &amp;lt;Name&amp;gt;Sachin Tendulkar&amp;lt;/Name&amp;gt;&lt;br /&gt;        &amp;lt;Address1&amp;gt;Mumbai&amp;lt;/Address1&amp;gt;&lt;br /&gt;        &amp;lt;Address2&amp;gt;India&amp;lt;/Address2&amp;gt;&lt;br /&gt;        &amp;lt;BirthDate&amp;gt;1970-02-06T00:00:00+05:30&amp;lt;/BirthDate&amp;gt;&lt;br /&gt;        &amp;lt;Salary&amp;gt;2000&amp;lt;/Salary&amp;gt;&lt;br /&gt;    &amp;lt;/Employee&amp;gt;&lt;br /&gt;    &amp;lt;Employee&amp;gt;&lt;br /&gt;        &amp;lt;EmpId&amp;gt;5&amp;lt;/EmpId&amp;gt;&lt;br /&gt;        &amp;lt;Name&amp;gt;Ricky Ponting&amp;lt;/Name&amp;gt;&lt;br /&gt;        &amp;lt;Address1&amp;gt;Melbourne&amp;lt;/Address1&amp;gt;&lt;br /&gt;        &amp;lt;Address2&amp;gt;Australia&amp;lt;/Address2&amp;gt;&lt;br /&gt;        &amp;lt;BirthDate&amp;gt;1968-02-15T00:00:00+05:30&amp;lt;/BirthDate&amp;gt;&lt;br /&gt;        &amp;lt;Salary&amp;gt;1500&amp;lt;/Salary&amp;gt;&lt;br /&gt;    &amp;lt;/Employee&amp;gt;&lt;br /&gt;&amp;lt;/Employees&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;        &lt;br /&gt;        &lt;br /&gt;        &lt;div style="font-size: 1.2em;"&gt;            &lt;br /&gt;            HTMLStyleSheet.xsl given below will be used as input XSLT. This Style Sheet will transform SourceXML.xml to well formed HTML Document.&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;U&gt;HTMLStyleSheet.xsl&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;HTML&amp;gt;&lt;br /&gt;            &amp;lt;BODY&amp;gt;&lt;br /&gt;                &amp;lt;h1&amp;gt;&lt;br /&gt;                        &amp;lt;U&amp;gt;List of Employees&amp;lt;/U&amp;gt;&lt;br /&gt;                &amp;lt;/h1&amp;gt;&lt;br /&gt;                &amp;lt;TABLE BORDER=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;TBODY&amp;gt;&lt;br /&gt;                        &amp;lt;TR&amp;gt;&lt;br /&gt;                            &amp;lt;TH&amp;gt;EmpId&amp;lt;/TH&amp;gt;&lt;br /&gt;                            &amp;lt;TH&amp;gt;Name&amp;lt;/TH&amp;gt;&lt;br /&gt;                            &amp;lt;TH&amp;gt;Address1&amp;lt;/TH&amp;gt;&lt;br /&gt;                            &amp;lt;TH&amp;gt;Address2&amp;lt;/TH&amp;gt;&lt;br /&gt;                            &amp;lt;TH&amp;gt;BirthDate&amp;lt;/TH&amp;gt;&lt;br /&gt;                            &amp;lt;TH&amp;gt;Salary&amp;lt;/TH&amp;gt;&lt;br /&gt;                        &amp;lt;/TR&amp;gt;&lt;br /&gt;                        &amp;lt;xsl:for-each select=&amp;quot;Employees&amp;quot;&amp;gt;&lt;br /&gt;                            &amp;lt;xsl:for-each select=&amp;quot;Employee&amp;quot;&amp;gt;&lt;br /&gt;                                &amp;lt;TR&amp;gt;&lt;br /&gt;                                    &amp;lt;TD&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:value-of select=&amp;quot;EmpId&amp;quot;/&amp;gt;&lt;br /&gt;                                    &amp;lt;/TD&amp;gt;&lt;br /&gt;                                    &amp;lt;TD&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:value-of select=&amp;quot;Name&amp;quot;/&amp;gt;&lt;br /&gt;                                    &amp;lt;/TD&amp;gt;&lt;br /&gt;                                    &amp;lt;TD&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:value-of select=&amp;quot;Address1&amp;quot;/&amp;gt;&lt;br /&gt;                                    &amp;lt;/TD&amp;gt;&lt;br /&gt;                                    &amp;lt;TD&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:value-of select=&amp;quot;Address2&amp;quot;/&amp;gt;&lt;br /&gt;                                    &amp;lt;/TD&amp;gt;&lt;br /&gt;                                    &amp;lt;TD&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:value-of select=&amp;quot;BirthDate&amp;quot;/&amp;gt;&lt;br /&gt;                                    &amp;lt;/TD&amp;gt;&lt;br /&gt;                                    &amp;lt;TD&amp;gt;&lt;br /&gt;                                        &amp;lt;xsl:value-of select=&amp;quot;Salary&amp;quot;/&amp;gt;&lt;br /&gt;                                    &amp;lt;/TD&amp;gt;&lt;br /&gt;                                &amp;lt;/TR&amp;gt;&lt;br /&gt;                            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;                    &amp;lt;/TBODY&amp;gt;&lt;br /&gt;                &amp;lt;/TABLE&amp;gt;&lt;br /&gt;            &amp;lt;/BODY&amp;gt;&lt;br /&gt;        &amp;lt;/HTML&amp;gt;&lt;br /&gt;    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&amp;lt;/xsl:stylesheet&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;br /&gt;        &lt;div style="font-size: 1.2em;"&gt;            &lt;br /&gt;            XmlToHtmlTransformation class contains transform method will accept source xml, source style sheet and output file. It will transform given source xml using style sheet and store result in output file. output file is Employees.html in our case.&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;U&gt;XmlToHtmlTransformation.java&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;STYLE type='text/css'&gt;.comment{color:#228B22;font-weight:bold;}.key{color:#006699;font-weight:bold;}.block{color:#FF6347;font-weight:bold;}&lt;/STYLE&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; java.io.*;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; javax.xml.transform.*;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; javax.xml.transform.stream.StreamResult;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;import&lt;/SPAN&gt; javax.xml.transform.stream.StreamSource;&lt;br /&gt;&lt;br /&gt;&lt;SPAN CLASS='comment'&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author Tejas Purohit&lt;br /&gt; */&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;class&lt;/SPAN&gt; XmlToHtmlTransformation &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;boolean&lt;/SPAN&gt; transform(String stylesheet, String sourceXML, String result) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;try&lt;/SPAN&gt; &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;            &lt;SPAN CLASS='comment'&gt;// Creating Transformer with XSLT&lt;/SPAN&gt;&lt;br /&gt;            Source sourceXSLT = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; StreamSource(&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; FileInputStream(stylesheet));&lt;br /&gt;            TransformerFactory tFactory = TransformerFactory.&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt;Instance();&lt;br /&gt;            Transformer transformer = tFactory.&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt;Transformer(sourceXSLT);&lt;br /&gt;&lt;br /&gt;            Source streamSource = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; StreamSource(&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; FileInputStream(sourceXML)); &lt;SPAN CLASS='comment'&gt;// Creating StreamSource with sourceXML&lt;/SPAN&gt;&lt;br /&gt;            Result streamResult = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; StreamResult(&lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; FileOutputStream(result)); &lt;SPAN CLASS='comment'&gt;// Creating StreamResult with result&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;            transformer.transform(streamSource, streamResult); &lt;SPAN CLASS='comment'&gt;// Transforming &lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;catch&lt;/SPAN&gt; (Exception exception) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;            exception.printStackTrace();&lt;br /&gt;&lt;br /&gt;            &lt;SPAN CLASS='key'&gt;return&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;false&lt;/SPAN&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;return&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;true&lt;/SPAN&gt;;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;    &lt;SPAN CLASS='key'&gt;public&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;static&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;void&lt;/SPAN&gt; main(String[] args) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;        XmlToHtmlTransformation xhTransformation = &lt;SPAN CLASS='key'&gt;new&lt;/SPAN&gt; XmlToHtmlTransformation();&lt;br /&gt;&lt;br /&gt;        String stylesheet = "HTMLStyleSheet.xsl";&lt;br /&gt;        String sourceXML = "SourceXML.xml";&lt;br /&gt;        String result = "Employees.html";&lt;br /&gt;&lt;br /&gt;        &lt;SPAN CLASS='key'&gt;if&lt;/SPAN&gt; (xhTransformation.transform(stylesheet, sourceXML, result)) &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;            System.out.println("Successful.");&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt; &lt;SPAN CLASS='key'&gt;else&lt;/SPAN&gt; &lt;SPAN CLASS='block'&gt;{&lt;/SPAN&gt;&lt;br /&gt;            System.out.println("Error.");&lt;br /&gt;        &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;    &lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN CLASS='block'&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;br /&gt;        &lt;div style="font-size: 1.2em;"&gt;            &lt;br /&gt;            Transformation process will generate result HTML and store in Employees.html. Once Transformation is done Employees.html will look like below:&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;U&gt;Employees.html&lt;/U&gt;&lt;br /&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 500px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;&amp;lt;HTML&amp;gt;&lt;br /&gt;    &amp;lt;BODY&amp;gt;&lt;br /&gt;        &amp;lt;h1&amp;gt;&lt;br /&gt;            &amp;lt;U&amp;gt;List of Employees&amp;lt;/U&amp;gt;&lt;br /&gt;        &amp;lt;/h1&amp;gt;&lt;br /&gt;        &amp;lt;TABLE BORDER=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;TBODY&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&lt;br /&gt;                    &amp;lt;TH&amp;gt;EmpId&amp;lt;/TH&amp;gt;&amp;lt;TH&amp;gt;Name&amp;lt;/TH&amp;gt;&amp;lt;TH&amp;gt;Address1&amp;lt;/TH&amp;gt;&amp;lt;TH&amp;gt;Address2&amp;lt;/TH&amp;gt;&amp;lt;TH&amp;gt;BirthDate&amp;lt;/TH&amp;gt;&amp;lt;TH&amp;gt;Salary&amp;lt;/TH&amp;gt;&lt;br /&gt;                &amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&lt;br /&gt;                    &amp;lt;TD&amp;gt;1&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Kapil dev&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Delhi&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;India&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;1954-05-13T00:00:00+05:30&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;500&amp;lt;/TD&amp;gt;&lt;br /&gt;                &amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&lt;br /&gt;                    &amp;lt;TD&amp;gt;2&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Sunil Gavaskar&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Mumbai&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;India&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;1945-07-10T00:00:00+05:30&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;700&amp;lt;/TD&amp;gt;&lt;br /&gt;                &amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&lt;br /&gt;                    &amp;lt;TD&amp;gt;3&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Alen Border&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Sydney&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Australia&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;1950-09-25T00:00:00+05:30&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;400&amp;lt;/TD&amp;gt;&lt;br /&gt;                &amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&lt;br /&gt;                    &amp;lt;TD&amp;gt;4&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Sachin Tendulkar&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Mumbai&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;India&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;1970-02-06T00:00:00+05:30&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;2000&amp;lt;/TD&amp;gt;&lt;br /&gt;                &amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&lt;br /&gt;                    &amp;lt;TD&amp;gt;5&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Ricky Ponting&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Melbourne&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Australia&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;1968-02-15T00:00:00+05:30&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;1500&amp;lt;/TD&amp;gt;&lt;br /&gt;                &amp;lt;/TR&amp;gt;&lt;br /&gt;            &amp;lt;/TBODY&amp;gt;&lt;br /&gt;        &amp;lt;/TABLE&amp;gt;&lt;br /&gt;    &amp;lt;/BODY&amp;gt;&lt;br /&gt;&amp;lt;/HTML&amp;gt;&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-486954947380104207?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/486954947380104207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=486954947380104207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/486954947380104207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/486954947380104207'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2009/08/xml-to-html-transformation.html' title='XML to HTML Transformation'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-3780878296972059378</id><published>2009-08-13T06:57:00.001-07:00</published><updated>2009-08-13T07:05:25.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Garbage Collection in JavaScript</title><content type='html'>&lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rich application development now a days includes wast use of JavaScript and Ajax. Latest web browsers are developed to handle such interactive web applications. All data which Ajax imports from server is stored in web browser memory cache. Larger amount of data stored in web browser cache may slow down performance of web browser. One way to release memory from web browser cache or applying garbage collection is to close the browser. But web application can't use this practice to close browser or tell user to restart web browser while web application application is running. &lt;br&gt;&lt;br /&gt;            &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You can force/implement garbage collection in JavaScript. Web developers should develop practice to force garbage collection contentiously while web application is running. &lt;br&gt;&lt;br /&gt;            &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="blue"&gt;delete&lt;/font&gt; operator is one of the most unknown and unused operators in JavaScript. You can use &lt;font color="blue"&gt;delete&lt;/font&gt; operator to release memory occupied by any unused or unreferenced objects in JavaScript. While deleting any object be sure you don't have any reference stored in any other variables for particular object. This will lead performance breakdown when these other variable will try to access the object which was deleted. You can delete any object which has performed it's job and is not going to be used in future. &lt;br&gt;&lt;br /&gt;            &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For example, You can delete window onload handler function and release any memory associated with the function, like this:&lt;br /&gt;        &lt;/div&gt;        &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 210px; padding-left : 1em; font-size: 1.0em; font-style: bold;"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var winLoadFun = function()&lt;br /&gt;{&lt;br /&gt;    // code for my function&lt;br /&gt;    delete winLoadFun;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;window.addEventListener('load', winLoadFun , false);&lt;/code&gt;&lt;br /&gt;        &lt;/pre&gt;&lt;br /&gt;        &lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-3780878296972059378?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/3780878296972059378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=3780878296972059378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/3780878296972059378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/3780878296972059378'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2009/08/garbage-collection-in-javascript.html' title='Garbage Collection in JavaScript'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-8522831952523619864</id><published>2009-08-12T08:34:00.001-07:00</published><updated>2009-08-13T07:07:34.964-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indent XML using JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='Indent XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Organize XML using JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='Organize XML'/><title type='text'>Indent XML</title><content type='html'>&lt;div style="font-size: 1.2em;"&gt;&lt;br /&gt;            Below Code Indent or Organize plain or unorganized XML String using XML API in JDK 6.&lt;br /&gt;        &lt;/div&gt;&lt;br /&gt;        &lt;div style="font-size: 1em;"&gt;IndentXML.java&lt;/div&gt;&lt;br /&gt;            &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 700px; padding-left : 1em; font-size: 1.0em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;import com.actl.dxchange.utilities.XMLUtil;&lt;br /&gt;import java.io.*;&lt;br /&gt;import javax.xml.parsers.*;&lt;br /&gt;import javax.xml.transform.*;&lt;br /&gt;import javax.xml.transform.stream.StreamResult;&lt;br /&gt;import javax.xml.transform.stream.StreamSource;&lt;br /&gt;import org.w3c.dom.*;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * XMLTransformations Utilities.&lt;br /&gt; * @author Tejas Purohit&lt;br /&gt; */&lt;br /&gt;public class IndentXML {&lt;br /&gt;&lt;br /&gt;    public IndentXML() {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Indent given XML String and returns organized String.&lt;br /&gt;     * @param strXML Plain XML String &lt;br /&gt;     * @return Organized or indented String&lt;br /&gt;     */&lt;br /&gt;    public String indentXML(String strXML) {&lt;br /&gt;&lt;br /&gt;        String result = null;&lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;&lt;br /&gt;            // Creating StreamSource from given plain XML String&lt;br /&gt;            ByteArrayInputStream bin = new ByteArrayInputStream(strXML.getBytes());&lt;br /&gt;            StreamSource streamSource = new StreamSource(bin);&lt;br /&gt;            streamSource.setSystemId("http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd");&lt;br /&gt;&lt;br /&gt;            // Creating new Transformer&lt;br /&gt;            TransformerFactory transFactory = TransformerFactory.newInstance();&lt;br /&gt;            Transformer transformer = transFactory.newTransformer();&lt;br /&gt;&lt;br /&gt;            // Setting output properties&lt;br /&gt;            transformer.setOutputProperty(OutputKeys.METHOD, "xml");&lt;br /&gt;            transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");&lt;br /&gt;            transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "5");&lt;br /&gt;            transformer.setOutputProperty(OutputKeys.INDENT, "yes");&lt;br /&gt;            transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");&lt;br /&gt;            transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd");&lt;br /&gt;            transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "-//W3C//DTD XHTML 1.1//EN");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            // Creating StreamResult&lt;br /&gt;            ByteArrayOutputStream bout = new ByteArrayOutputStream();&lt;br /&gt;            StreamResult streamResult = new StreamResult(bout);&lt;br /&gt;            streamResult.setSystemId("http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd");&lt;br /&gt;&lt;br /&gt;            // Transforming StreamSource and storing result in StreamResult&lt;br /&gt;            transformer.transform(streamSource, streamResult);&lt;br /&gt;&lt;br /&gt;            // Getting String from ByteArrayOutputStream&lt;br /&gt;            result = bout.toString();&lt;br /&gt;&lt;br /&gt;        } catch (Exception ex) {&lt;br /&gt;&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return result;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) throws Exception {&lt;br /&gt;&lt;br /&gt;        IndentXML t = new IndentXML();&lt;br /&gt;&lt;br /&gt;        String strXML = "&amp;lt;Employees&amp;gt;&amp;lt;Employee Name='Amitabh Bachapan' Designation='Director'&amp;gt;"+&lt;br /&gt;        "&amp;lt;Address&amp;gt;&amp;lt;AddressLine&amp;gt;Opp. Taj Square&amp;lt;/AddressLine&amp;gt;&amp;lt;City&amp;gt;Mumbai&amp;lt;/City&amp;gt;"+&lt;br /&gt;        "&amp;lt;Country&amp;gt;India&amp;lt;/Country&amp;gt;&amp;lt;/Address&amp;gt;&amp;lt;/Employee&amp;gt;&amp;lt;Employee Name='Shah RukRukKhan'"+&lt;br /&gt;        " Designation='Manager'&amp;gt;&amp;lt;Address&amp;gt;&amp;lt;AddressLine&amp;gt;Behind Chandani Choak&amp;lt;/AddressLine&amp;gt;"+&lt;br /&gt;        "&amp;lt;City&amp;gt;Delhi&amp;lt;/City&amp;gt;&amp;lt;Country&amp;gt;India&amp;lt;/Country&amp;gt;&amp;lt;/Address&amp;gt;&amp;lt;/Employee&amp;gt;&amp;lt;/Employees&amp;gt;";&lt;br /&gt;&lt;br /&gt;        System.out.println("Plain XML:");&lt;br /&gt;        System.out.println(strXML);&lt;br /&gt;&lt;br /&gt;        strXML = t.indentXML(strXML);&lt;br /&gt;&lt;br /&gt;        System.out.println("Organized XML:");&lt;br /&gt;        System.out.println(strXML);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt; Programme Output:&lt;br /&gt;&lt;br /&gt; Plain XML:&lt;br /&gt;&amp;lt;Employees&amp;gt;&amp;lt;Employee Name='Amitabh Bachapan' Designation='Director'&amp;gt;&amp;lt;Address&amp;gt;&amp;lt;AddressLine&amp;gt;Opp. Taj Square&amp;lt;/AddressLine&amp;gt;&amp;lt;City&amp;gt;Mumbai&amp;lt;/City&amp;gt;&amp;lt;Country&amp;gt;India&amp;lt;/Country&amp;gt;&amp;lt;/Address&amp;gt;&amp;lt;/Employee&amp;gt;&amp;lt;Employee Name='Shah RukRukKhan' Designation='Manager'&amp;gt;&amp;lt;Address&amp;gt;&amp;lt;AddressLine&amp;gt;Behind Chandani Choak&amp;lt;/AddressLine&amp;gt;&amp;lt;City&amp;gt;Delhi&amp;lt;/City&amp;gt;&amp;lt;Country&amp;gt;India&amp;lt;/Country&amp;gt;&amp;lt;/Address&amp;gt;&amp;lt;/Employee&amp;gt;&amp;lt;/Employees&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Organized XML:&lt;br /&gt;&lt;!DOCTYPE Employees PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;&lt;br /&gt;&amp;lt;!DOCTYPE Employees PUBLIC &amp;quot;-//W3C//DTD XHTML 1.1//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;Employees&amp;gt;&lt;br /&gt;     &amp;lt;Employee Name=&amp;quot;Amitabh Bachapan&amp;quot; Designation=&amp;quot;Director&amp;quot;&amp;gt;&lt;br /&gt;          &amp;lt;Address&amp;gt;&lt;br /&gt;               &amp;lt;AddressLine&amp;gt;Opp. Taj Square&amp;lt;/AddressLine&amp;gt;&lt;br /&gt;               &amp;lt;City&amp;gt;Mumbai&amp;lt;/City&amp;gt;&lt;br /&gt;               &amp;lt;Country&amp;gt;India&amp;lt;/Country&amp;gt;&lt;br /&gt;          &amp;lt;/Address&amp;gt;&lt;br /&gt;     &amp;lt;/Employee&amp;gt;&lt;br /&gt;     &amp;lt;Employee Name=&amp;quot;Shah RukRukKhan&amp;quot; Designation=&amp;quot;Manager&amp;quot;&amp;gt;&lt;br /&gt;          &amp;lt;Address&amp;gt;&lt;br /&gt;               &amp;lt;AddressLine&amp;gt;Behind Chandani Choak&amp;lt;/AddressLine&amp;gt;&lt;br /&gt;               &amp;lt;City&amp;gt;Delhi&amp;lt;/City&amp;gt;&lt;br /&gt;               &amp;lt;Country&amp;gt;India&amp;lt;/Country&amp;gt;&lt;br /&gt;          &amp;lt;/Address&amp;gt;&lt;br /&gt;     &amp;lt;/Employee&amp;gt;&lt;br /&gt;&amp;lt;/Employees&amp;gt;&lt;br /&gt; */&lt;/code&gt;&lt;/pre&gt;&lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-8522831952523619864?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/8522831952523619864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=8522831952523619864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8522831952523619864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8522831952523619864'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2009/08/indent-xml.html' title='Indent XML'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6528859358974893000.post-8217701289135690865</id><published>2009-08-11T22:21:00.000-07:00</published><updated>2009-08-13T06:54:11.626-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML Transformations in Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Convert Document to String'/><category scheme='http://www.blogger.com/atom/ns#' term='Convert String to Document'/><category scheme='http://www.blogger.com/atom/ns#' term='XML Transformation'/><title type='text'>XML Transformations in Java</title><content type='html'>&lt;div style="font-size: 1em;"&gt;&lt;br /&gt;                Java provides very robust API for XML Processing. Transforming XML String to org.w3c.dom.Document and vise versa is very simple. XMLTransformations.java given below is written using JDK6. Method getDocumentAsString transforms org.w3c.dom.Document to plain String.Method getStringAsDocument transforms plain String to org.w3c.dom.Document.&lt;br /&gt;            &lt;/div&gt;&lt;br /&gt;            &lt;label&gt;XMLTransformations.java&lt;/label&gt;&lt;br /&gt;            &lt;pre style="background-color:#F1F5F9; border:1px solid #C9D1D7; border-spacing:0; overflow : auto; width : 650px; height : 700px; padding-left : 1em; font-size: 0.9em; font-style: bold;"&gt;&lt;br /&gt;            &lt;code&gt;&lt;br /&gt;import java.io.*;&lt;br /&gt;import javax.xml.parsers.*;&lt;br /&gt;import javax.xml.transform.*;&lt;br /&gt;import javax.xml.transform.dom.DOMSource;&lt;br /&gt;import javax.xml.transform.stream.StreamResult;&lt;br /&gt;import org.w3c.dom.*;&lt;br /&gt;import org.xml.sax.InputSource;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * XMLTransformations Utilities.&lt;br /&gt; * @author Tejas Purohit&lt;br /&gt; */&lt;br /&gt;public class XMLTransformations {&lt;br /&gt;&lt;br /&gt;    public XMLTransformations() {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Transforms given org.w3c.dom.Document to String.&lt;br /&gt;     * @param node Node to convert to String&lt;br /&gt;     * @return String representation of given org.w3c.dom.Document&lt;br /&gt;     */&lt;br /&gt;    public String getDocumentAsString(Document doc) {&lt;br /&gt;&lt;br /&gt;        String result = null;&lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;&lt;br /&gt;            DOMSource domSource = new DOMSource(doc); // Getting DOM Source&lt;br /&gt;            &lt;br /&gt;            ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); // Getting Output Stream to write result&lt;br /&gt;            &lt;br /&gt;            TransformerFactory transformerfactory = TransformerFactory.newInstance(); // Getting new TransformerFactory &lt;br /&gt;            Transformer transformer = transformerfactory.newTransformer();  // Getting new Transformer&lt;br /&gt;            transformer.transform(domSource, new StreamResult(byteOut)); // Transforms DOMSource to StreamResult&lt;br /&gt;&lt;br /&gt;            result = byteOut.toString(); // Getting String from ByteArrayOutputStream&lt;br /&gt;&lt;br /&gt;        } catch (Exception ex) {&lt;br /&gt;&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return result;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Builds org.w3c.dom.Document from given String.&lt;br /&gt;     * @param strXML XML as String&lt;br /&gt;     * @return org.w3c.dom.Document builded from String&lt;br /&gt;     */&lt;br /&gt;    public Document getStringAsDocument(String strXML) {&lt;br /&gt;&lt;br /&gt;        Document doc = null;&lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;&lt;br /&gt;            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // Getting new DocumentBuilderFactory &lt;br /&gt;&lt;br /&gt;            factory.setNamespaceAware(true); // Setting namespace aware to true&lt;br /&gt;&lt;br /&gt;            DocumentBuilder builder = factory.newDocumentBuilder(); // Getting new DocumentBuilder&lt;br /&gt;&lt;br /&gt;            doc = builder.parse(new InputSource(new StringReader(strXML))); // Parsing String to Document&lt;br /&gt;&lt;br /&gt;        } catch (Exception ex) {&lt;br /&gt;&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return doc;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;            &lt;/pre&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s400/save_earth.bmp" border="0"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6528859358974893000-8217701289135690865?l=tejaspurohit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tejaspurohit.blogspot.com/feeds/8217701289135690865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6528859358974893000&amp;postID=8217701289135690865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8217701289135690865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6528859358974893000/posts/default/8217701289135690865'/><link rel='alternate' type='text/html' href='http://tejaspurohit.blogspot.com/2009/08/xml-transformations-in-java.html' title='XML Transformations in Java'/><author><name>☆Tejas Purohit</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yd00MIeb66w/S5OvqAyZaiI/AAAAAAAABp4/Wlx6G7-nRno/S220/DSCN1737.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yd00MIeb66w/SoQHlR3fqiI/AAAAAAAABo8/MP7bD5jE5zA/s72-c/save_earth.bmp' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
