<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>xml &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/xml/</link>
	<description>Feed of posts on WordPress.com tagged "xml"</description>
	<pubDate>Sat, 19 Jul 2008 06:51:11 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Adding XML namespaces via Dom4j]]></title>
<link>http://orkus.wordpress.com/?p=5</link>
<pubDate>Fri, 18 Jul 2008 17:14:03 +0000</pubDate>
<dc:creator>evermean</dc:creator>
<guid>http://orkus.wordpress.com/?p=5</guid>
<description><![CDATA[Hello everyone,
today&#8217;s article is about adding namespaces to your XML document using Java and]]></description>
<content:encoded><![CDATA[<p><span style="color:#000000;">Hello everyone,</span></p>
<p>today's article is about adding namespaces to your XML document using Java and Dom4j, so let's get started...</p>
<p>First of all we need an instance of the Dom4j factory, here is how we do it...</p>
<p><code><span style="color:#008000;"> //Get an instance of the dom4j document factory</span><br />
DocumentFactory factory = DocumentFactory.getInstance();</code></p>
<p>...next we create an element which is going to serve as the root element as well as a new xml document using the factory object.</p>
<p><code> <span style="color:#008000;">//use the factory to create a root element</span><br />
Element rootElement = factory.createElement("RootElement");<br />
<span style="color:#008000;">//use the factory to create a new document with the previously created root element</span><br />
Document doc = factory.createDocument(rootElement);</code></p>
<p>Now we are ready to create our namespaces.</p>
<p><code><span style="color:#008000;">//create some dom4j namespaces that we like to add to our new document</span><br />
Namespace namespace1 = new Namespace("xsd","http://www.w3.org/2001/XMLSchema#");<br />
Namespace namespace2 = new Namespace("rdfs","http://www.w3.org/2000/01/rdf-schema#");<br />
Namespace namespace3 = new Namespace("rdf","http://www.w3.org/1999/02/22-rdf-syntax-ns#");<br />
Namespace namespace4 = new Namespace("owl","http://www.w3.org/2002/07/owl#");<br />
Namespace namespace5 = new Namespace("some","http://some/other/namespace:-)#");</code></p>
<p>The last step we have to take is to add all the namespaces to the XML document.</p>
<p><code><span style="color:#008000;">//add the created namespaces to the document</span><br />
doc.getRootElement().add(namespace1);<br />
doc.getRootElement().add(namespace2);<br />
doc.getRootElement().add(namespace3);<br />
doc.getRootElement().add(namespace4);<br />
doc.getRootElement().add(namespace5);</code></p>
<p>Finished! To check if everything worked as intended we're going to write the document to an XML file...</p>
<p><code><strong><span style="color:#800080;">try</span></strong> {<br />
<span style="color:#008000;">//write the created document to an arbitrary file </span><br />
FileOutputStream fos = new FileOutputStream( "files/output.xml" );</code></p>
<p><code>OutputFormat outformat = OutputFormat.createPrettyPrint();<br />
XMLWriter writer = new XMLWriter(fos, outformat);<br />
writer.write(doc);<br />
writer.flush();</code></p>
<p><code>} <strong><span style="color:#800080;">catch</span></strong> (FileNotFoundException e) {<br />
<span style="color:#008000;">// catch exception</span><br />
e.printStackTrace();<br />
} <strong><span style="color:#800080;">catch</span></strong> (UnsupportedEncodingException e) {<br />
<span style="color:#008000;">// catch exception</span><br />
e.printStackTrace();<br />
} <strong><span style="color:#800080;">catch</span></strong> (IOException e) {<br />
<span style="color:#008000;">// catch exception</span><br />
e.printStackTrace();<br />
}</code></p>
<p>...if everything went fine we should end up with an XML file that looks like this:</p>
<p><code>&#60;?xml version="1.0" encoding="UTF-8"?&#62;</code><br />
<code><br />
&#60;RootElement xmlns:xsd="http://www.w3.org/2001/XMLSchema#"<br />
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"<br />
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"<br />
xmlns:owl="http://www.w3.org/2002/07/owl#"<br />
xmlns:some="http://some/other/namespace:-)#"&#62;</code></p>
<p><code>&#60;/RootElement&#62;</code></p>
<p>So this is how you add namespaces to your xml document via Dom4j...have a nice day and stay tuned for more face-melting articles :o)...</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Office 2007 e il formato odf]]></title>
<link>http://ercolinux.wordpress.com/?p=156</link>
<pubDate>Fri, 18 Jul 2008 15:46:00 +0000</pubDate>
<dc:creator>ercolinux</dc:creator>
<guid>http://ercolinux.wordpress.com/?p=156</guid>
<description><![CDATA[Un po&#8217; di tempo fa è uscita la notizia secondo cui Microsoft integrerà nel SP2 di Office 200]]></description>
<content:encoded><![CDATA[<p>Un po' di tempo fa è uscita la notizia secondo cui Microsoft integrerà nel SP2 di Office 2007, previsto verso la metà del 2009, il plugin per gestire i file ODF di OpenOffice e Koffice.</p>
<p>Secondo me è una manovra per calmare le acque con i vari antitrust: volendo potrebbe farlo uscire come patch anche subito, invece sta aspettando volontariamente qualche mese. Molti si dicono preoccupati del fatto che con il supporto ODF in Office l'interesse dei governi e delle grandi istituzioni verso OpenOffice diminuirà, io invece penso che potrebbe succedere proprio il contrario (e secondo me anche Ballmer &#38; Co. non sono così tranquilli).</p>
<p>Con Openoffice 3.0 alle porte il gap di funzionalità con Office si è ridotto di molto, oltretutto nell'ambito delle PA e degli uffici i programmi di videoscrittura e i fogli di calcolo vengono normalmente sfruttati per 10-20% delle loro caratteristiche, e in quel 10-20% openoffice non è inferiore di certo al cugino closed source. Eliminando di fatto uno dei pochi problemi che esistevano oggi, cioè quello della compatibilità di formato, ci si troverebbe nella situazione di dover scegliere fra una costosa suite closed source e una gratuita ma altrettando performante: a questo punto diventerebbe molto difficile per Microsoft, che già oggi sta perdendo mercato in questo settore, vincere la sfida.</p>
<p>I mesi di ritardo sull'uscita sono secondo me stati calcolati molto bene: le PA e le aziende (specialmente quelle medio-piccole che sono la maggioranza qui in Europa)  non aggiornano il loro software a ogni nuova release, ma sovente fanno le migrazioni saltandone 1 o anche 2, in pratica quando il prodotto smette di essere supportato o la nuova release introduce funzionalità insostituibili: ancora oggi infatti non è raro trovare Office XP o Office 2000 in molti uffici (anche di una certa dimensione); ora siccome il supporto esteso per Office 2000  <a href="http://support.microsoft.com/lifecycle/?p1=2484">terminerà</a> nella prima metà del 2009 insieme a quello standard di Office 2003 ecco chiaro il perchè aspettare la metà del 2009 per uscire: le aziende e le PA (in italia ma credo anche all'estero) <span style="text-decoration:line-through;">devono</span> dovrebbero per legge utilizzare software aggiornato per un discorso legato alla sicurezza dei dati, quindi nel 2009 (sempre in teoria) tutti quelli che usano ancora Office 2000 dovrebbero migrare alla nuova versione, e anche chi usa Office 2003 avrà solo più le patch di sicurezza, metre tutto il resto diventerà a pagamento quindi potrebbe essere appetibile una migrazione. Ed ecco perchè farlo uscire dopo: cercheranno di sfruttare l'onda delle migrazioni da 2000/Xp/2003 a 2007 togliendo mercato a OpenOffice.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Interesting BBC data to hack with]]></title>
<link>http://derivadow.wordpress.com/?p=460</link>
<pubDate>Fri, 18 Jul 2008 11:40:22 +0000</pubDate>
<dc:creator>Tom Scott</dc:creator>
<guid>http://derivadow.wordpress.com/?p=460</guid>
<description><![CDATA[If you are interested in our on going drive to make our data available in interesting and useful way]]></description>
<content:encoded><![CDATA[<p>If <a href="http://uk.techcrunch.com/2008/06/02/while-the-bbc-fiddles-britains-innovation-burns/">you</a> are interested in our on going drive to <a href="http://derivadow.com/2008/04/16/highly-connected-graphs-opening-bbc-data/">make our data available</a> in interesting and useful ways you might be interested in <a href="http://www.aelius.com/njh/">Nick</a>, <a href="http://www.metade.org/">Patrick</a>, <a href="http://whomwah.com/">Duncan</a> and Sean's recent work.</p>
<p><a href="http://www.flickr.com/photos/ian-s/2152798588/"><img class="alignnone size-full wp-image-461" src="http://derivadow.wordpress.com/files/2008/07/data.jpg" alt="" width="500" height="375" /></a></p>
<h2>XML views of radio AOD availability</h2>
<p>If you head over to <code>bbc.co.uk/radio/aod/availability/:network.xml</code> then you will get an XML file (updated every 3 hours) with details about what's available to listen to now and in the next 48 hours. So for example:</p>
<p><a href="http://www.bbc.co.uk/radio/aod/availability/radio1.xml">http://www.bbc.co.uk/radio/aod/availability/radio1.xml</a></p>
<p>Will give you data about Radio 1 data [obviously]. The file contains a bunch of metadata about the episodes including details of the stream URLs.</p>
<p>What you will notice is that we're not pointing you directly at the URLs for the audio instead we're directing you to our 'Media Selector' which we use to maintain the availability window. So if you follow the media selector link you will get back a lump of XML with details of the available media. By the way you'll want to use the <code>/mediaSelection/media/@encoding = real</code>. Ignore the MP3 that's a 'secure' stream used in iPlayer.</p>
<h2>Programme schedules as XML, YAML, JSON and Text</h2>
<p>Duncan has already written about his work to implement <a href="http://www.bbc.co.uk/blogs/radiolabs/2008/07/some_ical_views_onto_programme.shtml">iCal views</a> on the Radio Labs blog:</p>
<blockquote><p><a href="http://www.bbc.co.uk/go/blogs/radiolabs/2008/07/some_ical_views_onto_programme.shtml/ext/_auto/-/http://en.wikipedia.org/wiki/ICalendar">iCalendar</a> is a standard for calendar data exchange. It is most notably used by<a href="http://www.bbc.co.uk/go/blogs/radiolabs/2008/07/some_ical_views_onto_programme.shtml/ext/_auto/-/http://www.apple.com/macosx/features/300.html#ical"> Apple's iCal application</a>, <a href="http://www.bbc.co.uk/go/blogs/radiolabs/2008/07/some_ical_views_onto_programme.shtml/ext/_auto/-/http://office.microsoft.com/en-us/outlook/HA101674951033.aspx">Microsoft's Outlook</a> and <a href="http://www.bbc.co.uk/go/blogs/radiolabs/2008/07/some_ical_views_onto_programme.shtml/ext/_auto/-/http://calendar.google.com/">Google Calendar</a>, to import and export calendar information. We thought that some of the views in <a href="http://bbc.co.uk/programmes">/programmes</a> would also work well in the iCal format, so we have exposed a few for you to subscribe to, and play with.</p></blockquote>
<p>These are available for your regular schedule and for genres [upcoming cricket programmes for example] and for individual programmes. For example:</p>
<blockquote><p>Upcoming episodes of Eastenders<br />
<a href="//bbc.co.uk/programmes/b006m86d/episodes/upcoming.ics">webcal://bbc.co.uk/programmes/b006m86d/episodes/upcoming.ics</a><br />
Upcoming (New) episodes of Eastenders<br />
<a href="//bbc.co.uk/programmes/b006m86d/episodes/upcoming/debut.ics">webcal://bbc.co.uk/programmes/b006m86d/episodes/upcoming/debut.ics</a><br />
Episodes of Eastenders available to watch again<br />
<a href="//bbc.co.uk/programmes/b006m86d/episodes/player.ics">webcal://bbc.co.uk/programmes/b006m86d/episodes/player.ics</a></p></blockquote>
<p>In addition to iCal you can also get this data as plain text, XML, JSON or YAML. So the upcoming drama programmes as XML can be found here:</p>
<p><a href="http://www.bbc.co.uk/programmes/genres/drama/schedules/upcoming.xml">http://www.bbc.co.uk/programmes/genres/drama/schedules/upcoming.xml</a></p>
<p>Or the Radio 1 schedule as plain text as:</p>
<p><a href="http://www.bbc.co.uk/radio1/programmes/schedules.txt">http://www.bbc.co.uk/radio1/programmes/schedules.txt</a></p>
<h2>Artist pages as RDF</h2>
<p>We're busy doing a load of work on the music site right now which will be launching really soon. When we do in addition to lots of HTML we'll also me making the data available for machines - including RDF. But if you are into this sort of thing here's a sneaky peak at what will be released:<br />
[sourcecode language='xml']<br />
<?xml version="1.0" encoding="utf-8"?><br />
<rdf:RDF xmlns:rdf      = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"<br />
         xmlns:rdfs     = "http://www.w3.org/2000/01/rdf-schema#"<br />
         xmlns:foaf     = "http://xmlns.com/foaf/0.1/"<br />
         xmlns:mo       = "http://purl.org/ontology/mo/"<br />
         xmlns:mf       = "http://purl.org/ontology/mo/mf#"<br />
         xmlns:owl      = "http://www.w3.org/2002/07/owl#"<br />
         xmlns:time     = "http://www.w3.org/2006/time#"<br />
         xmlns:dc       = "http://purl.org/dc/elements/1.1/"<br />
         xmlns:timeline = "http://purl.org/NET/c4dm/timeline.owl#"<br />
         xmlns:event    = "http://purl.org/NET/c4dm/event.owl#"></p>
<p><rdf:Description rdf:about="/music/artists/cc197bad-dc9c-440d-a5b5-d52ba2e14234.rdf"><br />
  <rdfs:label>Description of the artist Coldplay</rdfs:label><br />
</rdf:Description></p>
<p><mo:MusicGroup rdf:about="/music/artists/cc197bad-dc9c-440d-a5b5-d52ba2e14234#artist"><br />
  <foaf:name>Coldplay</foaf:name></p>
<p>  <mo:image rdf:resource="/music/images/artists/7col_in/cc197bad-dc9c-440d-a5b5-d52ba2e14234.jpg" /></p>
<p>  <mo:musicbrainz rdf:resource="http://musicbrainz.org/artist/cc197bad-dc9c-440d-a5b5-d52ba2e14234" /><br />
  <mo:homepage rdf:resource="http://www.coldplay.com/" /><br />
  <mo:fanpage rdf:resource="http://www.pleasureunit.com/coldplay/index.php" /><br />
  <mo:wikipedia rdf:resource="http://en.wikipedia.org/wiki/Coldplay" /><br />
  <mo:imdb rdf:resource="http://www.imdb.com/name/nm1095892/" /><br />
  <mo:myspace rdf:resource="http://www.myspace.com/coldplay" /></p>
<p>  <mo:member rdf:resource="/music/artists/18690715-59fa-4e4d-bcf3-8025cf1c23e0#artist" /><br />
  <mo:member rdf:resource="/music/artists/d156ceb2-fd90-4e82-baea-829bbdf1c127#artist" /><br />
  <mo:member rdf:resource="/music/artists/6953c4db-7214-4724-a140-e87550bde420#artist" /><br />
  <mo:member rdf:resource="/music/artists/98d1ec5a-dd97-4c0b-9c83-7928aac89bca#artist" /></p>
<p></mo:MusicGroup></p>
<p><mo:SoloMusicArtist rdf:about="/music/artists/18690715-59fa-4e4d-bcf3-8025cf1c23e0#artist"><br />
  <foaf:name>Guy Berryman</foaf:name><br />
</mo:SoloMusicArtist><br />
<mo:SoloMusicArtist rdf:about="/music/artists/d156ceb2-fd90-4e82-baea-829bbdf1c127#artist"><br />
  <foaf:name>Jon Buckland</foaf:name><br />
</mo:SoloMusicArtist><br />
<mo:SoloMusicArtist rdf:about="/music/artists/6953c4db-7214-4724-a140-e87550bde420#artist"><br />
  <foaf:name>Will Champion</foaf:name><br />
</mo:SoloMusicArtist><br />
<mo:SoloMusicArtist rdf:about="/music/artists/98d1ec5a-dd97-4c0b-9c83-7928aac89bca#artist"><br />
  <foaf:name>Chris Martin</foaf:name><br />
</mo:SoloMusicArtist></p>
<p></rdf:RDF></p>
<p>[/sourcecode]<br />
We would really welcome your feedback on any of this.</p>
<h2>And finally a bit of URL hackery...</h2>
<p>Our decision to use <a href="http://www.bbc.co.uk/blogs/radiolabs/2007/11/urls.shtml">opaque IDs</a> for our programmes [episodes, series and programme brands] means that we can provide persistent URL - which is a good thing. The downside is that you can't guess the URL. To fix this you can now enter URLs like this:</p>
<p><a href="http://www.bbc.co.uk/programmes/eastenders">www.bbc.co.uk/programmes/eastenders</a> and you will be redirected to<a href="http://www.bbc.co.uk/programmes/eastenders"> www.bbc.co.uk/programmes/a-z/by/eastenders/all</a></p>
<p>That's a disambiguation page for all programmes with Eastenders in the title. If however there's just one programme with that title, like for example <a href="http://www.bbc.co.uk/programmes/chrismoyles">www.bbc.co.uk/programmes/chrismoyles</a> then you will be redirected to that brand page (<a href="http://www.bbc.co.uk/programmes/b006wkqb">www.bbc.co.uk/programmes/b006wkqb</a>).</p>
<pre>Photo: <a href="http://www.flickr.com/photos/ian-s/2152798588/">Data storage - old and new</a>, by Ian-s. Used under licence.</pre>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Latest Freshers Jobs]]></title>
<link>http://freshershome.wordpress.com/?p=42</link>
<pubDate>Fri, 18 Jul 2008 10:23:46 +0000</pubDate>
<dc:creator>freshershome</dc:creator>
<guid>http://freshershome.wordpress.com/?p=42</guid>
<description><![CDATA[-2008-Jul-18 : Software Engineers (Bangalore)
Job Posted Link: Software Engineers, Job at Bangalore ]]></description>
<content:encoded><![CDATA[<p><strong>-2008-Jul-18 : Software Engineers (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10014">Software Engineers, Job at Bangalore - Kasshku Information Technologies Pvt. Ltd</a></p>
<p><strong>-2008-Jul-18 : Freshers Walk-in - Php, XML, JavaScript, HTML (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10013">Freshers Walk-in - Php, XML, JavaScript, HTML, Job at Bangalore - vynco technologies</a></p>
<p><strong>-2008-Jul-18 : Fresher Trainee Engineer (Mumbai)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10012">Fresher Trainee Engineer, Job at Mumbai - I-Source Infosystems Pvt Ltd</a></p>
<p><strong>-2008-Jul-18 : Fresher Game Tester (Navi-Mumbai)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10011">Fresher Game Tester, Job at Navi-Mumbai - Indiagames Ltd</a></p>
<p><strong>-2008-Jul-18 : Freshers Customer Service Professionals - Technical Support (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10010">Freshers Customer Service Professionals - Technical Support, Job at Bangalore - SITEL India Limited</a></p>
<p><strong>-2008-Jul-18 : Fresher Sales and Marketing Executive (Delhi)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10009">Fresher Sales and Marketing Executive, Job at Delhi - Imfinity India Pvt Ltd</a></p>
<p><strong>-2008-Jul-18 : Fresher Telecom Engineer (Maharastra, Rajasthan, Gujrath, M.P, A.P, Orissa, W.B, Karnataka, Tamil-Nadu, Kerala, SriLanka.( RF,RNO, BTS ))</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10007">Fresher Telecom Engineer, Job at Maharastra, Rajasthan, Gujrath, M.P, A.P, Orissa, W.B, Karnataka, Tamil-Nadu, Kerala, SriLanka.( RF,RNO, BTS ) - I-Source Infosystems Pvt Ltd</a></p>
<p><strong>-2008-Jul-18 : Project Trainees (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10006">Project Trainees, Job at Bangalore - Kasshku Information Technologies Pvt Ltd</a></p>
<p><strong>-2008-Jul-18 : Web Publishing Executives (Pune)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10004">Web Publishing Executives, Job at Pune - Reality Information Systems Pvt Ltd</a></p>
<p><strong>-2008-Jul-18 : Freshers Implementation Executive (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10003">Freshers Implementation Executive, Job at Bangalore - Relyon Softech Ltd</a></p>
<p><strong>-2008-Jul-18 : Freshers Receptionist (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10002">Freshers Receptionist, Job at Bangalore - Kasshku Information Technologies Pvt Ltd</a></p>
<p><strong>-2008-Jul-18 : Fresher Game Designer (Mumbai)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10001">Fresher Game Designer, Job at Mumbai - Indiagames Ltd</a></p>
<p><strong>-2008-Jul-18 : Service Desk Co-Ordinator (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=10000">Service Desk Co-Ordinator, Job at Bangalore - Microland Ltd</a></p>
<p><strong>-2008-Jul-18 : Wanted Project Trainees In Java&#38;amp;J2EE,DotNet(ASP.Net &#38;amp;C#) And Testing(Manual&#38;amp;Automation)! (Hyderabad)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9993">Wanted Project Trainees In Java&#38;J2EE,DotNet(ASP.Net &#38;C#) And Testing(Manual&#38;Automation)!, Job at Hyderabad - HughSoft</a></p>
<p><strong>-2008-Jul-18 : Walk-in Software Developers [ 18th July and 19th July ] (Gurgaon)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9328">Walk-in Software Developers [ 18th July and 19th July ], Job at Gurgaon - Tech Ray Solutions</a></p>
<p><strong>-2008-Jul-18 : Walkin for J2EE and .NET freshers [ 26th - 27th July ] (Chennai)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=8081">Walkin for J2EE and .NET freshers [ 26th - 27th July ], Job at Chennai - Aavanor Systems Pvt Ltd.,</a></p>
<p><strong>-2008-Jul-18 : Fresher Graduate Intern (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9977">Fresher Graduate Intern, Job at Bangalore - INTEL INDIA</a></p>
<p><strong>-2008-Jul-18 : Fresher Management Trainees (Pimpri, Pune)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9978">Fresher Management Trainees, Job at Pimpri, Pune - Hindustan Antibiotics Limited</a></p>
<p><strong>-2008-Jul-18 : Freshers Management &#38;amp; Marketing Walk-in (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9981">Freshers Management &#38; Marketing Walk-in, Job at Bangalore - HCL</a></p>
<p><strong>-2008-Jul-18 : Fresher Software Engineer Trainee Walk-in (Mumbai)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9982">Fresher Software Engineer Trainee Walk-in, Job at Mumbai - ACE Software Solutions</a></p>
<p><strong>-2008-Jul-18 : Software Test Engineers (Hyderabad)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9989">Software Test Engineers, Job at Hyderabad - D. E. Shaw India Software Pvt Ltd</a></p>
<p><strong>-2008-Jul-17 : Fresher Interim Intern - Software Engineer (Hyderabad)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9994">Fresher Interim Intern - Software Engineer, Job at Hyderabad - QUALCOMM CDMA Technologies (QCT)</a></p>
<p><strong>-2008-Jul-17 : Fresher Graduate Engineer Trainee (Hyderabad - AP, India)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9636">Fresher Graduate Engineer Trainee, Job at Hyderabad - AP, India - QUALCOMM CDMA Technologies</a></p>
<p><strong>-2008-Jul-17 : Fresher QA - CAD Engineer (Hyderabad, AP-India)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9676">Fresher QA - CAD Engineer, Job at Hyderabad, AP-India - QualCore Logic Ltd</a></p>
<p><strong>-2008-Jul-17 : Business Development Support Executive (Ahmedabad)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9992">Business Development Support Executive, Job at Ahmedabad - TatvaSoft</a></p>
<p><strong>-2008-Jul-17 : Software Engineers with 0-1 years (Pune)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9991">Software Engineers with 0-1 years, Job at Pune - MetrixLine India</a></p>
<p><strong>-2008-Jul-17 : Fresher Field Application Engineer - Noida (Noida)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9983">Fresher Field Application Engineer - Noida, Job at Noida - Sequence Design (I) Pvt Ltd</a></p>
<p><strong>-2008-Jul-17 : Freshers Customer Service Representative (Mumbai)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9984">Freshers Customer Service Representative, Job at Mumbai - i2c World Pvt Ltd</a></p>
<p><strong>-2008-Jul-17 : Freshers Engineer / Trainee / ITI / Graduate (Rajkot)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=9985">Freshers Engineer / Trainee / ITI / Graduate, Job at Rajkot - Rajoo Engineers Ltd</a></p>
<p><strong>-2008-Jul-17 : Fresher Testing Professionals (Bangalore)</strong></p>
<p>Job Posted Link: <a rel="nofollow" href="http://www.freshershome.com/jobs/index.php?post_id=5975">Fresher Testing Professionals, Job at Bangalore - Tanyasolutions</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Vynco Technologies Freshers PHP/HTML/JAVA Script/XML @ Bangalore]]></title>
<link>http://thewalkin.wordpress.com/?p=257</link>
<pubDate>Fri, 18 Jul 2008 06:56:11 +0000</pubDate>
<dc:creator>govjobs</dc:creator>
<guid>http://thewalkin.wordpress.com/?p=257</guid>
<description><![CDATA[Vynco Technologies is Conducting a Fresher Walk-in Interview.
Candidates having knowledge in php, xm]]></description>
<content:encoded><![CDATA[<p>Vynco Technologies is Conducting a Fresher Walk-in Interview.<br />
Candidates having knowledge in php, xml, javascript, html, attend the inerview, on 19 july 2008</p>
<p><strong>venue:</strong><br />
no 96, vynco technologies,<br />
airport road domlur<br />
opp to indian oil petrol pump<br />
Bangalore</p>
<p><strong>Phone:</strong> 25354040 / 9844442925</p>
<p><a href="http://www.freshershome.com/jobs/index.php?post_id=10013" target="_blank">More Details are Here</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[XLIFF and InDesign]]></title>
<link>http://lajavaloca.wordpress.com/?p=11</link>
<pubDate>Fri, 18 Jul 2008 06:34:15 +0000</pubDate>
<dc:creator>bradpeabody</dc:creator>
<guid>http://lajavaloca.wordpress.com/?p=11</guid>
<description><![CDATA[
Just a quick post to see if anyone else out there who finds this article via Google or wherever is ]]></description>
<content:encoded><![CDATA[<div class="snap_preview">
<p>Just a quick post to see if anyone else out there who finds this article via Google or wherever is interested in solving some of the translations issues with InDesign by using XLIFF.  XLIFF is a standard XML-based format for storing translations, simplifying your translations workflow by making the actual containing format for the translations standard - and then having various software vendors implement import/export features to/from XLIFF.</p>
<p>Currently InDesign does not have any integration with XLIFF.  However, InDesign 4 is scheduled to have a great deal more XML support, and there is a possibility that we can get a workable XLIFF import/export workflow happening.  Anyone else interested?</p></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Desenvolvimento de Websites seguindo os Padrões Web]]></title>
<link>http://atercricaodesites.wordpress.com/?p=187</link>
<pubDate>Thu, 17 Jul 2008 21:03:46 +0000</pubDate>
<dc:creator>temcosta</dc:creator>
<guid>http://atercricaodesites.wordpress.com/?p=187</guid>
<description><![CDATA[
As tecnologias criadas pelo World Wide Web Consortium (W3C) permite projetar e desenvolver websites]]></description>
<content:encoded><![CDATA[<div>
<p>As tecnologias criadas pelo World Wide Web Consortium (W3C) permite projetar e desenvolver websites suportados pela maioria dos navegadores e dispositivos atuais, além de fornecer compatibilidade futura com a evolução dos padrões e dos navegadores.</p>
<p>A prática dos Padrões Web (Web Standards) - também conhecidas como "Tableless" - é indicada em projetos web pois traz muitas vantagens e benefícios.</p>
<p>A utilização da semântica do HTML e da separação de design e conteúdo há uma diminuição dos custos de produção e manutenção, enquanto torna os sites mais acessíveis àqueles com necessidades especiais</p>
<h1>O que fazemos</h1>
<div>
<p>Nesta área de atuação oferecemos os seguintes serviços à sua empresa.</p>
<h3>Adequação de Interfaces aos Padrões Web</h3>
<p>A <strong>Simples Consultoria</strong> oferece este serviço de adequação para que os sites e sistemas de sua empresa possam usufruir de todos os benefícios dos padrões Web sem perder a identidade visual já existente.</p>
<p>O projeto é realizado de forma a deixar as páginas leves através da utilização de folhas de estilo (CSS - Cascade Style Sheets) e da substituição de imagens por textos.</p>
<p>Conheça alguns dos nossos <a href="/php/http_root/www/ater/conteudo/conteudo/servicos/acessoria/padroes/casos_sucesso">casos de sucesso</a> e os <a href="/php/http_root/www/ater/conteudo/conteudo/servicos/acessoria/padroes/beneficios">benefícios</a> da utilização dos padrões.</p>
<h3>Mentoria em Projetos de Migração de WebSites</h3>
<p>Se sua equipe de TI está adequando seus sites e sitemas para os padrões web em busca de compatibilidade entre os navegadores e redução de custo com seu provedor (veja os benefícios dos padrões web), a <strong>ATer </strong>pode ajudá-lo com o trabalho de mentoria,   transferindo conhecimento e capacitando sua equipe.</p>
<p>Nossos profissionais possuem grande experiência em migrações de sites para   padrões web, com diversos casos de sucesso.</p>
<h1>Beneficios</h1>
<div>
<p>Os benefícios da utilização dos padrões do Web são:</p>
<ul>
<li>Melhora da acessibilidade do site ou sistema web, tanto para deficientes quanto para usuários de dispositivos móveis como PDA's, celulares, smartphones, etc.</li>
<li>Maior compatibilidade entre diferentes tipos de browsers (Internet Explorer, Mozilla Firefox, Opera, Konqueror, Safari etc.) sem a dificuldade e despesa de criar versões separadas.</li>
<li>Melhor visibilidade no Google e nos demais mecanismos de busca, pois os padrões utiliza a estrutura semântica simples do HTML.</li>
<li>O código HTML se torna muito mais compacto ao se separar conteúdo, design e   programação.</li>
<li>A divisão do código possibilita o trabalho simultâneo dos diversos membros da equipe (desenvolvedores e designers) e permite maior agilidade na manutenção do site.</li>
<li>O browser interpreta as informações de layout (em um arquivo CSS) de 30% a 70% mais rapidamente, o que gera uma queda considerável no download dos arquivos do site.</li>
<li>Economia de banda na transmissão dos arquivos, pois com a utilização dos   padrões os arquivos possuem menor tamanho.</li>
</ul>
</div>
</div>
</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[What we're up to...]]></title>
<link>http://dgca400.wordpress.com/?p=84</link>
<pubDate>Thu, 17 Jul 2008 20:48:00 +0000</pubDate>
<dc:creator>dgca400</dc:creator>
<guid>http://dgca400.wordpress.com/?p=84</guid>
<description><![CDATA[Kevin and I are currently working with another partner in setting up a new website&#8230;
We&#8217;l]]></description>
<content:encoded><![CDATA[<p>Kevin and I are currently working with another partner in setting up a new website...</p>
<p>We'll give more details when its ready to go.</p>
<p>Some of the tech highlights:</p>
<p>We've migrated from acegi securit to spring security (pretty straightforward)</p>
<p>Carrying on with our hibernate model</p>
<p>Extending our previous architecture to be more lightweight and more OO-centric - use of worker and helper classes to decouple.</p>
<p>Use of XML to communicate between layers.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[I'm thinking about developing an own Firefox addon]]></title>
<link>http://fireflake.wordpress.com/?p=124</link>
<pubDate>Thu, 17 Jul 2008 15:53:19 +0000</pubDate>
<dc:creator>fireflake</dc:creator>
<guid>http://fireflake.wordpress.com/?p=124</guid>
<description><![CDATA[I thought I&#8217;d start here: http://kb.mozillazine.org/Dev_:_Extensions
Anyone else have some poi]]></description>
<content:encoded><![CDATA[<p>I thought I'd start here: <a href="http://kb.mozillazine.org/Dev_:_Extensions">http://kb.mozillazine.org/Dev_:_Extensions</a></p>
<p>Anyone else have some pointers ideas for resources to check out? There are alot of technologies I need to read up on, of those mentioned on the site I only really know JavaScript and basic XML/XSLT but not the "flavours" they are using in the Firefox project.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Una excelente función para leer XML desde PHP]]></title>
<link>http://jseros.wordpress.com/?p=15</link>
<pubDate>Thu, 17 Jul 2008 15:03:36 +0000</pubDate>
<dc:creator>jseros</dc:creator>
<guid>http://jseros.wordpress.com/?p=15</guid>
<description><![CDATA[Vía php.net, encontré una función muy practica para leer convertir desde PHP un archivo XML en un]]></description>
<content:encoded><![CDATA[<p>Vía <a title="XML Reader" href="http://www.php.net/manual/es/class.xmlreader.php#83929" target="_blank">php.net</a>, encontré una función muy practica para leer convertir desde PHP un archivo XML en una arreglo asociativo.</p>
<p>Para poder usarlo se debe compilar la extención XML, ya que usa la clase <a title="XMLReader" href="http://www.php.net/manual/es/book.xmlreader.php" target="_blank">XMLReader</a>,  aunque la mayoria de los servidores ya vienen con la extención instalada.<br />
<!--more--><br />
Esta es la función:</p>
<pre>
    function xml2assoc($xml) {
      $assoc = null;
      while($xml-&#62;read()){
        switch ($xml-&#62;nodeType) {
          case XMLReader::END_ELEMENT: return $assoc;
          case XMLReader::ELEMENT:
            $assoc[$xml-&#62;name] = array('value' =&#62; $xml-&#62;isEmptyElement ? '' : xml2assoc($xml));
            if($xml-&#62;hasAttributes){
              $el =&#38; $assoc[$xml-&#62;name][count($assoc[$xml-&#62;name]) - 1];
              while($xml-&#62;moveToNextAttribute()) $el['attributes'][$xml-&#62;name] = $xml-&#62;value;
            }
            break;
          case XMLReader::TEXT:
          case XMLReader::CDATA: $assoc .= $xml-&#62;value;
        }
      }
      return $assoc;
    }
</pre>
<p style="margin-top:1.2em;">
Y luego solo se crea el objeto y se pasa como parámetro a la función:
</p>
<pre>
$xml = new XMLReader();
$xml-&#62;open([XML file]);
$assoc = xml2assoc($xml);
$xml-&#62;;close();
</pre>
<p style="margin-top:1.2em;">
Muy util.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Weblap fejlesztő]]></title>
<link>http://spillerlaszlo.wordpress.com/?p=224</link>
<pubDate>Thu, 17 Jul 2008 12:19:11 +0000</pubDate>
<dc:creator>Spiller László</dc:creator>
<guid>http://spillerlaszlo.wordpress.com/?p=224</guid>
<description><![CDATA[Média területen piacvezető multinacionális cégcsoporthoz keresünk munkatársakat Web 2.0 és k]]></description>
<content:encoded><![CDATA[<p>Média területen piacvezető multinacionális cégcsoporthoz keresünk munkatársakat Web 2.0 és közösségi portál témájú projektekhez. A cégcsoport több olyan oldalt is üzemeltet, melyek a világ leglátogatottabb 100 weboldala, illetve Magyarország leglátogatottabb 10 weboldala között szerepelnek. Az új fejlesztések mind a tartalom, mind pedig az alkalmazott technológiák alapján szintén a világ élvonalába tartoznak. Komoly, tőkeerős háttér biztosítja a nyugodt munkát, a kiemelt bérezést és a szakmai fejlődést.</p>
<p>Szakmai elvárások:</p>
<ul>
<li>HTML, DHTML, XHTML alapos ismerete</li>
<li>CSS1, CSS2 alapos ismerete</li>
<li>Szakmai angol megértése<br />
 </li>
</ul>
<p>Előnyt jelent:</p>
<ul>
<li>Javascript, XML, PHP tapasztalat</li>
<li>Template engine (Pl. Smarty)</li>
<li>Verzió kezelő alapos ismerete</li>
<li>Csapatmunkában, specifikáció alapján önálló, koncentrált munkavégzés</li>
<li>Proaktivitás, kreativitás</li>
<li>Új technológiák megtanulására való hajlandóság<br />
 </li>
</ul>
<p>Amit kínálunk:</p>
<ul>
<li>Kiemelkedő bérezés</li>
<li>Fiatal, dinamikus, ugyanakkor professzionális csapat</li>
<li>Szakmai támogatás és tudásbázis a munkavégzéshez</li>
<li>Folyamatos fejlődés, kihívások</li>
<li>Nemzetközi karrierlehetőség</li>
<li>Cafeteria rendszer<br />
 </li>
</ul>
<p>Munkaidő, helyszín:</p>
<ul>
<li>Modern, jól felszerelt iroda Budapest központjában</li>
<li>Napi fix, nyolc órás munkaidő</li>
</ul>
<p><a href="mailto:laszlo_spiller@kellyservices.hu">laszlo_spiller@kellyservices.hu</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[!Cocoa]]></title>
<link>http://cocoalearner.wordpress.com/?p=7</link>
<pubDate>Thu, 17 Jul 2008 09:36:32 +0000</pubDate>
<dc:creator>pauljholden</dc:creator>
<guid>http://cocoalearner.wordpress.com/?p=7</guid>
<description><![CDATA[It&#8217;s been a little while since I&#8217;ve played with cocoa, dayjob, drawing job and family ha]]></description>
<content:encoded><![CDATA[<p>It's been a little while since I've played with cocoa, dayjob, drawing job and family have gotten in the way (and, as sharp as I like to pretend my mental processes are, doing four different things is just too much)</p>
<p>Instead, of late, I've been doing some more playing in php. It's been awhile since I've really programmed in anger, so I'm sort of struggling with how to do it right - so let's document my intent:</p>
<p>PIE, my little php project, is designed to allow me to create a simple website which includes the odd bit of php. I've built a handful of websites that need very little update, customisation and certainly don't need a full on <a class="zem_slink" title="Content management system" rel="wikipedia" href="http://en.wikipedia.org/wiki/Content_management_system">CMS</a> and PIE is designed to make that a little easier.</p>
<p>I create the <a class="zem_slink" title="World Wide Web" rel="wikipedia" href="http://en.wikipedia.org/wiki/World_Wide_Web">web pages</a> as <a class="zem_slink" title="XML" rel="wikipedia" href="http://en.wikipedia.org/wiki/XML">XML</a> files (well, invalid XML files really - in fact, they're, so far, nothing but fauX ML files - though it wouldn't be too difficult to make them valid).</p>
<p>They contain:</p>
<p>&#60;title&#62;Title&#60;/title&#62;<br />
&#60;summary&#62;Summary&#60;/summary&#62;<br />
&#60;body&#62;Body text&#60;/body&#62;</p>
<p>This is parsed and the elements extracted into a hash array which is then used in a <a class="zem_slink" title="PHP" rel="homepage" href="http://php.net/">PHP</a> file which is the docuement template.</p>
<p>Optional elements are:</p>
<p>&#60;template&#62;template name&#60;/template&#62; - in case a different template is needed.</p>
<p>&#60;plugins&#62;one,two,three&#60;/plugins&#62; - a comma seperated list of PIE plugins to use.</p>
<p>Plugins I've written, include: <a class="zem_slink" title="Markdown" rel="homepage" href="http://daringfireball.net/projects/markdown/">markdown</a> (ok, I lie, markdown isn't written by me, I just nabbed a copy of it and included it as part of pie) and contactform - generates a contact form (and uses some optional elements to help format it)</p>
<p>If you include a plugin then you can also include an element named for the plugin, this may contain extra elements, so, for example, with markdown:</p>
<p>&#60;markdown&#62;no&#60;/markdown&#62; - this tells PIE to NOT use markdown for this one file. (As markdown is included automatically as a plugin, that's why you need this option)</p>
<p>&#60;contactform&#62;<br />
&#60;thankyou&#62;Text to include in thank you message - displayed after form is filled in including &#60;!--email--&#62; the original email.&#60;/thankyou&#62;<br />
&#60;sendto&#62;emailaddress-tosendto.com&#60;/sendto&#62;<br />
&#60;/contactform&#62;</p>
<p>Sendto is the sendto email address, the '-' is replaced with '@' by the plugin. Things to do:</p>
<p>&#60;fields&#62;&#60;/fields&#62; - list of fields to include in the form, not sure how best to handle this, I suspect something like:</p>
<p>&#60;fields&#62;</p>
<p>FieldName:fieldtype:maxlength*<br />
&#60;/fields&#62;</p>
<p>For text:</p>
<p>fieldname*:text:40 (asteriks indicate it is required)<br />
fieldname:textarea:rows:cols (Row and column length)<br />
fieldname*:select:default:option=a,option=b,option=c,option=d,option=e<br />
fieldname*:date:M-D-Y (default value)</p>
<p>That should make the contactform much more useful.</p>
<div class="zemanta-pixie" style="margin-top:10px;height:15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/d07f954e-6e64-4587-835f-8e068025250a/"><img class="zemanta-pixie-img" style="border:medium none;float:right;" src="http://img.zemanta.com/reblog_e.png?x-id=d07f954e-6e64-4587-835f-8e068025250a" alt="Zemanta Pixie" /></a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Bagaimana belajar memproses XML dengan Java dalam 5 menit?]]></title>
<link>http://amrishodiq.wordpress.com/?p=204</link>
<pubDate>Thu, 17 Jul 2008 09:36:20 +0000</pubDate>
<dc:creator>amrishodiq</dc:creator>
<guid>http://amrishodiq.wordpress.com/?p=204</guid>
<description><![CDATA[Parsing XML dengan Java? Gampang!
Yang dibutuhkan adalah:

Apache Commons IO
Apache Commons Configur]]></description>
<content:encoded><![CDATA[<p>Parsing XML dengan Java? Gampang!</p>
<p>Yang dibutuhkan adalah:</p>
<ol>
<li>Apache Commons IO</li>
<li><strong>Apache Commons Configuration 1.5</strong></li>
<li>Apache Commons Logging</li>
<li>Apache Commons Lang 2.4</li>
<li>Apache Commons Collection</li>
</ol>
<p>Banyak? Nggak juga kok. Sebenarnya itu file-file kecil dan semuanya bisa didownload dari website Apache Foundation.</p>
<p>Saya lebih seneng ngasih tutorial pakai source code. Langsung aja ya dibaca:</p>
<p><strong>Main.java</strong></p>
<blockquote><p>/*<br />
* To change this template, choose Tools &#124; Templates<br />
* and open the template in the editor.<br />
*/<br />
package belajardulu;</p>
<p>import java.io.InputStream;<br />
import java.util.logging.Level;<br />
import java.util.logging.Logger;<br />
import org.apache.commons.configuration.ConfigurationException;<br />
import org.apache.commons.configuration.XMLConfiguration;<br />
import org.apache.commons.io.IOUtils;</p>
<p>/**<br />
*<br />
* @author Cherry<br />
*/<br />
public class Main {</p>
<p>/**<br />
* @param args the command line arguments<br />
*/<br />
public static void main(String[] args) {<br />
try {<br />
// TODO code application logic here<br />
String xml = "&#60;?xml version=\"1.0\"?&#62;\n" +<br />
"&#60;MethodCall&#62;\n" +<br />
"   &#60;MethodID&#62;" +<br />
"       &#60;Name&#62;Name&#60;/Name&#62;\n" +<br />
"   &#60;/MethodID&#62;\n" +<br />
"   &#60;TransactionInfo&#62;\n" +<br />
"       &#60;AccountID&#62;AccountID&#60;/AccountID&#62;\n" +<br />
"       &#60;ProcCode&#62;ProcCode&#60;/ProcCode&#62;\n" +<br />
"       &#60;ChannelType&#62;ChannelType&#60;/ChannelType&#62;\n" +<br />
"       &#60;ReffNumber&#62;ReffNumber&#60;/ReffNumber&#62;\n" +<br />
"       &#60;TerminalID&#62;TerminalID&#60;/TerminalID&#62;" +<br />
"   &#60;/TransactionInfo&#62;\n" +<br />
"   &#60;TransactionID&#62;\n" +<br />
"       &#60;STAN&#62;STAN&#60;/STAN&#62;\n" +<br />
"       &#60;DateTime&#62;DateTime&#60;/DateTime&#62;\n" +<br />
"       &#60;InstID&#62;InstId&#60;/InstID&#62;" +<br />
"   &#60;/TransactionID&#62;\n" +<br />
"   &#60;TransactionData&#62;\n" +<br />
"       &#60;CustomerID&#62;CustomerId&#60;/CustomerID&#62;\n" +<br />
"       &#60;AdditionalData&#62;AdditionalData&#60;/AdditionalData&#62;\n" +<br />
"   &#60;/TransactionData&#62;\n" +<br />
"&#60;/MethodCall&#62;";</p>
<p>InputStream is = IOUtils.toInputStream(xml);</p>
<p>XMLConfiguration xc = new XMLConfiguration();<br />
xc.load(is);<br />
System.out.println(xc.getString("TransactionID.STAN"));<br />
} catch (ConfigurationException ex) {<br />
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);<br />
}<br />
}<br />
}</p></blockquote>
<p>Gimana? Gampang kan?</p>
<p>Saya jelasin:</p>
<ol>
<li>Saya bikin variabel String diisi dengan XML</li>
<li>Saya bikin objek InputStream (diambil dari Apache Common IOUtils) dari XML tersebut</li>
<li>Saya bikin objek XmlConfiguration</li>
<li>Saya minta objek XmlConfiguration untuk meload XML dari InputStream</li>
<li>Saya baca isi field tertentu yang diinginkan dengan method <strong>getString()</strong></li>
</ol>
<p>Nb: sebenarnya library yang dibutuhkan adalah Apache Commons Configuration, tetapi ternyata Apache Commons Configuration membutuhkan rekan-rekannya.</p>
<p>Btw, selamat belajar.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Using XML To Send Multiple Rows At Once Into A Stored Procedure]]></title>
<link>http://nissankg.wordpress.com/?p=21</link>
<pubDate>Wed, 16 Jul 2008 13:38:28 +0000</pubDate>
<dc:creator>nissankg</dc:creator>
<guid>http://nissankg.wordpress.com/?p=21</guid>
<description><![CDATA[Please Go and Find out Stuff
http://weblogs.sqlteam.com/travisl/archive/2005/01/04/3931.aspx
]]></description>
<content:encoded><![CDATA[<p>Please Go and Find out Stuff</p>
<p>http://weblogs.sqlteam.com/travisl/archive/2005/01/04/3931.aspx</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Tmx editor]]></title>
<link>http://newatol.wordpress.com/2008/07/16/tmx-editor/</link>
<pubDate>Wed, 16 Jul 2008 12:25:44 +0000</pubDate>
<dc:creator>newatol</dc:creator>
<guid>http://newatol.wordpress.com/2008/07/16/tmx-editor/</guid>
<description><![CDATA[Столкнулся с необходимостью редактировать файл форма]]></description>
<content:encoded><![CDATA[<p>Столкнулся с необходимостью редактировать файл формата TMX - индустриальный тип XML файлов. (Translation Memory eXchange - Обмен памятью переводов) - открытый формат файлов <a title="XML" href="http://ru.wikipedia.org/wiki/XML"><u>XML</u></a> для обмена данными памяти переводов, которые создаются в процессе автоматизированного перевода.</p>
<p><a href="http://newatol.files.wordpress.com/2008/07/tmx.png"><img height="65" alt="tmx" src="http://newatol.files.wordpress.com/2008/07/tmx-thumb.png" width="167" border="0"></a> </p>
<p>Так вот оказывается реально существуют только платные варианты программ для редактирования этих файлов. Посидев полчаса, я накидал класс PHP для парсинга, редактирования и сохранения TMX файлов. Обозвал свое детище AtoL TmxEditor 0.01. Думаю, кому нибудь пригодится. Очень спешил, возможны баги. </p>
<p><a title="AtoL TmxEditor" href="http://newatol.nextmail.ru/php/tmxedit.zip" target="_blank">Ссылка для скачивания</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Siglas e mais siglas em java - parte 1]]></title>
<link>http://edersonmelo.wordpress.com/?p=32</link>
<pubDate>Wed, 16 Jul 2008 11:57:43 +0000</pubDate>
<dc:creator>edersonmelo</dc:creator>
<guid>http://edersonmelo.wordpress.com/?p=32</guid>
<description><![CDATA[Um detalhe que durante leitura e estudos não poderia deixar passar. A quantidade de siglas que vemo]]></description>
<content:encoded><![CDATA[<p>Um detalhe que durante leitura e estudos não poderia deixar passar. <strong>A quantidade de siglas</strong> que vemos na linguagem <strong>java</strong>.  Posso dizer que não decorei todas mas to encaminhando isto.</p>
<p>Uma linguagem ser tão extensa, ao meu ver, acaba tornando java um desafio no mínimo interessante.</p>
<p>Coloquei abaixo algumas siglas referente a java, pesquisadas na web em diversas fontes.</p>
<blockquote><p>Caso você esteja lendo e diga, <em>mas XML(por exemplo) eu vi quando tava aprendendo outro linguagem</em>. Tudo bem, a idéia é que eu vi e conheci mais a fundo em java.<em><strong> Então tá na minha lista</strong></em>.</p></blockquote>
<p><strong>JDK:</strong> Java Developer Kit. É o kit de desenvolvimento Java oferecido gratuitamente pela Sun.</p>
<p><strong>JRE:</strong> Java Runtime Enviroment. É o ambiente de execução Java oferecido gratuitamente pela Sun.</p>
<p><strong>JVM:</strong> Java Virtual Machine - Máquina Virtual Java. É o programa que faz um .class java poder ser executado<br />
<strong><br />
J2ME:</strong> Java 2 Micro Edition. Conjunto de bilbiotecas para desenvolvimento voltado aos dispositívos móveis</p>
<p><strong>J2SE:</strong> Java 2 Standard Editon. É o java padrão, utilizado para desenvolvimento desktop</p>
<p><strong>J2EE: </strong>Java 2 Enterprise Edition. É um extensão ao J2SE para servidores, implementando várias bibliotecas para facilitar a computação distribuída, como os EJBs</p>
<p><strong>JSP: </strong>Java Server Pages. É uma tecnologia para desenvolvimento de aplicações WEB semelhante ao PHP</p>
<p><strong>XML:</strong> Extensible Markup Language. Linguagem como o HTML utilizada para armazenamento e troca de informações</p>
<p><strong>EJB:</strong> Enterprise JavaBeans. Define um modelo para aplicações com servidores criando componentes reusávei</p>
<p><strong>JCA:</strong> Java Connector Architecture - uma arquitetura desenvolvida de modo a facilitar a comunicacao entre servidores J2EE e EIS's.</p>
<p><strong>JMS:</strong> Java Messaging System - uma arquitetura existe dentro do universo J2EE que permite troca de mensagens de maneira assíncrona.</p>
<p><strong>MOM:</strong> Message Oriented Middleware - é o software que age como um Mediator na arquitetura de mensagens assíncronas.<br />
<strong><br />
MDB:</strong> Nao, nao é a extensao do banco de dados do Access. É Message-Driven-Bean, ou seja, um EJB capaz de processar mensagens assincronamente.</p>
<p><strong>JDO:</strong> Java Data Objects - uma extensao sob o JSR-000012 que regula métodos de persistência de objetos Java em bancos de dados relacionais.</p>
<p><strong>UML: <em>Unified Modeling Language -</em></strong> uma linguagem utilizada durante o processo de análise e desenvolvimento de software capaz de traduzir requerimentos funcionais e nao-funcionais do sistema. (Tá muito suscinta essa descricao).</p>
<p><strong>CORBA:</strong> Common Object Request Broker Arquitecture - uma arquitetura que possibilita o desenvolvimento de sistemas construídos em diversas linguagens distintas, atuar de maneira distribuída segunda um protocolo bem definido. O principal elemento que torna isso possível é o ORB (Object Request Broker).</p>
<p><strong>IDL:</strong> Interface Definition Language - é a linguagem usada para definir interfaces de comunicacao na arquitetura CORBA.<br />
<strong><br />
JAR: J<em>ava ARchive -</em></strong><em> </em>comprimir e criar arquivos "executáveis" em java</p>
<p><strong>AWT: Abstract Window Toolkit -</strong> API para desenvolvimento de Janelas.</p>
<p><strong>GUI: Grafic User Interface - </strong>São os tipos de interface geráficas para Usuários, nada muito intuitivo.. hehehe</p>
<p><strong>RMI: Remote Method Invocation -</strong> Mas centrado em Sistemas distribuídos, semelhante ao CORBA.</p>
<p><strong>POO: </strong> Programação Orientada a Objetos</p>
<p><strong>JCE: </strong> Java Cryptography Extension. Extensão para utilização de criptografia utilizando providers que fornecem os algoritmos tipo DES, RSA e outros. A SUN tem o seu dentro da propria API SUNJCE, mas tem de outras empresas, como IBM e também alguns free, como o Bouncy Castle</p>
<p><em><br />
</em></p>
<blockquote><p>E tem muito mais ainda, <strong>facelets</strong>, <strong>jsf</strong>, <strong>pojos</strong>, a lista é bem grandinha. Mas conforme avançar elas surgiram.</p></blockquote>
<p><strong>Fonte:</strong></p>
<p><a href="http://pt.wikipedia.org/wiki/Siglas" target="_blank">Wikipedia</a></p>
<p><a href="http://www.siglas.com.br/?t=s&#38;s=" target="_blank">siglas.com.br</a></p>
<p><em>Abraço,<br />
Ederson Melo </em></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Blogging Tools: What language are you using?]]></title>
<link>http://coutorture.wordpress.com/?p=114</link>
<pubDate>Tue, 15 Jul 2008 23:36:14 +0000</pubDate>
<dc:creator>coutorture</dc:creator>
<guid>http://coutorture.wordpress.com/?p=114</guid>
<description><![CDATA[The days of hand coding HTML and frames to create web pages are long gone, thanks in large part to t]]></description>
<content:encoded><![CDATA[<p><img class="alignleft" src="http://ocw.mit.edu/NR/rdonlyres/Brain-and-Cognitive-Sciences/9-402Language-and-ThoughtFall2002/072036C6-6082-47E2-A7A8-7C19F9CDD290/0/chp_9_402.gif" alt="" width="288" height="240" />The days of hand coding HTML and frames to create web pages are long gone, thanks in large part to the development of cutting edge blogging platforms (Wordpress, Typepad, Blogger, Moveable Type).  Fortunately, the languages have evolved to allow for more detailed results while building upon the original foundations of HTML. </p>
<p>While most blogging platforms automatically convert your posts into the language. a few tweaks can be made if you understand the language.  Both Wordpres.com and Typepad allow users to customize their page's CSS for a fee.  In case you completely missed the language expansion, here's a quick reference with definitions and quick start guides.</p>
<ul>
<li><a href="http://www.w3schools.com/xml/default.asp" target="_blank">XML</a> stands for Extensible Markup Language.  XML differs from XHTML, HTML or CSS because it does not carry any information on how to display the data, therefore it must be combined with the CSS language. </li>
<li><a href="http://www.htmlcodetutorial.com/" target="_blank">HTML</a> stands for Hypertext Markup Language.  HTML is the structure of text information within a document.  It also includes scripting, appearance and semantics of the document or web page.</li>
<li><a href="http://www.w3schools.com/xhtml/" target="_blank">XHTML</a> stands for Extensible Hypertext Markup Language.   It is often described as the intersection of HTML and XML. </li>
<li><a href="http://www.w3schools.com/css/" target="_blank">CSS</a> stands for Cascading Style Sheets.  CSS uses HTML and XHTML to communicate with a page as to how it is to be displayed.  CSS can be used to define fonts, sizes, colors, layout, proportion, etc. Using CSS makes your site infinitely more customizable.</li>
</ul>
<p>The truth is, unless you are heavy into coding and site building, you probably don't need to know more than a simple definition of each language.  If you're looking to customize your site, look into the language your platform uses.  From there, you should be able to modify settings like column width, font type, font size, and background color.  Learning a language isn't for the faint of heart, but having a unique, custom site is worth it!</p>
<ul></ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[XQuery: query collections of XML data]]></title>
<link>http://mauriziostorani.wordpress.com/?p=228</link>
<pubDate>Tue, 15 Jul 2008 22:15:01 +0000</pubDate>
<dc:creator>Maurizio Storani</dc:creator>
<guid>http://mauriziostorani.wordpress.com/?p=228</guid>
<description><![CDATA[XQuery is a query language (with some programming language features) that is designed to query colle]]></description>
<content:encoded><![CDATA[<p><img class="aligncenter" style="margin-top:5px;margin-bottom:5px;" src="http://mauriziostorani.files.wordpress.com/2008/07/xquery-image.jpg" alt="XQuery image" /><strong>XQuery</strong> is a query language (with some programming language features) that is designed to query collections of XML data. It is semantically similar to SQL.</p>
<p>XQuery 1.0 was developed by the XML Query working group of the <span class="mw-redirect">W3C</span>. The work was closely coordinated with the development of <a title="XSLT" href="http://en.wikipedia.org/wiki/XSLT" target="_blank">XSLT</a> 2.0 by the XSL Working Group; the two groups shared responsibility for <a title="XPath 2.0" href="http://en.wikipedia.org/wiki/XPath_2.0" target="_blank">XPath 2.0</a>, which is a subset of XQuery 1.0. XQuery 1.0 became a <span class="mw-redirect">W3C Recommendation</span> on January 23, 2007.</p>
<p>"The mission of the XML Query project is to provide flexible query facilities to extract data from real and virtual documents on the World Wide Web, therefore finally providing the needed interaction between the Web world and the database world. Ultimately, collections of XML files will be accessed like databases".</p>
<p>XQuery can be used to:</p>
<ul>
<li>Extract information to use in a Web Service</li>
<li>Generate summary reports</li>
<li>Transform XML data to XHTML</li>
<li>Search Web documents for relevant information</li>
</ul>
<p>XQueryX is a near one-to-one mapping into XML of the formal grammar for the language.  Given the complexity of the grammar, this makes XQueryX <em>highly</em> verbose, to the degree that it's nearly impossible for humans to read. Happily, machines -- which are the intended recipients of the language -- don't complain about such things. Listings <a href="http://www.ibm.com/developerworks/xml/library/x-xquery.html#listing1">1</a> and <a href="http://www.ibm.com/developerworks/xml/library/x-xquery.html#listing2">2</a> provide a comparison of a simple query expressed first in standard XQuery syntax and then in its XQueryX counterpart. Note the significant steroid-like bulk-up factor.<br />
<a name="listing1"><strong>Listing 1. A simple query in standard syntax</strong></a></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td class="code-outline">
<pre class="displaycode">				&#60;bib&#62;
 {
  for $b in doc("http://bstore1.example.com/bib.xml")/bib/book
  where $b/publisher = "Addison-Wesley" and $b/@year &#62; 1991
  return
    &#60;book year="{ $b/@year }"&#62;
     { $b/title }
    &#60;/book&#62;
 }
&#60;/bib&#62;</pre>
</td>
</tr>
</tbody>
</table>
<p><a href="http://www.ibm.com/developerworks/xml/library/x-xquery.html#listing2">Listing 2</a> shows the XQueryX equivalent. I've omitted about three-quarters of the listing due to its length. The full listing, lifted directly from the XQueryX working draft, runs to 132 lines:<br />
<a name="listing2"><strong>Listing  2. The Listing 1 query in XQueryX format (snippet)</strong></a></p>
<table style="height:1296px;" border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td class="code-outline">
<pre class="displaycode">				&#60;?xml version="1.0"?&#62;
&#60;xqx:module xmlns:xqx="http://www.w3.org/2005/XQueryX" ... &#62;
  &#60;xqx:mainModule&#62;
    &#60;xqx:queryBody&#62;
      &#60;xqx:elementConstructor&#62;
        &#60;xqx:tagName&#62;bib&#60;/xqx:tagName&#62;
        &#60;xqx:elementContent&#62;
          &#60;xqx:flworExpr&#62;
            &#60;xqx:forClause&#62;
              &#60;xqx:forClauseItem&#62;
                &#60;xqx:typedVariableBinding&#62;
                  &#60;xqx:varName&#62;b&#60;/xqx:varName&#62;
                &#60;/xqx:typedVariableBinding&#62;
                &#60;xqx:forExpr&#62;
                  &#60;xqx:pathExpr&#62;
                    &#60;xqx:argExpr&#62;
                      &#60;xqx:functionCallExpr&#62;
                        &#60;xqx:functionName&#62;doc&#60;/xqx:functionName&#62;
                        &#60;xqx:arguments&#62;
                          &#60;xqx:stringConstantExpr&#62;
                            &#60;xqx:value&#62;http://bstore1.example.com/bib.xml&#60;/xqx:value&#62;
                          &#60;/xqx:stringConstantExpr&#62;
                        &#60;/xqx:arguments&#62;
                      &#60;/xqx:functionCallExpr&#62;
                    &#60;/xqx:argExpr&#62;
                    &#60;xqx:stepExpr&#62;
                      &#60;xqx:xpathAxis&#62;child&#60;/xqx:xpathAxis&#62;
                      &#60;xqx:nameTest&#62;bib&#60;/xqx:nameTest&#62;
                    &#60;/xqx:stepExpr&#62;
                    &#60;xqx:stepExpr&#62;
                      &#60;xqx:xpathAxis&#62;child&#60;/xqx:xpathAxis&#62;
                      &#60;xqx:nameTest&#62;book&#60;/xqx:nameTest&#62;
                    &#60;/xqx:stepExpr&#62;
                  &#60;/xqx:pathExpr&#62;
                &#60;/xqx:forExpr&#62;
              &#60;/xqx:forClauseItem&#62;
            &#60;/xqx:forClause&#62;
			...</pre>
<h2>How to Select Nodes From "books.xml"?</h2>
<h3>Functions</h3>
<p>XQuery uses functions to extract data from XML documents.</p>
<p>The doc() function is used to open the "books.xml" file:</p>
<table class="ex" border="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<pre>doc("books.xml")</pre>
</td>
</tr>
</tbody>
</table>
<h3>Path Expressions</h3>
<p>XQuery uses path expressions to navigate through elements in an XML document.</p>
<p>The following path expression is used to select all the title elements in  the "books.xml" file:</p>
<table class="ex" border="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<pre>doc("books.xml")<span class="insert">/bookstore/book/title</span></pre>
</td>
</tr>
</tbody>
</table>
<p>(/bookstore selects the bookstore element, /book selects all the book elements  under the bookstore element, and /title selects all the title elements under each book  element)</p>
<p>The XQuery above will extract the following:</p>
<table class="ex" border="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<pre>&#60;title lang="en"&#62;Everyday Italian&#60;/title&#62;
&#60;title lang="en"&#62;Harry Potter&#60;/title&#62;
&#60;title lang="en"&#62;XQuery Kick Start&#60;/title&#62;
&#60;title lang="en"&#62;Learning XML&#60;/title&#62;</pre>
</td>
</tr>
</tbody>
</table>
<h3>Predicates</h3>
<p>XQuery uses predicates to limit the extracted data from XML documents.</p>
<p>The following predicate is used to select all the book elements under  the bookstore element that have a price element with a value that is less than  30:</p>
<table class="ex" border="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td>
<pre>doc("books.xml")/bookstore/book<span class="insert">[price&#60;30]</span></pre>
</td>
</tr>
</tbody>
</table>
<p>The XQuery above will extract the following:</p>
<p>&#60;book category="CHILDREN"&#62;   &#60;title lang="en"&#62;Harry Potter&#60;/title&#62;   &#60;author&#62;J K. Rowling&#60;/author&#62;   &#60;year&#62;2005&#60;/year&#62;   &#60;price&#62;29.99&#60;/price&#62; &#60;/book&#62;</td>
</tr>
</tbody>
</table>
<h2>Path Expressions and Relationship to XPath</h2>
<p>XQuery borrows path expressions from XPath.  XQuery can be viewed as a generalization of XPath. Except for some obscure forms (mostly unusual "axis specifiers"), all XPath expressions are also XQuery expressions.  For this reason the XPath specification is also being revised by the XQuery committee, with the plan that XQuery 1.0 and XPath 2.0 will be released about the same time. <a href="http://www.xml.com/pub/a/2002/10/16/xquery.html?page=2" target="_blank">Example</a></p>
<h2>XQuery Tools support</h2>
<h3>db2expln</h3>
<p>The <tt class="xph">db2expln</tt> tool describes the access plan  selected for  SQL and XQuery statements. It can be used to obtain a quick explanation of the chosen access plan  when explain data was not captured. For static SQL and XQuery statements,  <tt class="xph">db2expln</tt> examines the packages stored in the  system catalog tables. For dynamic SQL and XQuery statements, <tt class="xph">db2expln</tt> examines the sections in the query cache.</p>
<h3><span class="prtitle">AltovaXML 2006</span></h3>
<p>AltovaXML is a FREE XML standards processor that includes the Altova XSLT 1.0 engine, XSLT 2.0 engine, XQuery engine, and XML validating parser. Now developers can use the same engines found in Altova XMLSpy 2006 in their own application<a id="KonaLink1" class="kLink" href="http://xquery.qarchive.org/#" target="_new"></a>, free of charge.</p>
<h3><a href="http://www.xquery.com/tips_and_tricks/" target="_blank"><span class="BreadCrumbsThisPage">XQuery Tips and Tricks</span></a></h3>
<h3><a href="http://www.ra.ethz.ch/CDstore/www2003/papers/poster/p291/p291-braga.html" target="_blank">XQuery Tutorial</a></h3>
<h3><a href="http://www.ra.ethz.ch/CDstore/www2003/papers/poster/p291/p291-braga.html" target="_blank">XQuery By Example</a></h3>
<p style="text-align:right;"><em>[wikipedia.org]</em></p>
<p style="text-align:right;"><em>[http://www.w3schools.co]</em></p>
<p style="text-align:right;"><em>[http://www.ibm.com/developerworks/xml/library/x-xquery.html]</em></p>
<p><!-- AddThis Button BEGIN --><br />
<a title="Bookmark and Share" href="http://www.addthis.com/bookmark.php?wt=nw&#38;pub=flamel&#38;url=http://mauriziostorani.wordpress.com/2008/07/15/xquery-example-tutorial-methods&#38;title=XQuery: query collections of XML data" target="_blank"><img src="http://s9.addthis.com/button1-bm.gif" border="0" alt="Bookmark and Share" width="125" height="16" /></a><br />
<!-- AddThis Button END --></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Bashing the XML Bashers]]></title>
<link>http://commonsguy.wordpress.com/?p=41</link>
<pubDate>Tue, 15 Jul 2008 18:07:43 +0000</pubDate>
<dc:creator>commonsguy</dc:creator>
<guid>http://commonsguy.wordpress.com/?p=41</guid>
<description><![CDATA[It seems like the anti-XML cranks are cranking it up again. After I got through dueling with a factu]]></description>
<content:encoded><![CDATA[<p>It seems like the anti-XML cranks are cranking it up again. After I got through dueling with a factually-challenged low-UID poster on Slashdot, now I see <a title="8 Reasons why XML Sucks" href="http://firstclassthoughts.co.uk/xml/why_xml_sucks.html">8 Reasons why XML Sucks</a> pop up in an aggregator.</p>
<p>A few points in their roster actually seem valid. Most are weak or flat-out invalid, though, so let's take a peek.</p>
<p>First up, they bash "Character Encoding", referring to the fact that you need to specify an encoding for the text in an XML file, and it's entirely possible to declare encoding X and actually use encoding Y, which screws up parsing. They also bash having to entity-escape things like &#60; and &#38;, and people over-using CDATA sections.</p>
<p>Unfortunately for them, this section does a fine job of illustrating the problems I have with their diatribe. They mix-and-match multiple types of problems and blame it all on XML, when that's not really accurate. In this case:</p>
<ul>
<li>Encoding and entity-escaping problems are only an issue with hand-writing XML -- any XML generator worth its salt will take care of it for you programmatically if you are generating XML in an application. Moreover, any non-textual data format <strong>CAN'T BE HAND-WRITTEN AT ALL</strong>, at least not in any reasonable fashion (ever try to hand-encode an MPEG frame?). XML is imperfect for hand-written data, but it is light-years better than hand-written data in a binary format.</li>
<li>The CDATA bash needs to be aimed at those who overuse it, not at XML itself. This is a popular theme in XML bashing: blame the format for bad users. It'd be like my blaming a blogging software vendor because their article has issues.</li>
</ul>
<p>Next up, they bash "Embedding Binary Data", which is indisputable. XML is not geared for that situation and should not be used when that is a requirement.</p>
<p>Next, "Indentation Characters Mixed With Data", which goes back to the hand-written XML "problem". Yes, if you are hand-writing or hand-inspecting XML, dealing with indentation can be a hassle, but it beats the hell out of using a hex editor to hand-write or hand-inspect binary data formats. And, if you are generating or consuming XML programmatically, it's not an issue.</p>
<p>Next, "Textual Representation of Numeric Data" is a case of "you say tom-ay-toe, I say to-mah-toe". They don't like the fact that numbers take up more space than they do in binary. I don't like the fact that binary floating-point representations are intrinsically inaccurate. Both are problems. Neither are big deals, except when they aren't (extremely low-bandwidth situations in their case, currency calculations in mine).</p>
<p>Next, "Unnecessarily Verbose" is another long-standing gripe tossed out by XML bashers. To some extent, I agree, and therefore prefer something like JSON in simple cases. However, there are very very few situations where the verbosity will be an issue, mostly for really big data needs (which is why Google created Protocol Buffers) and really low bandwidth scenarios. For your garden-variety developer, or blogger, or whatever, the extra characters have no real negative impact.</p>
<p>Next, "Human un-readability" is a re-hash of their earlier complaints. Again, while XML is not perfectly readable, it's way better than trying to make sense of bit soup. When developers are stuck embedding nonsense text like "green eggs and ham" in their binary structures, just to be able to pick out key sub-structures when staring at a hex editor screen, XML looks easy by comparison.</p>
<p>Next, "A single XML root element" is a somewhat valid complaint. Historically, XML had a single root element because SGML did, IIRC. There are certainly cases where having multiple roots can be handy, as they outline, and some parsers even support it.</p>
<p>Finally, "SOAP - Oh My God" would be a valid complaint if that's actually what they complained about. Heaven knows I'm no fan of the SOAP structure. However, they claim:</p>
<blockquote><p><span>Once you start parsing the XML      document you parse it all! </span></p></blockquote>
<p>which is only true if you're some programming n00b. There are many types of XML parsers, only some of which (e.g., DOM) always parse the whole document. Others (SAX, XML pull parsers) don't, and in scenarios like what they describe, you'd want to use one of those. Blaming XML because programmers use the wrong tools is just plain goofy.</p>
<p>Don't get me wrong: XML gets misused all the time. It gets applied to circumstances where it is unsuitable, people misuse features like CDATA, and so on. And if somebody wants to suggest a replacement format that offers most of XML's features (e.g., namespaces, schemas) and cures some of its ills (e.g., verbosity), I'm all ears. But if you're going to take the time to write a several-page blog post bashing XML, at least do your readers a service and do a decent job at it.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Entities in Attributes II]]></title>
<link>http://perlfunk.wordpress.com/?p=9</link>
<pubDate>Tue, 15 Jul 2008 03:52:50 +0000</pubDate>
<dc:creator>mrlynch</dc:creator>
<guid>http://perlfunk.wordpress.com/?p=9</guid>
<description><![CDATA[So, after mirod&#8217;s comments on my last post, I realised that my XML::Twig was a couple of relea]]></description>
<content:encoded><![CDATA[<p>So, <a href="http://perlfunk.wordpress.com/2008/07/10/entities-in-attributes/">after mirod's comments on my last post,</a> I realised that my XML::Twig was a couple of releases behind, and that the params to att_xml_string are going to change in the near future, whenever Fedora's RPMs catch up: and that this would break my PDFs all over again when it happened.</p>
<p>So I stopped using att_xml_string to re-entity-reference attribute contents. Instead, I'm using HTML::Entities::encode_entities, which is probably what I should have been doing from the start, since it's not XML::Twig's job to make sure the XML I'm building from its output is well-formed.</p>
<p>I think the lesson here is don't always look for the solution from the source of the problem. And that blogs work.</p>
]]></content:encoded>
</item>

</channel>
</rss>
