<?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-7651651367637180381</id><updated>2012-01-26T03:12:55.238-05:00</updated><category term='DTD'/><category term='protocol'/><category term='tools'/><category term='client server'/><category term='XmlLite'/><category term='measurement'/><category term='SVG'/><category term='fonts'/><category term='Expat'/><category term='events'/><category term='Corba'/><category term='parsing'/><category term='service'/><category term='CMMi'/><category term='REST Channels'/><category term='configuration'/><category term='tokens'/><category term='resources'/><category term='MissionKit'/><category term='classes'/><category term='video'/><category term='developer'/><category term='binary format'/><category term='XML Schema'/><category term='training'/><category term='OSIMM'/><category term='variables'/><category term='ExtJS'/><category term='type'/><category term='case sensitive'/><category term='HTTP Channels'/><category term='CSS'/><category term='specification. Web services'/><category term='prologue'/><category term='best practices'/><category term='volume'/><category term='formatting'/><category term='format'/><category term='Firefox'/><category term='text'/><category term='drivers'/><category term='Eclipse'/><category term='XML editor'/><category term='OOP'/><category term='InferSchema'/><category term='marketing'/><category term='RFC 3920'/><category term='design'/><category term='network'/><category term='Internet Explorer'/><category term='adjective'/><category term='framework'/><category term='V8'/><category term='content'/><category term='Intel'/><category term='Python'/><category term='buzzwords'/><category term='Microsoft'/><category term='XBRL'/><category term='W3C'/><category term='ActionScript'/><category term='Oracle'/><category term='IDE'/><category term='application'/><category term='SOA'/><category term='entity'/><category term='grammar'/><category term='XQuery'/><category term='flow'/><category term='Chrome'/><category term='plugin'/><category term='XBT'/><category term='animation'/><category term='computer'/><category term='textarea'/><category term='JSON'/><category term='CodeGuru'/><category term='designers'/><category term='markup'/><category term='comments'/><category term='WS-*'/><category term='anchor'/><category term='hack'/><category term='WS-Policy'/><category term='SQL Server 2008'/><category term='declaration'/><category term='cloud computing'/><category term='Nginx'/><category term='banners'/><category term='modules'/><category term='ASPs'/><category term='loading'/><category term='Google'/><category term='AWS'/><category term='databases'/><category term='PHP'/><category term='Adobe Dreamweaver'/><category term='ree'/><category term='CSS3'/><category term='container'/><category term='servers'/><category term='line number'/><category term='standards'/><category term='image button'/><category term='system administrators'/><category term='XML documents'/><category term='Silverlight'/><category term='college class'/><category term='high performance'/><category term='install'/><category term='mobile'/><category term='templates'/><category term='scrollbar'/><category term='XSD'/><category term='documentation'/><category term='web'/><category term='C'/><category term='subscribe'/><category term='functions'/><category term='EMML'/><category term='handlers'/><category term='JSON Channels'/><category term='validation'/><category term='XAML'/><category term='DTDs'/><category term='HTTP'/><category term='DOM'/><category term='Flash'/><category term='Rational Rose'/><category term='applications'/><category term='standard'/><category term='publish'/><category term='diagrams'/><category term='performance'/><category term='promise'/><category term='newline'/><category term='XmlSchemaInterface'/><category term='Acquia'/><category term='jQuery'/><category term='XSLT'/><category term='64-bit'/><category term='scalability'/><category term='AIR'/><category term='UML'/><category term='XML'/><category term='callback'/><category term='game'/><category term='salary'/><category term='Jabber'/><category term='SAML'/><category term='SAX'/><category term='Drupal'/><category term='claims'/><category term='ebmed'/><category term='interpreter'/><category term='dynamic typing'/><category term='large XML files'/><category term='XPointer'/><category term='XPath'/><category term='IE8'/><category term='color'/><category term='HTML'/><category term='file type'/><category term='AgileDelta'/><category term='content type'/><category term='Altova'/><category term='OOXML'/><category term='web sites'/><category term='JavaScript'/><category term='plugins'/><category term='web browsers'/><category term='rules'/><category term='width'/><category term='CDATA'/><category term='complex'/><category term='debugging'/><category term='AJAX'/><category term='IDL'/><category term='web development'/><category term='Weird Al'/><category term='well formed'/><category term='About.com'/><category term='EXI'/><category term='Azure'/><category term='Facebook Thrift'/><category term='nmtoken'/><category term='HTML 5'/><category term='C++'/><category term='Ruby Event Machine'/><category term='download'/><category term='developers'/><category term='namespaces'/><category term='STS'/><category term='graphic design'/><category term='jargon'/><category term='non-blocking'/><category term='Mozilla'/><category term='browser'/><category term='enterprise'/><category term='class'/><category term='SQL Azure'/><category term='forms'/><category term='open'/><category term='valid'/><category term='XHTML'/><category term='onClick'/><category term='ladies'/><category term='hype'/><category term='HTML5'/><category term='elements'/><category term='affects'/><category term='SGML'/><category term='REST'/><category term='process'/><category term='document'/><category term='tutorial'/><category term='refresher'/><category term='GAE'/><category term='enumeration'/><category term='simple'/><category term='XMLSpy'/><category term='Java'/><category term='instant messaging'/><category term='Web 2.0'/><category term='SOAP'/><category term='Angband'/><category term='tags'/><category term='jobs'/><category term='ASCII files'/><category term='XML tree'/><category term='structure'/><category term='composition'/><category term='model'/><category term='parser'/><category term='native client SDK'/><category term='data'/><category term='RPCs'/><category term='Xerces'/><title type='text'>XML Home</title><subtitle type='html'>I attended a class on XML. Now I want to learn all about the types and use of markup languages. Finally I understand the SOAP versus REST debate. There is still much to learn.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7754868107825497904</id><published>2012-01-26T03:08:00.002-05:00</published><updated>2012-01-26T03:12:55.396-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comments'/><category scheme='http://www.blogger.com/atom/ns#' term='CDATA'/><category scheme='http://www.blogger.com/atom/ns#' term='ebmed'/><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Intro to JavaScript</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-fij9ZnWcF_M/TyEKFRW7oOI/AAAAAAAAANs/MEaq6vtkP6w/s1600/JS.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 249px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5701849688902967522" border="0" alt="" src="http://4.bp.blogspot.com/-fij9ZnWcF_M/TyEKFRW7oOI/AAAAAAAAANs/MEaq6vtkP6w/s320/JS.jpg" /&gt;&lt;/a&gt;Next semester, I am taking an Introduction to JavaScript class. The class looks pretty easy. I need some down time as I continue to process the topics learned in last semester's &lt;a href="http://enableassertions.blogspot.com/"&gt;Java&lt;/a&gt; course.&lt;br /&gt;&lt;br /&gt;Today I picked up the textbook for my JavaScript class. The topics really do look introductory. I read the first two chapters to get ahead for class. They covered some of the history of JavaScript. I learned how to embed JavaScript in HTML. Also reviewed how to put JavaScript in a CDATA block to allow the XHTML to validate.&lt;br /&gt;&lt;br /&gt;The book went through some examples to make the JavaScript spit out HTML. We also learned how to include external JavaScript files. I would like to have some hands-on assignments where I write some JavaScript code. Let's hope the course instructor gives us some homework or something.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7754868107825497904?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7754868107825497904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7754868107825497904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7754868107825497904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7754868107825497904'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2012/01/intro-to-javascript.html' title='Intro to JavaScript'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-fij9ZnWcF_M/TyEKFRW7oOI/AAAAAAAAANs/MEaq6vtkP6w/s72-c/JS.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3631257652324131077</id><published>2011-09-01T09:49:00.003-04:00</published><updated>2011-09-01T09:53:48.345-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Weird Al'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Floating Controls</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-kI4Zzi6m37U/Tl-NeSdJjsI/AAAAAAAAANY/uJx7K8TgqVk/s1600/Milewski.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 225px; FLOAT: left; HEIGHT: 178px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5647388009235582658" border="0" alt="" src="http://4.bp.blogspot.com/-kI4Zzi6m37U/Tl-NeSdJjsI/AAAAAAAAANY/uJx7K8TgqVk/s320/Milewski.png" /&gt;&lt;/a&gt;I was trying to check out a new C++ tutorial online. The page looked pretty blank. I scrolled down thinking maybe they put the content on the bottom. Nope. All I saw was a picture of a dude that looked like Weird Al. Sheesh.&lt;br /&gt;&lt;br /&gt;I read the author's bio. He worked for &lt;a href="http://micro-softus.blogspot.com/"&gt;Microsoft&lt;/a&gt;. He has a PhD. And he even wrote a book on C++. So where is the beef? I almost ditched the site.&lt;br /&gt;&lt;br /&gt;Then I saw it. There was some annoying plus sign that moved with me as I scrolled the screen. At first I thought that was some annoying web ad or something. Nope. That is the control you use to start the training videos.&lt;br /&gt;&lt;br /&gt;Ooops. For me that was a fail. Perhaps the guy got set up. Weak site use tricks like this to get you to click on or notice ads. This was the first time I found the floating control to be used for a legitimate purpose.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3631257652324131077?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3631257652324131077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3631257652324131077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3631257652324131077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3631257652324131077'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/09/floating-controls.html' title='Floating Controls'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-kI4Zzi6m37U/Tl-NeSdJjsI/AAAAAAAAANY/uJx7K8TgqVk/s72-c/Milewski.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-112847074839803881</id><published>2011-05-02T09:37:00.003-04:00</published><updated>2011-05-02T09:40:31.865-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EXI'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='AgileDelta'/><title type='text'>Efficient XML Interchange</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-M8UpVuclspc/Tb6zv1wsKtI/AAAAAAAAANM/AS5wrVvUBUA/s1600/Interchange.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 269px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5602112620961999570" border="0" alt="" src="http://4.bp.blogspot.com/-M8UpVuclspc/Tb6zv1wsKtI/AAAAAAAAANM/AS5wrVvUBUA/s320/Interchange.jpg" /&gt;&lt;/a&gt;There is a new flavor of XML out on the market. It is the Efficient XML Interchange (EXI). This was developed by AgileDelta. The goal is to make XML smaller and faster. They do this by implementing a unique approach to file compression. The great thing about EXI is that it is compatible with XML. Specifically the tools you use for XML will work with EXI.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-112847074839803881?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/112847074839803881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=112847074839803881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/112847074839803881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/112847074839803881'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/05/efficient-xml-interchange.html' title='Efficient XML Interchange'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-M8UpVuclspc/Tb6zv1wsKtI/AAAAAAAAANM/AS5wrVvUBUA/s72-c/Interchange.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3722381077473827691</id><published>2011-03-14T15:16:00.003-04:00</published><updated>2011-03-14T15:21:11.260-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='ExtJS'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Extention Libraries</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-jk2r-uJWOP0/TX5pkVW_bOI/AAAAAAAAANE/aLyXmCnutZ8/s1600/jQuery.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 268px; FLOAT: left; HEIGHT: 268px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5584016660915776738" border="0" alt="" src="http://1.bp.blogspot.com/-jk2r-uJWOP0/TX5pkVW_bOI/AAAAAAAAANE/aLyXmCnutZ8/s320/jQuery.png" /&gt;&lt;/a&gt;If you want to build an &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-corrected"&gt;Internet&lt;/span&gt; app, you can use some type of &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-corrected"&gt;plug in&lt;/span&gt;. But you can also use an extension library. This has the advantage that you don't have to install anything. The browser already knows how to process JavaScript.&lt;br /&gt;&lt;br /&gt;The library I hear the most about is &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;jQuery&lt;/span&gt;. However there are a whole lot more. Developers sometimes think that &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;ExtJS&lt;/span&gt; does not get enough press.&lt;br /&gt;&lt;br /&gt;If you are not integrating it into a commercial product, you can get &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;ExtJS&lt;/span&gt; for free. You add some lines of code to your header section to bring in the &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;ExtJS&lt;/span&gt; &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-corrected"&gt;functionality&lt;/span&gt;. Then you use the extension library framework.&lt;br /&gt;&lt;br /&gt;Some things you might gain from an extension library are drag and drop functionality, help with AJAX, widgets, and event handling. I plan on investigating at least one of these extension libs right after I finish learning JavaScript.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3722381077473827691?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3722381077473827691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3722381077473827691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3722381077473827691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3722381077473827691'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/03/extention-libraries.html' title='Extention Libraries'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jk2r-uJWOP0/TX5pkVW_bOI/AAAAAAAAANE/aLyXmCnutZ8/s72-c/jQuery.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-8536815282109698055</id><published>2011-02-27T02:18:00.002-05:00</published><updated>2011-02-27T02:22:24.040-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><category scheme='http://www.blogger.com/atom/ns#' term='Angband'/><title type='text'>Project Orion</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/--t5BfsRaOrg/TWn62plOf4I/AAAAAAAAAM8/KRMxcy76E1w/s1600/Orion.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 219px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5578265430256942978" border="0" alt="" src="http://4.bp.blogspot.com/--t5BfsRaOrg/TWn62plOf4I/AAAAAAAAAM8/KRMxcy76E1w/s320/Orion.jpg" /&gt;&lt;/a&gt;The Eclipse Foundation is working on a Project Orion. This is a version of their Eclipse &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;IDE&lt;/span&gt; that runs in a web browser. The thing is being coded from scratch using JavaScript. That sounds cool. If they can complete such a massive undertaking, then I should be able to write simple apps using JavaScript.&lt;br /&gt;&lt;br /&gt;I used Eclipse briefly while learning Java. However I found that I preferred a simple text editor. That forced me to learn the syntax myself and not rely on auto complete from an &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;IDE&lt;/span&gt;. I never went back to Eclipse. I should though, for the sake of &lt;a href="http://enableassertions.blogspot.com/"&gt;Java&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My latest vision is to code a small game using JavaScript. The game will implement a simple version of &lt;a href="http://legend-angband.blogspot.com/"&gt;&lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;Angband&lt;/span&gt;&lt;/a&gt;, a text based dungeons and dragons game. I am going to give myself a week or two to finish the thing. Good luck to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-8536815282109698055?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/8536815282109698055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=8536815282109698055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8536815282109698055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8536815282109698055'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/02/project-orion.html' title='Project Orion'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/--t5BfsRaOrg/TWn62plOf4I/AAAAAAAAAM8/KRMxcy76E1w/s72-c/Orion.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2536274135772473008</id><published>2011-02-24T18:28:00.002-05:00</published><updated>2011-02-24T18:31:31.914-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='line number'/><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='interpreter'/><title type='text'>Debugging JavaScript</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-4ODiZUVZXow/TWbpulic1TI/AAAAAAAAAM0/meoSs1inP9o/s1600/Debug.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 178px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5577402175104800050" border="0" alt="" src="http://3.bp.blogspot.com/-4ODiZUVZXow/TWbpulic1TI/AAAAAAAAAM0/meoSs1inP9o/s320/Debug.jpg" /&gt;&lt;/a&gt;I finished reading a whole chapter on JavaScript debugging techniques. Luckily I have been debugging my code all throughout the book. So this topic was close to my heart.&lt;br /&gt;&lt;br /&gt;The thing I like about JavaScript is that it is interpreted. The interpreter knows exactly where it is in the code when it encounters a problem. This allows the browser to report the exact line number where there is a problem.&lt;br /&gt;&lt;br /&gt;With compiled languages, you might be only able to approximate where you are in the code when a problem occurs. I have not yet tried either of the tools from Mozilla or Microsoft to step through the JavaScript code. However I bet those will come in handy as my JavaScript programs get larger and larger as I learn more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2536274135772473008?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2536274135772473008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2536274135772473008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2536274135772473008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2536274135772473008'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/02/debugging-javascript_24.html' title='Debugging JavaScript'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-4ODiZUVZXow/TWbpulic1TI/AAAAAAAAAM0/meoSs1inP9o/s72-c/Debug.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7996629793827779059</id><published>2011-02-23T23:36:00.005-05:00</published><updated>2011-02-23T23:40:40.181-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><category scheme='http://www.blogger.com/atom/ns#' term='dynamic typing'/><title type='text'>Regular Expressions</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-DajBgx_5rJ4/TWXhOBc1QQI/AAAAAAAAAMs/9ZyKnWkGYDI/s1600/Expressions.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 268px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5577111344592011522" border="0" alt="" src="http://1.bp.blogspot.com/-DajBgx_5rJ4/TWXhOBc1QQI/AAAAAAAAAMs/9ZyKnWkGYDI/s320/Expressions.png" /&gt;&lt;/a&gt;So far I have not been too impressed with the JavaScript programming language. The loose typing is driving me crazy. And I discovered the Object Oriented Programming is not really that object oriented. Today however I was happily surprised to find out that JavaScript supports regular expressions.&lt;br /&gt;&lt;br /&gt;I have mostly been staying away from learning regular expressions. And I know I should not be. JavaScript provided me a way to learn both the language and regular expressions a bit. It supports the Perl 5 version of regular expressions. The little bit I have been playing with are very powerful.&lt;br /&gt;&lt;br /&gt;After JavaScript I plan to go back and beef up my Java skills. But I might be able to dig in deeper and gain some good experience with regular expressions as well. Today I only scratched the surface of what looks to be a powerful tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7996629793827779059?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7996629793827779059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7996629793827779059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7996629793827779059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7996629793827779059'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/02/regular-expressions.html' title='Regular Expressions'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-DajBgx_5rJ4/TWXhOBc1QQI/AAAAAAAAAMs/9ZyKnWkGYDI/s72-c/Expressions.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-948772916255621746</id><published>2011-02-22T20:05:00.003-05:00</published><updated>2011-02-22T20:08:37.489-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='case sensitive'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='variables'/><title type='text'>Debugging JavaScript</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-LzUQqCGlL7s/TWRdYs5U3rI/AAAAAAAAAMc/W6jNAzAYr-s/s1600/Screen.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 246px; height: 320px;" src="http://1.bp.blogspot.com/-LzUQqCGlL7s/TWRdYs5U3rI/AAAAAAAAAMc/W6jNAzAYr-s/s320/Screen.JPG" alt="" id="BLOGGER_PHOTO_ID_5576684917541363378" border="0" /&gt;&lt;/a&gt;I am going through my JavaScript textbook for the first time. You just can't read the chapter. You need to work through the big example that is presented. That means a lot of typing in code. Get this. The code from my textbook is buggy.&lt;br /&gt;&lt;br /&gt;Now I am learning a great deal just by debugging the code. However this is a painful process. JavaScript is case sensitive. So if you declare a variable with one spelling, you cannot expect the use of a different spelling somewhere else in the code to work. I keep relearning this fact the hard way.&lt;br /&gt;&lt;br /&gt;My new technique is to cut and paste variable names in my code. It seems to be helping. I will say this. The examples in the book text are some nifty looking web pages. They are very clean and crisp. The exercises at the end of each chapter are decent but still somewhat lacking. Maybe I will have to sign up for a college course on JavaScript after all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-948772916255621746?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/948772916255621746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=948772916255621746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/948772916255621746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/948772916255621746'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/02/debugging-javascript.html' title='Debugging JavaScript'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-LzUQqCGlL7s/TWRdYs5U3rI/AAAAAAAAAMc/W6jNAzAYr-s/s72-c/Screen.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4099476123092364985</id><published>2011-02-21T11:58:00.002-05:00</published><updated>2011-02-21T12:06:50.667-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='anchor'/><category scheme='http://www.blogger.com/atom/ns#' term='image button'/><category scheme='http://www.blogger.com/atom/ns#' term='onClick'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Event Handlers Not Firing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-YTRkScfUEfU/TWKaXPmqrjI/AAAAAAAAAMU/bellHSUpqWg/s1600/Image.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 285px; height: 320px;" src="http://3.bp.blogspot.com/-YTRkScfUEfU/TWKaXPmqrjI/AAAAAAAAAMU/bellHSUpqWg/s320/Image.jpg" alt="" id="BLOGGER_PHOTO_ID_5576189012754476594" border="0" /&gt;&lt;/a&gt;I am home spending a week to get ahead in my JavaScript learning. Was just finishing up some case projects at the end of the chapter. I ran into a problem that I glossed over before. Sometimes the event handlers just don't seem to be firing. This is very frustrating.&lt;br /&gt;&lt;br /&gt;I could not get the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;onclick&lt;/span&gt; event handler to work for the image buttons on a form. This could not be right. I finally googled around and found that old Netscape 4 did not handler event handlers for this element.&lt;br /&gt;&lt;br /&gt;But I am running Internet Explorer 6. I would hope it could handler these &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;onClick&lt;/span&gt; events. Nevertheless, I followed the advice on what to do if you are running Netscape 4. I dropped the image button for a regular image element nested in an anchor tag. The anchor handles the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;onClick&lt;/span&gt; event.&lt;br /&gt;&lt;br /&gt;Yeah this is a &lt;a href="http://black-of-hat.blogspot.com/"&gt;hack&lt;/a&gt;, but I am getting desperate. Props go out to Web Developer &lt;a href="http://www.webdevelopersnotes.com/tips/html/using_an_image_as_a_submit_button.php3"&gt;Notes &lt;/a&gt;that pointed out the Netscape 4 work around. Thank you very much,&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4099476123092364985?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4099476123092364985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4099476123092364985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4099476123092364985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4099476123092364985'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/02/event-handlers-not-firing.html' title='Event Handlers Not Firing'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-YTRkScfUEfU/TWKaXPmqrjI/AAAAAAAAAMU/bellHSUpqWg/s72-c/Image.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3934992330373130372</id><published>2011-02-08T10:27:00.002-05:00</published><updated>2011-02-08T10:30:24.990-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='variables'/><category scheme='http://www.blogger.com/atom/ns#' term='functions'/><title type='text'>Fragile JavaScript</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/TVFg8J8r97I/AAAAAAAAAMM/mTS5sTOuzh4/s1600/Broken.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5571340800612890546" border="0" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/TVFg8J8r97I/AAAAAAAAAMM/mTS5sTOuzh4/s320/Broken.jpg" /&gt;&lt;/a&gt;I purchased a textbook on JavaScript and am trying to learn the language on my own. So far I have read up on variables, functions, and events. I do all the exercised at the end of each chapter. Here is the thing that irks me. If you have one character in your source code wrong, the resulting JavaScript just does not work.&lt;br /&gt;&lt;br /&gt;At least in HTML when things go wrong, the browser seems to display something. With JavaScript you just get an empty page. I've got to discover or invent a way to make my JavaScript coding more robust. It feels like the whole house will come down if you make a change to your code or try something new.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3934992330373130372?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3934992330373130372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3934992330373130372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3934992330373130372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3934992330373130372'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/02/fragile-javascript.html' title='Fragile JavaScript'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/TVFg8J8r97I/AAAAAAAAAMM/mTS5sTOuzh4/s72-c/Broken.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4566599077224172077</id><published>2011-02-02T11:06:00.001-05:00</published><updated>2011-02-02T11:08:48.566-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS3'/><title type='text'>Cascading Style Sheets 3</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/TUmBCKfNcII/AAAAAAAAAME/oT95b8kqLmg/s1600/HTML.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 300px; FLOAT: left; HEIGHT: 288px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5569124288395309186" border="0" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/TUmBCKfNcII/AAAAAAAAAME/oT95b8kqLmg/s320/HTML.png" /&gt;&lt;/a&gt;Lately HTML5 has been getting all the buzz. But Cascading Style Sheets 3 (&lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;CSS&lt;/span&gt;3) is also coming out. It allows you to easily do buttons with rounded corners. You specify this with the border-radius property.&lt;br /&gt;&lt;br /&gt;You should also not count out JavaScript. The future is most likely going to be a combination of &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-corrected"&gt;HTML&lt;/span&gt;5, &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;CSS&lt;/span&gt;3, and JavaScript. I know I am learning JavaScript to be ready for the new web wave.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4566599077224172077?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4566599077224172077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4566599077224172077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4566599077224172077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4566599077224172077'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2011/02/cascading-style-sheets-3.html' title='Cascading Style Sheets 3'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/TUmBCKfNcII/AAAAAAAAAME/oT95b8kqLmg/s72-c/HTML.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-6390977329468664117</id><published>2010-11-18T14:53:00.002-05:00</published><updated>2010-11-18T14:57:00.871-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Dreamweaver'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Microsoft Expression Studio</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/TOWEU6CjqOI/AAAAAAAAAL0/zy-ITfNtB-g/s1600/ExpressionStudio.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 250px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5540980411261495522" border="0" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/TOWEU6CjqOI/AAAAAAAAAL0/zy-ITfNtB-g/s320/ExpressionStudio.jpg" /&gt;&lt;/a&gt;The instructor of my &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;XHTML&lt;/span&gt; class told us to download Adobe &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Dreamweaver&lt;/span&gt; to do HTML pages quickly. Adobe has a 30 day trial that anybody can. Well I got the program installed. The user interface does not look intuitively obvious.&lt;br /&gt;&lt;br /&gt;Then my instructor said he could give us Microsoft Expression Studio free of charge. He made us install it in the computer lab. While it might not do as much as Adobe &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;Dreamweaver&lt;/span&gt;, it is surprisingly easy to use.&lt;br /&gt;&lt;br /&gt;After knocking out web pages with Express Studio, I wondered if it was worth it to learn how to hand code HTML pages. The verdict is yes. You will know how to debug any problem you encounter. You will also understand the setting much better than somebody who started by pointing and clicking.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-6390977329468664117?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/6390977329468664117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=6390977329468664117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6390977329468664117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6390977329468664117'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/11/microsoft-expression-studio.html' title='Microsoft Expression Studio'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/TOWEU6CjqOI/AAAAAAAAAL0/zy-ITfNtB-g/s72-c/ExpressionStudio.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1851881527446157608</id><published>2010-11-11T13:23:00.003-05:00</published><updated>2010-11-11T13:28:26.692-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='designers'/><category scheme='http://www.blogger.com/atom/ns#' term='databases'/><category scheme='http://www.blogger.com/atom/ns#' term='developers'/><category scheme='http://www.blogger.com/atom/ns#' term='ladies'/><title type='text'>Web Developers</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/TNw0tHxCUmI/AAAAAAAAALs/rhjTbOIWzvs/s1600/WebDev.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 240px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5538359591542346338" border="0" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/TNw0tHxCUmI/AAAAAAAAALs/rhjTbOIWzvs/s320/WebDev.jpg" /&gt;&lt;/a&gt;I checked out this &lt;a href="http://sixrevisions.com/infographs/web-designers-vs-web-developers/"&gt;&lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;graphi&lt;/span&gt;c&lt;/a&gt; today comparing web designers and web developers. The most striking difference was the average salaries. Designers make around $47k, while developers pull in $85k. Now why would anyone choose to be a design with statistics like that?&lt;br /&gt;&lt;br /&gt;One common feature between the two is that neither job will get you props with the ladies. That is just too bad. Personally I want to be more than just a web developer. And I also want to earn more than the average $85k. So I need to step up my game and learn &lt;a href="http://ora-pl-sql.blogspot.com/"&gt;databases&lt;/a&gt; as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1851881527446157608?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1851881527446157608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1851881527446157608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1851881527446157608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1851881527446157608'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/11/web-developers.html' title='Web Developers'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/TNw0tHxCUmI/AAAAAAAAALs/rhjTbOIWzvs/s72-c/WebDev.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2668677202759884194</id><published>2010-10-26T19:52:00.005-04:00</published><updated>2010-10-26T19:57:56.017-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forms'/><category scheme='http://www.blogger.com/atom/ns#' term='textarea'/><category scheme='http://www.blogger.com/atom/ns#' term='scrollbar'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>HTML Text Area</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/TMdp7JPX_yI/AAAAAAAAALM/KKWzb38-IR4/s1600/TextareaBar.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 113px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5532507132061548322" border="0" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/TMdp7JPX_yI/AAAAAAAAALM/KKWzb38-IR4/s320/TextareaBar.jpg" /&gt;&lt;/a&gt;I am learning about HTML forms right now. The final control I was placing on my form was a &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;textarea&lt;/span&gt;. The thing was supposed to be about 3 rows tall. However when I displayed my form in the browser, there were scroll bar controls on the right side. But there was not even any text in the &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;textarea&lt;/span&gt;. I searched without &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;sucess&lt;/span&gt; for some type of attribute to set in order to remove these &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;scrollbar&lt;/span&gt; controls.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;There had to be a way to have a plain &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;textarea&lt;/span&gt; without any &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;scrollbar&lt;/span&gt; controls. I figured it out eventually. You got to display your web page in the FireFox browser instead of Internet Explorer.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2668677202759884194?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2668677202759884194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2668677202759884194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2668677202759884194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2668677202759884194'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/10/html-text-area.html' title='HTML Text Area'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/TMdp7JPX_yI/AAAAAAAAALM/KKWzb38-IR4/s72-c/TextareaBar.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4164693680782031095</id><published>2010-10-19T16:25:00.002-04:00</published><updated>2010-10-19T16:30:50.391-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Nginx'/><category scheme='http://www.blogger.com/atom/ns#' term='V8'/><title type='text'>Ryan Dahl Speaks</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/TL3-1k8n2tI/AAAAAAAAALE/vj23rbXgn0s/s1600/Dahl.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 162px; FLOAT: left; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5529856113885305554" border="0" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/TL3-1k8n2tI/AAAAAAAAALE/vj23rbXgn0s/s320/Dahl.jpg" /&gt;&lt;/a&gt;I read another blog post by an author who interviewed Ryan &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;Dahl&lt;/span&gt;. Ryan is the creator of "node.&lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;js&lt;/span&gt;". This is a program that is good for easily creating a network based program. The program is only available in source code format. You need to compile it yourself on your machine. The only thing it requires is that Python be on your box.&lt;br /&gt;&lt;br /&gt;The node.&lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;js&lt;/span&gt; set of &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;APIs&lt;/span&gt; are similar to those for browsers. The main object in node is a process. A key tenet of the system is that your calls should never have to wait on anything such as file I/O.&lt;br /&gt;&lt;br /&gt;&lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;Dahl&lt;/span&gt; is proud that node supports HTTP. He says that although the protocol may seem trivial, it is actually quite complicated under the covers. Node gives you the ability to code in JavaScript even though your programs don't run in the web browser.&lt;br /&gt;&lt;br /&gt;Node is built on the V8 JavaScript engine. A main goal of node is to be super fast. &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;Dahl&lt;/span&gt; boasts that it can handle 822 requests per second. That performs favorably to the ultra fast &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;Nginx&lt;/span&gt; server. &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;Dahl&lt;/span&gt; did &lt;span id="SPELLING_ERROR_8" class="blsp-spelling-corrected"&gt;concede&lt;/span&gt; that node is probably not the best solution for really large web sites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4164693680782031095?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4164693680782031095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4164693680782031095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4164693680782031095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4164693680782031095'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/10/ryan-dahl-speaks.html' title='Ryan Dahl Speaks'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/TL3-1k8n2tI/AAAAAAAAALE/vj23rbXgn0s/s72-c/Dahl.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-779401927415970219</id><published>2010-09-28T19:52:00.005-04:00</published><updated>2010-09-28T19:57:45.489-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='developers'/><category scheme='http://www.blogger.com/atom/ns#' term='graphic design'/><category scheme='http://www.blogger.com/atom/ns#' term='jobs'/><category scheme='http://www.blogger.com/atom/ns#' term='salary'/><title type='text'>Flash Development</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/TKKA6P9aLxI/AAAAAAAAAK8/iZ4qtFIezRA/s1600/Flash.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 301px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5522117831314517778" border="0" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/TKKA6P9aLxI/AAAAAAAAAK8/iZ4qtFIezRA/s320/Flash.jpg" /&gt;&lt;/a&gt;I read an article that talked about the state of Flash development. A couple years ago, Flash developers were making around $50k a year. However the article stated Flash developers make upwards of $150k. &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;Bamm&lt;/span&gt;. That's a nice chunk of change. I thought I would look into this.&lt;br /&gt;&lt;br /&gt;Checked out some local job listings. There were indeed a number of Flash developer positions in the area. Some of them even posted their salary ranges. However the highest paying ones were $100k or maybe one $110k job. No salaries were even close to $150k.&lt;br /&gt;&lt;br /&gt;The jobs themselves required graphic design skills. You also need to know &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;ActionScript&lt;/span&gt;. Not sure what that is exactly. However I am not a Flash developer. May never become one. I am always looking for the high compensation technical areas. Flash might not be on the top. It still could be worthwhile to investigate a little further.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-779401927415970219?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/779401927415970219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=779401927415970219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/779401927415970219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/779401927415970219'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/09/flash-development.html' title='Flash Development'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/TKKA6P9aLxI/AAAAAAAAAK8/iZ4qtFIezRA/s72-c/Flash.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4763675576755119916</id><published>2010-09-22T11:52:00.003-04:00</published><updated>2010-09-22T12:04:42.907-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='structure'/><category scheme='http://www.blogger.com/atom/ns#' term='width'/><category scheme='http://www.blogger.com/atom/ns#' term='container'/><category scheme='http://www.blogger.com/atom/ns#' term='newline'/><category scheme='http://www.blogger.com/atom/ns#' term='flow'/><category scheme='http://www.blogger.com/atom/ns#' term='content'/><title type='text'>Block Versus Inline</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/TJomS31eCkI/AAAAAAAAAKs/9R8LBfwywb0/s1600/Block.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 242px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5519766398963681858" border="0" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/TJomS31eCkI/AAAAAAAAAKs/9R8LBfwywb0/s320/Block.png" /&gt;&lt;/a&gt;HTML elements can generally be classified as either block or &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;inline&lt;/span&gt;. Block elements take up the full width of their area, and normally have a new line before and after the element. An &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;inline&lt;/span&gt; element takes up only the width it requires, and does not force a newline.&lt;br /&gt;&lt;br /&gt;Some examples of block elements are p, div, h1, blockquote and ul. Examples of &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;inline&lt;/span&gt; elements are span, a, strong,&lt;br /&gt;, and img. Note that the image element actually behaves a little like both types of elements. Table is another element that is not strictly block or &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;inline&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Blocks can contain other blocks and &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;inline&lt;/span&gt; elements. They take up the entire width of their parent content box. They normally begin on a new line. Block element are also called block-level elements. They describe structure.&lt;br /&gt;&lt;br /&gt;&lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;Inline&lt;/span&gt; elements can online contain text or other &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;inline&lt;/span&gt; elements. They do not break the flow. They also do not form new blocks. &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;Inline&lt;/span&gt; elements join with other &lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;inline&lt;/span&gt; elements horizontally, and wrap only if they reach the end of the parent content box. &lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;Inline&lt;/span&gt; elements are also called text-level elements. They usually describe the appearance. You cannot set the width of &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;inline&lt;/span&gt; elements. Their width are controlled by their containers. Be warned that Internet Explorer does not follow this last rule.&lt;br /&gt;&lt;br /&gt;In all of this, you should know that the type (block or &lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;inline&lt;/span&gt;) that an element normally is can be redefined using the display tag. Here are some more rules. Elements in the body are either &lt;span id="SPELLING_ERROR_12" class="blsp-spelling-corrected"&gt;block&lt;/span&gt; or &lt;span id="SPELLING_ERROR_13" class="blsp-spelling-error"&gt;inline&lt;/span&gt;. An &lt;span id="SPELLING_ERROR_14" class="blsp-spelling-error"&gt;inline&lt;/span&gt; element cannot be directly under the body level tags. Knowing block and &lt;span id="SPELLING_ERROR_15" class="blsp-spelling-error"&gt;inline&lt;/span&gt; can separate you from the rank and file HTML coders.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4763675576755119916?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4763675576755119916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4763675576755119916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4763675576755119916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4763675576755119916'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/09/block-versus-inline.html' title='Block Versus Inline'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/TJomS31eCkI/AAAAAAAAAKs/9R8LBfwywb0/s72-c/Block.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-9213350923879595138</id><published>2010-09-10T11:47:00.002-04:00</published><updated>2010-09-10T11:51:48.819-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>The Rise of HTML5</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/TIpTLX0zGaI/AAAAAAAAAKk/a4aNzTTUqnI/s1600/OldTimer.gif"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 240px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5515312148507728290" border="0" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/TIpTLX0zGaI/AAAAAAAAAKk/a4aNzTTUqnI/s320/OldTimer.gif" /&gt;&lt;/a&gt;I tried to visit a site that would produce a Google style logo for me. Imagine my surprise when I got a message greeting me as an "old timer". It then went on to say that the site I was visiting required HTML5. It &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-corrected"&gt;recommended&lt;/span&gt; I download Chrome or &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Firefox&lt;/span&gt; to view the site.&lt;br /&gt;&lt;br /&gt;Normally I would not think twice about this. I would just click to go to some other site. But I just went through an upgrade to Microsoft Internet Explorer 8. The upgrade was a difficult path. My initial tries resulted in error. Had to get some help getting the thing installed and working.&lt;br /&gt;&lt;br /&gt;I also thought that HTML5 was not even a standard yet. The current standard should be &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;XHTML&lt;/span&gt;, which is HTML4 plus a little XML. What is going on here? Must be some Google ploy to battle with Microsoft. Maybe I will try going to the site with &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;Firefox&lt;/span&gt;. But this better be a damn good site with all this trouble.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-9213350923879595138?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/9213350923879595138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=9213350923879595138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/9213350923879595138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/9213350923879595138'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/09/rise-of-html5.html' title='The Rise of HTML5'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/TIpTLX0zGaI/AAAAAAAAAKk/a4aNzTTUqnI/s72-c/OldTimer.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1991190624488680223</id><published>2010-09-08T15:15:00.004-04:00</published><updated>2010-09-08T15:22:45.129-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='callback'/><category scheme='http://www.blogger.com/atom/ns#' term='non-blocking'/><category scheme='http://www.blogger.com/atom/ns#' term='promise'/><title type='text'>More on Node.js</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/TIfgzGZCpgI/AAAAAAAAAKc/iofIYINxEaM/s1600/Node.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 239px; FLOAT: left; HEIGHT: 211px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5514623437232055810" border="0" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/TIfgzGZCpgI/AAAAAAAAAKc/iofIYINxEaM/s320/Node.jpg" /&gt;&lt;/a&gt;I keep reading a lot about Node in blogs. Here is what more I have learned. Node is a command line tool. Programs can run it by calling &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;sys&lt;/span&gt;.exec(). It works in UNIX, but not Windows yet. You install it by downloading the source code for it. It is geared toward network and file I/O. None of the calls block. You get an immediate promise and a future callback. Some call it the future of web development.&lt;br /&gt;&lt;br /&gt;Ryan &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Dahl&lt;/span&gt; is the creator of Node. It currently is around 11k lines of C++ code, along with 6k lines of JavaScript. How do you like that? The JavaScript helper is itself written partially in JavaScript.&lt;br /&gt;&lt;br /&gt;Node is good for small projects. It does not scale that great if you are dealing with large files. This is server side JavaScript for a lot of connections. The author believes frameworks will be written on top of Node. I am going to try to learn JavaScript, and then dive into Node.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1991190624488680223?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1991190624488680223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1991190624488680223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1991190624488680223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1991190624488680223'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/09/more-on-nodejs.html' title='More on Node.js'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/TIfgzGZCpgI/AAAAAAAAAKc/iofIYINxEaM/s72-c/Node.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-6894489940900171546</id><published>2010-08-24T11:06:00.003-04:00</published><updated>2010-08-24T11:11:47.927-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby Event Machine'/><title type='text'>Nodejs</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/THPgNd2EC8I/AAAAAAAAAKU/AN3p5DVxydA/s1600/Node.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5508993291158555586" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 283px; CURSOR: hand; HEIGHT: 279px" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/THPgNd2EC8I/AAAAAAAAAKU/AN3p5DVxydA/s320/Node.png" border="0" /&gt;&lt;/a&gt;There was an informal poll conducted about what technologies web developers thought would be relevant in 5 years. This is a tough one because things change quickly on the web. However I noticed a number of developers thinking that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;nodejs&lt;/span&gt; would be around. To tell you the truth, I had no idea with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;nodejs&lt;/span&gt; was. I need to get in touch with modern web development quick.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Nodejs&lt;/span&gt; is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;evented&lt;/span&gt; input/output for JavaScript. It makes it easier to build network programs that scale. The node program runs the JavaScript. It sleeps until the operating system alerts it that it has work to do. The node uses a small amount of memory per connection. There is not a new thread created for every connection.&lt;br /&gt;&lt;br /&gt;This is similar to the Ruby Event Machine or Python's Twisted. I am planning to learn JavaScript from a college class in the upcoming semester. Perhaps after that I can appreciate what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;nodejs&lt;/span&gt; has to offer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-6894489940900171546?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/6894489940900171546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=6894489940900171546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6894489940900171546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6894489940900171546'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/08/nodejs.html' title='Nodejs'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/THPgNd2EC8I/AAAAAAAAAKU/AN3p5DVxydA/s72-c/Node.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1499209788053237510</id><published>2010-08-19T13:53:00.003-04:00</published><updated>2010-08-19T13:53:00.362-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='STS'/><category scheme='http://www.blogger.com/atom/ns#' term='tokens'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='claims'/><title type='text'>Cloud Computing the Microsoft Way</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/TGweOArcp_I/AAAAAAAAAJ8/zeHqgVh1YCs/s1600/Cloud.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5506809670416508914" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 233px" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/TGweOArcp_I/AAAAAAAAAJ8/zeHqgVh1YCs/s320/Cloud.jpg" border="0" /&gt;&lt;/a&gt;So how do you migrate your applications to the cloud? Well you have to start with security. Your app has to work with a Secure Token Service (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;STS&lt;/span&gt;). The user enters authentication as a claim. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;STS&lt;/span&gt; gives the user a token which is presented to the application. The token is in the Security Assertions Markup Language (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SAML&lt;/span&gt;). Your app has to trust the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;STS&lt;/span&gt;. Then you are ready for business.&lt;br /&gt;&lt;br /&gt;Next up you need to move your database to the cloud. Microsoft has &lt;a href="http://micro-softus.blogspot.com/2010/03/azure.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SQL&lt;/span&gt; Azure&lt;/a&gt;. This is a scaled down version of &lt;a href="http://micro-softus.blogspot.com/2010/05/sql-server-2008-r2.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SQL&lt;/span&gt; Server 2008&lt;/a&gt;. Make sure you app works with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;SQL&lt;/span&gt; Server 2008 first. Then review whether all the features you use are supported by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SQL&lt;/span&gt; Azure. Beware that your connections to the database will be throttled. You got to dump the designs which connect to the database and hold the connection for the life of your app.&lt;br /&gt;&lt;br /&gt;These are a few tips to get you started. Personally I have stayed away from cloud computing. The system I work on is complex enough with having to add another layer of trouble to it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1499209788053237510?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1499209788053237510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1499209788053237510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1499209788053237510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1499209788053237510'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/08/cloud-computing-microsoft-way.html' title='Cloud Computing the Microsoft Way'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/TGweOArcp_I/AAAAAAAAAJ8/zeHqgVh1YCs/s72-c/Cloud.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3373221840546310000</id><published>2010-08-18T13:10:00.003-04:00</published><updated>2010-08-18T13:14:17.062-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Rational Rose'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='diagrams'/><title type='text'>The End of UML</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/TGwUK8-ISVI/AAAAAAAAAJ0/dtRT2eYSZLs/s1600/UML.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5506798622765238610" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 231px" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/TGwUK8-ISVI/AAAAAAAAAJ0/dtRT2eYSZLs/s320/UML.jpg" border="0" /&gt;&lt;/a&gt;You don't hear much about the Unified Modeling Language any more. Perhaps it is stable. Or maybe it has become obsolete. Code generation and diagramming has become passe.&lt;br /&gt;&lt;br /&gt;I am fine with this. Personally I like coding more than drawing pictures. That does not mean that design itself has been thrown out. Just the previous craze of using tools to draw diagrams.&lt;br /&gt;&lt;br /&gt;Guess what? I can't remember the last time I opened up Rational Rose and did any design work with it. And I also don't recall the last time I sketched out a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;UML&lt;/span&gt; diagram for a developer to see. Oh well. Easy come easy go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3373221840546310000?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3373221840546310000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3373221840546310000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3373221840546310000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3373221840546310000'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/08/end-of-uml.html' title='The End of UML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/TGwUK8-ISVI/AAAAAAAAAJ0/dtRT2eYSZLs/s72-c/UML.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-6869934353657741779</id><published>2010-07-25T23:24:00.003-04:00</published><updated>2010-07-25T23:27:55.329-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='banners'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><title type='text'>HTML 5 Versus Flash</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/TEz_-DjEx5I/AAAAAAAAAJs/IMyKkKQP2vo/s1600/5.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 285px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5498050686681925522" border="0" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/TEz_-DjEx5I/AAAAAAAAAJs/IMyKkKQP2vo/s320/5.png" /&gt;&lt;/a&gt;Developers are very familiar with Flash technology. It has both power and flexibility. Right now Flash owns the online marketing arena. Banners are pretty much written with Flash.&lt;br /&gt;&lt;br /&gt;HTML 5 is new. It is based on an open standard. If you are doing mobile apps, HTML 5 might be for you. You might want to learn it if you are a developer. I hear that HTML 5 development opportunities are growing fast.&lt;br /&gt;&lt;br /&gt;Companies do not have to choose Flash or HTML 5. You can code up your apps in both, and support multiple implementations of your app. You want to reach as many people as possible. Use the right tools and language for the job, even if you need to support multiple platforms.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-6869934353657741779?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/6869934353657741779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=6869934353657741779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6869934353657741779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6869934353657741779'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/07/html-5-versus-flash.html' title='HTML 5 Versus Flash'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/TEz_-DjEx5I/AAAAAAAAAJs/IMyKkKQP2vo/s72-c/5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-281717964962267049</id><published>2010-07-23T16:50:00.003-04:00</published><updated>2010-07-23T16:56:15.938-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASCII files'/><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='volume'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='loading'/><title type='text'>Change in Schema</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/TEoAnogE1tI/AAAAAAAAAJk/wxC28Ot7jHo/s1600/Schema.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 279px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5497206976045962962" border="0" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/TEoAnogE1tI/AAAAAAAAAJk/wxC28Ot7jHo/s320/Schema.jpg" /&gt;&lt;/a&gt;Our system used to only receive input data as large ASCII flat files. These were generated on a daily basis by some mainframe computers. The loading process on our system parsed the files according to a record layout. The result was inserted into an Oracle database which our applications query.&lt;br /&gt;&lt;br /&gt;Last year we started receiving some files in XML format. There was a big concern about the size of such files. The old input files were minimal. You just got the data arranged in a specified format. Many worried the overhead of XML tags would make the files too large to handle. So far we have not received too much data in these files. The technique has not been volume tested.&lt;br /&gt;&lt;br /&gt;Now we are preparing to receive a combination of XML and ASCII text files next year. There will be format changes for both of these files. The &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-corrected"&gt;ASCII&lt;/span&gt; text files just have a different record layout. The XML files will be formatted according to a new schema. I suspect in the future that we will only receive files in XML format. Then we will only have to deal with XML schema changes. The real thing to look out for is the growth of XML input file size. We do have a plan to split the XML files into small chunks that we can reasonably process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-281717964962267049?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/281717964962267049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=281717964962267049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/281717964962267049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/281717964962267049'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/07/change-in-schema.html' title='Change in Schema'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/TEoAnogE1tI/AAAAAAAAAJk/wxC28Ot7jHo/s72-c/Schema.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2904797826707049048</id><published>2010-05-24T15:41:00.001-04:00</published><updated>2010-05-24T15:43:12.644-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acquia'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='web sites'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>DrupalCon 2010</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fXZ3sSvirWg/S_rWpL7f17I/AAAAAAAAAJc/Cn_dKiKKc_8/s1600/Drupal.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 279px; height: 320px;" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/S_rWpL7f17I/AAAAAAAAAJc/Cn_dKiKKc_8/s320/Drupal.jpg" alt="" id="BLOGGER_PHOTO_ID_5474924300087580594" border="0" /&gt;&lt;/a&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Drupal&lt;/span&gt; users just had their first users conference. It was called &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DrupalCon&lt;/span&gt;. The conference was hosted by Microsoft Corporation. &lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Know that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Drupal&lt;/span&gt; is an open source framework. About one percent of web sites use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Drupal&lt;/span&gt;. The word &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Drupal&lt;/span&gt; is Dutch meaning drop.&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The framework was created back in 2001. Its creator formed the company &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Acquia&lt;/span&gt; to provide support for the framework. This company does things like provide training. &lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2904797826707049048?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2904797826707049048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2904797826707049048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2904797826707049048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2904797826707049048'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/05/blog-post.html' title='DrupalCon 2010'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/S_rWpL7f17I/AAAAAAAAAJc/Cn_dKiKKc_8/s72-c/Drupal.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4133890069787636098</id><published>2010-05-15T14:11:00.003-04:00</published><updated>2010-05-15T14:16:38.926-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='native client SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Google Chromium</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/S-7j4RE1DCI/AAAAAAAAAJM/3eit_6UrHIM/s1600/C%2B%2B.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 273px; FLOAT: left; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5471561153097567266" border="0" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/S-7j4RE1DCI/AAAAAAAAAJM/3eit_6UrHIM/s320/C%2B%2B.png" /&gt;&lt;/a&gt;Google has unleashed their Chromium project. It is a native client &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;SDK&lt;/span&gt;. This enables you to use C++ code run by your Internet browser. The C++ code can be called from HTML and JavaScript. It is supposed to make your functionality more powerful. You can access all kinds of C++ libraries.&lt;br /&gt;&lt;br /&gt;The browser is becoming the default experience for users. Google wants the browser to be the next generation operating system. Some people are concerned about this new power being available in the browser.&lt;br /&gt;&lt;br /&gt;This might be good if people write &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;POSIX&lt;/span&gt; compliant code so it can run on all kinds of platforms. Google is positioning this technology for cloud computing. Knowing Google, this might be in Beta for a while.&lt;br /&gt;&lt;br /&gt;Others wonder whether Chromium offers anything beyond what the Java Virtual Machine and applets can give you. C++ programmers might think this is just like Microsoft's &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;ActiveX&lt;/span&gt; technology. &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;Btw&lt;/span&gt;, I got all this info from &lt;a href="http://readwriteweb.com/"&gt;&lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;readwriteweb&lt;/span&gt;&lt;/a&gt;. So props to them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4133890069787636098?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4133890069787636098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4133890069787636098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4133890069787636098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4133890069787636098'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/05/google-chromium.html' title='Google Chromium'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/S-7j4RE1DCI/AAAAAAAAAJM/3eit_6UrHIM/s72-c/C%2B%2B.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1984422843910414601</id><published>2010-05-06T01:57:00.002-04:00</published><updated>2010-05-06T02:01:14.964-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-*'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><title type='text'>SAML</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/S-JaZU8U9ZI/AAAAAAAAAJE/VkKahfz63Sw/s1600/Security.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 300px; FLOAT: left; HEIGHT: 300px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5468032288746173842" border="0" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/S-JaZU8U9ZI/AAAAAAAAAJE/VkKahfz63Sw/s320/Security.jpg" /&gt;&lt;/a&gt;REST is hot right now. However it does not give you good access to security standards. What are you to do? Well one thing is for sure. Don't roll your own security&lt;a href="http://black-of-hat.blogspot.com/"&gt; code. That will take too long, and it will be &lt;/a&gt;full of holes.&lt;br /&gt;&lt;br /&gt;I just read up one guy proposing &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;RESTful&lt;/span&gt; apps to use security assertion &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-corrected"&gt;markup&lt;/span&gt; language (&lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;SAML&lt;/span&gt;). This standard is an accepted way to do authentication. It is an alternative to &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;WS&lt;/span&gt;-*.&lt;br /&gt;&lt;br /&gt;They say &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SAML&lt;/span&gt; has a rich syntax. I can't tell for sure yet. I have only just read about. However it sounds like something to look into if you are going &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;RESTful&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1984422843910414601?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1984422843910414601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1984422843910414601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1984422843910414601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1984422843910414601'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/05/saml.html' title='SAML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/S-JaZU8U9ZI/AAAAAAAAAJE/VkKahfz63Sw/s72-c/Security.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1598059648783400286</id><published>2010-04-05T20:36:00.002-04:00</published><updated>2010-04-05T20:41:29.227-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='large XML files'/><category scheme='http://www.blogger.com/atom/ns#' term='XMLSpy'/><category scheme='http://www.blogger.com/atom/ns#' term='64-bit'/><title type='text'>Altova MissionKit</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/S7qCKbSNLYI/AAAAAAAAAI8/YOZtwgLjBNk/s1600/Mission.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 262px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5456817014147198338" border="0" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/S7qCKbSNLYI/AAAAAAAAAI8/YOZtwgLjBNk/s320/Mission.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;Altova&lt;/span&gt; has released a 64 bit version of its &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;MissionKit&lt;/span&gt; tool suite. It is supposed to give you a performance advantage, especially when dealing with huge XML files. &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;Altova&lt;/span&gt; says that this version can help you edit XML files that are a couple hundred megabytes large.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;This latest update is Version 2010 Release 2. You can get the update for free if you have a subscription. Otherwise this thing is going to cost you a bit of money. &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;MissionKit&lt;/span&gt; is composed of a number of tools such as the famous &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;XMLSpy&lt;/span&gt; XML editor. I know the developers and testers in my company all want a copy of &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;XMLSpy&lt;/span&gt;. The other tools may not be as important.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;We process relatively small files in our production environment. So for now we run a 32-bit version of &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;XMLSpy&lt;/span&gt;. However things may ramp up once the customer gets comfortable with our XML loading software. Maybe a copy or two of &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;MissionKit&lt;/span&gt; 64-bit is in order for next year.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1598059648783400286?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1598059648783400286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1598059648783400286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1598059648783400286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1598059648783400286'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/04/altova-missionkit.html' title='Altova MissionKit'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/S7qCKbSNLYI/AAAAAAAAAI8/YOZtwgLjBNk/s72-c/Mission.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-16585357865539659</id><published>2010-02-10T19:37:00.003-05:00</published><updated>2010-02-10T19:43:14.507-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><title type='text'>Service Oriented Architecture</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/S3NRbNyImjI/AAAAAAAAAI0/KDKAnOFhffk/s1600-h/SOA.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 303px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5436778703164578354" border="0" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/S3NRbNyImjI/AAAAAAAAAI0/KDKAnOFhffk/s320/SOA.jpg" /&gt;&lt;/a&gt;These days everybody is using &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;SOA&lt;/span&gt; to sell things. It seems to be a marketing term now. Initially it was a technical term to describe apps communicating with SOAP.&lt;br /&gt;&lt;br /&gt;Now I am hearing that &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;SOA&lt;/span&gt; is being redefined to represent some best practices in software development. It describes using &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-corrected"&gt;simplistic&lt;/span&gt; messaging. It also refers to open and scalable systems. That sounds like good techniques to me.&lt;br /&gt;&lt;br /&gt;Like most developers, I was excited to hear about &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;SOA&lt;/span&gt;. I recall a VIP from our company addressing huge amounts of developers in my building. When he mentioned &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SOA&lt;/span&gt;, the developers were happy and cheering.&lt;br /&gt;&lt;br /&gt;Now unfortunately &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;SOA&lt;/span&gt; is being used by everybody. It does not mean much to me any more. I hope this new best practices style of &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;SOA&lt;/span&gt; takes over. We shall see.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-16585357865539659?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/16585357865539659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=16585357865539659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/16585357865539659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/16585357865539659'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/02/service-oriented-architecture.html' title='Service Oriented Architecture'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/S3NRbNyImjI/AAAAAAAAAI0/KDKAnOFhffk/s72-c/SOA.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1404844924423968338</id><published>2010-02-09T17:44:00.005-05:00</published><updated>2010-02-09T17:49:53.182-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='web sites'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Microsoft and HTML 5</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/S3HmgYeu55I/AAAAAAAAAIs/qdqDgTsR5O4/s1600-h/Five.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5436379669214455698" border="0" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/S3HmgYeu55I/AAAAAAAAAIs/qdqDgTsR5O4/s320/Five.jpg" /&gt;&lt;/a&gt;Previously all browser manufacturers cooperated with changes in HTML 5. That included everyone except Microsoft. This meant that developers had to code two versions of their web site. One would be specific to Internet Explorer. That is no fun.&lt;br /&gt;&lt;br /&gt;HTML 5 supports Scalable Vector Graphics support. Some have speculated that Microsoft is concerned that &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;SVG&lt;/span&gt; infringes on the &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Silverlight&lt;/span&gt; solution space. Luckily Microsoft is no longer holding out on HTML 5. They joined the &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;SVG&lt;/span&gt; working group. Things are looking better for HTML 5.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1404844924423968338?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1404844924423968338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1404844924423968338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1404844924423968338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1404844924423968338'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/02/microsoft-and-html-5.html' title='Microsoft and HTML 5'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/S3HmgYeu55I/AAAAAAAAAIs/qdqDgTsR5O4/s72-c/Five.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1636380597887337291</id><published>2010-01-21T00:38:00.002-05:00</published><updated>2010-01-21T00:39:17.518-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='affects'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><category scheme='http://www.blogger.com/atom/ns#' term='color'/><title type='text'>Clear Web Pages</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/S1focnsMvSI/AAAAAAAAAIc/LQkXPbK5k2A/s1600-h/Web.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5429063454206770466" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 231px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/S1focnsMvSI/AAAAAAAAAIc/LQkXPbK5k2A/s320/Web.jpg" border="0" /&gt;&lt;/a&gt;We have all seen a bunch of crazy web pages that annoy users. This is just a bad idea. You want to entice users to come to your pages, not alienate them. So what things do you need to concentrate on?&lt;br /&gt;&lt;br /&gt;Color is a key component. Don’t use funky background colors on web pages. The same applies to the font colors. Bright colors are bad.&lt;br /&gt;&lt;br /&gt;Another major component is the text. Don’t use weird affects on the text. You should also be sure to avoid huge fonts.&lt;br /&gt;&lt;br /&gt;Finally you got to limit or avoid the use of animation and video. Web pages should be quick to load and easy to view.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1636380597887337291?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1636380597887337291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1636380597887337291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1636380597887337291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1636380597887337291'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2010/01/clear-web-pages.html' title='Clear Web Pages'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/S1focnsMvSI/AAAAAAAAAIc/LQkXPbK5k2A/s72-c/Web.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-8139185754757217846</id><published>2009-12-07T19:05:00.002-05:00</published><updated>2009-12-07T19:05:57.372-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='system administrators'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Admin to Programmer</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/Sx2YU_FhRSI/AAAAAAAAAIU/krc82MWlbVE/s1600-h/Admin.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5412649813468595490" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 238px" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/Sx2YU_FhRSI/AAAAAAAAAIU/krc82MWlbVE/s320/Admin.jpg" border="0" /&gt;&lt;/a&gt;Everybody is talking about Cloud Computing these days. In fact, I read one survey that stated Cloud Computing was one of the leading tech topics for 2010. In legacy systems, you have programmers coding to network &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;APIs&lt;/span&gt;. And &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;sys&lt;/span&gt; admins manage workstations and servers. Roles get switched up in the cloud computing world. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;sys&lt;/span&gt; admins have to learn a lot more tech.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Sys&lt;/span&gt; admins act more like programmers in cloud computing. Examples include script languages such as Python and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;PHP&lt;/span&gt;. They need to know SOAP and REST. The also need to become familiar with managing virtual machines. Admins may also need to ramp up on agile development.&lt;br /&gt;&lt;br /&gt;It sounds like a system administrator job sound pretty existing in the cloud.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-8139185754757217846?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/8139185754757217846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=8139185754757217846' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8139185754757217846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8139185754757217846'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/12/admin-to-programmer.html' title='Admin to Programmer'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/Sx2YU_FhRSI/AAAAAAAAAIU/krc82MWlbVE/s72-c/Admin.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2331486514979003293</id><published>2009-11-24T01:36:00.002-05:00</published><updated>2009-11-24T01:41:27.660-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Web Technologies</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5407555467245216818" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 213px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/Swt_DAhfZDI/AAAAAAAAAIM/8h3TalOlZaw/s320/Ajax.jpg" border="0" /&gt;Sooner or later I suspect the client/server system I work on will go to the web. Therefore I figure I had better learn web development. But what &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;technology&lt;/span&gt; should I learn? There are many to choose from.&lt;br /&gt;&lt;br /&gt;At first I took a &lt;a href="http://enableassertions.blogspot.com/"&gt;Java&lt;/a&gt; programming class. Currently I am taking a class on HTML and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;CSS&lt;/span&gt;. However these are just the basics. There are web specific technologies out there which are waiting to be learned&lt;br /&gt;&lt;br /&gt;I hear that AJAX is a simple choice. It allows you to update sections of a web page instead of reloading the whole darn thing. And if you want to do animation, then Adobe Flash is the tool for you. These days however, I hear more about &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Adobe&lt;/span&gt; AIR than Flash.&lt;br /&gt;&lt;br /&gt;Finally the Microsoft solution is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Silverlight&lt;/span&gt;. The latest incarnation of this technology is &lt;a href="http://micro-softus.blogspot.com/2009/11/silverlight-3.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Silverlight&lt;/span&gt; 3&lt;/a&gt;. This product is focused on rich &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;Internet&lt;/span&gt; applications. In other words, if you want a web app to look like a mature desktop app, pick &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Silverlight&lt;/span&gt;. You get &lt;a href="http://micro-soft-dot-net.blogspot.com/"&gt;.NET&lt;/a&gt; support to boot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2331486514979003293?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2331486514979003293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2331486514979003293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2331486514979003293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2331486514979003293'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/11/web-technologies.html' title='Web Technologies'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/Swt_DAhfZDI/AAAAAAAAAIM/8h3TalOlZaw/s72-c/Ajax.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-625225908994109425</id><published>2009-11-10T00:28:00.000-05:00</published><updated>2009-11-10T00:29:07.744-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlLite'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='OOXML'/><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><category scheme='http://www.blogger.com/atom/ns#' term='high performance'/><title type='text'>Microsoft XML</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/Svj6BSD5GwI/AAAAAAAAAIE/GukEF7jR9EI/s1600-h/Poison.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5402342652965886722" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 171px" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/Svj6BSD5GwI/AAAAAAAAAIE/GukEF7jR9EI/s320/Poison.jpg" border="0" /&gt;&lt;/a&gt;I just subscribed to Microsoft’s &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;MSDN&lt;/span&gt; magazine. This month’s issue had a number of references to XML technology. I guess this is a sign that XML is here to stay. The buzzwords I read about were &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;OOXML&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XmlLite&lt;/span&gt;, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XAML&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;OOXML&lt;/span&gt; stands for the Open Office XML. It was developed by Microsoft, and is used as the file format for Office 2007 applications. This is not related to the open source &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;OpenOffice&lt;/span&gt; applications.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XmlLite&lt;/span&gt; is a library for high performance XML applications. It is shipped as a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;DLL&lt;/span&gt;. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XmlLite&lt;/span&gt; comes with C++ support. You can use it out of the box with Microsoft Visual Studio 2005. It does not do XML validation (to achieve high performance).&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;XAML&lt;/span&gt; stands for extensible application markup language. It is used a lot in the .NET framework. Specifically it is used in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;WPF&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Silverlight&lt;/span&gt;, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;WF&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-625225908994109425?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/625225908994109425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=625225908994109425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/625225908994109425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/625225908994109425'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/11/microsoft-xml.html' title='Microsoft XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/Svj6BSD5GwI/AAAAAAAAAIE/GukEF7jR9EI/s72-c/Poison.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7806465355147720771</id><published>2009-10-23T00:30:00.003-04:00</published><updated>2009-10-23T00:35:56.118-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XPath'/><category scheme='http://www.blogger.com/atom/ns#' term='standard'/><category scheme='http://www.blogger.com/atom/ns#' term='EMML'/><category scheme='http://www.blogger.com/atom/ns#' term='XQuery'/><title type='text'>Mashup Markup</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5395648270719417266" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 298px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/SuExg80ue7I/AAAAAAAAAH8/e9k1kpNiwfY/s320/Mashup.jpg" border="0" /&gt;There is a new markup language being standardized. It is the Enterprise &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Mashup&lt;/span&gt; Markup Language, otherwise known as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;EMML&lt;/span&gt;. This is an XML language. It employs &lt;a href="http://xmlhome.blogspot.com/2008/08/xpath-and-xquery.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XPath&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XQuery&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;EMML&lt;/span&gt; is being standardized by the Open &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Mashup&lt;/span&gt; Alliance. This is a group formed last month. It includes names like Adobe, HP, and Intel.&lt;br /&gt;&lt;br /&gt;There are some who believe it is too early for such standardization. In the big scheme of things, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;mashups&lt;/span&gt; are new on the web. The jury is still out on this. For more information visit the &lt;a href="http://www.openmashup.org/"&gt;Open &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Mashup&lt;/span&gt; Alliance&lt;/a&gt; on the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7806465355147720771?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7806465355147720771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7806465355147720771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7806465355147720771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7806465355147720771'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/10/mashup-markup.html' title='Mashup Markup'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/SuExg80ue7I/AAAAAAAAAH8/e9k1kpNiwfY/s72-c/Mashup.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1997884898004888711</id><published>2009-09-26T12:21:00.002-04:00</published><updated>2009-09-26T12:26:41.993-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CMMi'/><category scheme='http://www.blogger.com/atom/ns#' term='OSIMM'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>SOA Maturity Model</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/Sr4_0ps2nVI/AAAAAAAAAH0/JhpJV4hPakI/s1600-h/Mature.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5385812378161421650" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 228px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/Sr4_0ps2nVI/AAAAAAAAAH0/JhpJV4hPakI/s320/Mature.jpg" border="0" /&gt;&lt;/a&gt;It has been a number of years since the Open Group created a working group for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SOA&lt;/span&gt;. This working group has just published &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;OSIMM&lt;/span&gt;, which stands for the Open Group Service Integration Maturity Model. This allows you to measure a company's maturity with respect to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SOA&lt;/span&gt;. It sounds a lot like the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;CMMi&lt;/span&gt; maturity level for software development.&lt;br /&gt;&lt;br /&gt;The top level in the model is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SOA&lt;/span&gt; with dynamic service composition. And the bottom level is essentially No &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SOA&lt;/span&gt;. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;Unfortunately&lt;/span&gt; I think our project is at the bottom of the heap. We currently do not implement any &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SOA&lt;/span&gt; just yet. There is some talk though. And we will be processing XML input this upcoming year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1997884898004888711?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1997884898004888711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1997884898004888711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1997884898004888711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1997884898004888711'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/09/soa-maturity-model.html' title='SOA Maturity Model'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/Sr4_0ps2nVI/AAAAAAAAAH0/JhpJV4hPakI/s72-c/Mature.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1791165987152972799</id><published>2009-09-04T16:51:00.003-04:00</published><updated>2009-09-04T16:56:42.305-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='W3C'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML 5'/><title type='text'>The Death of XHTML 2</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SqF_Aoq-NiI/AAAAAAAAAHs/uO1tmYIu6Tk/s1600-h/HTML5.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5377719078951466530" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 256px; CURSOR: hand; HEIGHT: 268px" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SqF_Aoq-NiI/AAAAAAAAAHs/uO1tmYIu6Tk/s320/HTML5.jpg" border="0" /&gt;&lt;/a&gt;This semester I am in a web programming class. We are going to learn &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XHTML&lt;/span&gt;. For now I assume that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XHTML&lt;/span&gt; is HTML adhering to XML standards. A quick scan of my textbook seems to indicate you can just add three lines to your HTML document to make it an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XHTL&lt;/span&gt; one. We shall see.&lt;br /&gt;&lt;br /&gt;It was exciting to see &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XHTML&lt;/span&gt; in the news recently. Well it was exciting until I found that we are about to see the end of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XHTML&lt;/span&gt; 2. The W3C has decided to pursue HTML 5 instead. I am not sure if this means &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XHTML&lt;/span&gt; in general is dead, or if it is specific to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XHTML&lt;/span&gt; 2 specification.&lt;br /&gt;&lt;br /&gt;I have head that HTML 5 is not all that exciting. It is a means to combat the rise of competing technologies such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Silverlight&lt;/span&gt; and Flash. Apparently Internet Explorer is not supporting all of HTML 5 features. That's a bit of a concern, as I think IE still leads the browser market. Perhaps Microsoft wants to push &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Silverlight&lt;/span&gt; at the expense of their browser. I will check back later when I learn more &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;XHTML&lt;/span&gt; in class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1791165987152972799?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1791165987152972799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1791165987152972799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1791165987152972799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1791165987152972799'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/09/death-of-xhtml-2.html' title='The Death of XHTML 2'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SqF_Aoq-NiI/AAAAAAAAAHs/uO1tmYIu6Tk/s72-c/HTML5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-114310882172735386</id><published>2009-09-03T01:18:00.002-04:00</published><updated>2009-09-03T01:25:53.577-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rules'/><category scheme='http://www.blogger.com/atom/ns#' term='markup'/><category scheme='http://www.blogger.com/atom/ns#' term='file type'/><category scheme='http://www.blogger.com/atom/ns#' term='protocol'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>WTF is XML</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5377106405836727042" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 198px" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/Sp9RyXdgIwI/AAAAAAAAAHc/sV04Z7QlrFs/s320/XML.gif" border="0" /&gt;I often see message board posts asking what exactly XML is. The first Google link will take you to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Wikipedia&lt;/span&gt;, where the acronym is translated as the Extensible Markup Language. It is defined as a set of rules for encoding documents. Sounds simple enough.&lt;br /&gt;&lt;br /&gt;Here is the funny thing. I don't think they teach XML in college. Not even in computer science &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;digress&lt;/span&gt;. If it was described in a class, it would be in the Web 2.0 class, which happens to not exist.&lt;br /&gt;&lt;br /&gt;Some have called XML a complicated protocol. Others just call it a file type. An easy way of dealing with XML is to use tools to take care of the details. Actually I want to correct my initial statements. The very first link on Google search was a sponsored one by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Altova&lt;/span&gt;. They were pushing their XML Spy program. I have used it before. Even though it is expensive, it makes XML easier to deal with.&lt;br /&gt;&lt;br /&gt;But I digress. XML lets humans read file contents. The files themselves are ASCII text, which get sent over the Internet using the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;TCP&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;IP&lt;/span&gt; transmission protocol. I have written a whole blog about this subject. We plan to import XML files in our system at work next year. I wanted to purchase a copy of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XMLSpy&lt;/span&gt; for use at work. However the price tag seems to have given my customer caution. The tool is not more expensive than some of the other software development tools they buy me. However XML is more specialized, and I am not sure I can justify the return on investment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-114310882172735386?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/114310882172735386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=114310882172735386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/114310882172735386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/114310882172735386'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/09/wtf-is-xml.html' title='WTF is XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/Sp9RyXdgIwI/AAAAAAAAAHc/sV04Z7QlrFs/s72-c/XML.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4146251121126712763</id><published>2009-08-23T23:29:00.003-04:00</published><updated>2009-08-23T23:34:00.435-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='college class'/><title type='text'>XML Dedication</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SpIJW54S_rI/AAAAAAAAAHU/ebSt8lV2wJI/s1600-h/XML.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5373367594505141938" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 232px; CURSOR: hand; HEIGHT: 299px" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SpIJW54S_rI/AAAAAAAAAHU/ebSt8lV2wJI/s320/XML.jpg" border="0" /&gt;&lt;/a&gt;Check out this picture for some serious XML dedication. Well it was actually some marketing. I'd call that good marketing. That at least deserves a link. Check out what the CEO of her company has to say about expensive &lt;a href="http://marklogic.blogspot.com/2009/08/i-just-bought-storage-at-500gb-and.html"&gt;disk storage&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In other news, I have signed up for a college class on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XHTML&lt;/span&gt;. Now I assume that I am actually going to learn HTML. However the new sexy way to label such learning is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XHTML&lt;/span&gt;. I paid an arm and a leg for the school textbooks for the course. Chapter 1 tells me &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XHTML&lt;/span&gt; is HTML with three extra lines added at the top of the file. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;LOL&lt;/span&gt;. I bet you can guess what they are talking about.&lt;br /&gt;&lt;br /&gt;Be on the lookout for some posts on HTML as I study up in the class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4146251121126712763?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4146251121126712763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4146251121126712763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4146251121126712763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4146251121126712763'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/08/xml-dedication.html' title='XML Dedication'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SpIJW54S_rI/AAAAAAAAAHU/ebSt8lV2wJI/s72-c/XML.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2717329766372228574</id><published>2009-06-23T16:50:00.000-04:00</published><updated>2009-06-23T16:51:44.766-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='SGML'/><title type='text'>In Defense of XML</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5350628456520504850" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 270px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/SkFAO3wAVhI/AAAAAAAAAHE/FEYNrvQzwNI/s320/Defense.png" border="0" /&gt;I read a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Reddit&lt;/span&gt; post defending the creators of the XML standard. This was focused on XML basics. It excluded fringe technologies such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;WS&lt;/span&gt;-*, SOAP, XML-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;RPC&lt;/span&gt;, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;RDF&lt;/span&gt;. The author acknowledged that a big part of XML was related standards like XML Schema and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XQuery&lt;/span&gt;. However he declared that the main point of XML was standardizing a file format and creating a meta language. The best part of the post was the many comments that were received.&lt;br /&gt;&lt;br /&gt;First let’s cover the bad. SOAP requests take forever to parse. XML parsing in general seems to be inefficient. It is slow for large data transfer. Most developers do not like XML. This may be due to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;APIs&lt;/span&gt; like SAX and DOM being horrible.&lt;br /&gt;&lt;br /&gt;That is quite a list of bad comments. But each of them, there was a corresponding good comment. XML has been applied to many domains. It is good for large and complex documentation. It is also good for configuration files. Microsoft Visual Studio has a nice XML editor built in. XML is essentially SGML for the web. In other words, it is meant for data transfer.&lt;br /&gt;&lt;br /&gt;Initially I thought I would be involved in a new addition to our system that will parse XML input data. However I am finding that I am too busy with other new parts to our system this year. So I have not been as active in my XML studies since my training class ended. It is still nice to read what people in the XML industry have to say about the topic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2717329766372228574?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2717329766372228574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2717329766372228574' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2717329766372228574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2717329766372228574'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/06/in-defense-of-xml.html' title='In Defense of XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/SkFAO3wAVhI/AAAAAAAAAHE/FEYNrvQzwNI/s72-c/Defense.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7199528897629296575</id><published>2009-05-22T18:01:00.002-04:00</published><updated>2009-05-22T18:06:25.738-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='parser'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT'/><title type='text'>Parsing the XML</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5338771845266910098" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 162px" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/ShcgtQ39q5I/AAAAAAAAAG8/_RJVK8hdXoY/s320/Parser.gif" border="0" /&gt;Today our system receives input files from mainframe systems in custom format. However starting next year, we will be getting some files in XML format. Today the lead developer on that task shared some of the technology options to deal with reading the input data.&lt;br /&gt;&lt;br /&gt;I liked some of the first options that were presented. Essentially they were using a high level language such as C or Java to work with the XML parser provided by Oracle Corporation. The destination of our data is a huge Oracle database.&lt;br /&gt;&lt;br /&gt;One of the other options was to use &lt;a href="http://ora-pl-sql.blogspot.com/2009/05/xml-db.html"&gt;XML DB&lt;/a&gt; to pull the XML right into our database as XML. Then we could use some code to further process the XML data from the database. This sounded good as we have a number of developers with Oracle PL/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SQL&lt;/span&gt; coding talent.&lt;br /&gt;&lt;br /&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DBA&lt;/span&gt; on our project thought storing huge amounts of XML in our database would be painfully slow. Instead he recommended we transform the data using &lt;a href="http://xmlhome.blogspot.com/2008/11/xsl-and-xslt.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XSLT&lt;/span&gt;&lt;/a&gt;. The we could directly load the transformed data into our database with quick loading programs from Oracle. This was all good food for thought.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7199528897629296575?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7199528897629296575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7199528897629296575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7199528897629296575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7199528897629296575'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/05/parsing-xml.html' title='Parsing the XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/ShcgtQ39q5I/AAAAAAAAAG8/_RJVK8hdXoY/s72-c/Parser.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-5009350811075838439</id><published>2009-05-07T22:29:00.002-04:00</published><updated>2009-05-07T22:30:10.207-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='install'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='XMLSpy'/><category scheme='http://www.blogger.com/atom/ns#' term='ree'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>XML Notepad 2007</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SgOZIKzW_DI/AAAAAAAAAG0/P0bOhhOp0zU/s1600-h/Notepad.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5333274749354572850" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 256px; CURSOR: hand; HEIGHT: 256px" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SgOZIKzW_DI/AAAAAAAAAG0/P0bOhhOp0zU/s320/Notepad.bmp" border="0" /&gt;&lt;/a&gt;While reading an article on the best free tools for your PC, I spotted a product called XML Notepad 2007. This is a free download from Microsoft. I decided to give it a try. We are moving to an XML format for input files next year.&lt;br /&gt;&lt;br /&gt;The download was not too large. What really impressed me was how fast the tool installed. Sure it is just a little XML tool. But these days even the simple tools seem to take forever to install. In contrast, once installed, the tool seemed to take a while to launch.&lt;br /&gt;&lt;br /&gt;The “read me” file that came with the install said XML Notepad 2007 has been downloaded over one million times. I wonder whether that was the number of downloaded at the time when they released this version (v2.5). Or perhaps the application calls home to Microsoft to determine the current counts.&lt;br /&gt;&lt;br /&gt;The application has a right pane which show information from your XML document. At first it seems sparse. But it fills up as you select items in the tree on the left hand pane. This application feels like a simple viewer. However it states that you can use it to create XML documents as well.&lt;br /&gt;&lt;br /&gt;I found the tree like structure on the left hand pane useful for determining the structure of the XML in some test files. In other words I could see the hierarchy of parent and child relationships. Make no mistake. This product is no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XMLSpy&lt;/span&gt;. But it will do until my company can purchase me an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XMLSpy&lt;/span&gt; product.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-5009350811075838439?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/5009350811075838439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=5009350811075838439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5009350811075838439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5009350811075838439'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/05/xml-notepad-2007.html' title='XML Notepad 2007'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SgOZIKzW_DI/AAAAAAAAAG0/P0bOhhOp0zU/s72-c/Notepad.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-5034011213281505206</id><published>2009-03-05T12:57:00.002-05:00</published><updated>2009-03-05T13:00:35.532-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XMLSpy'/><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='XBRL'/><category scheme='http://www.blogger.com/atom/ns#' term='MissionKit'/><title type='text'>XBRL</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5309764336977724482" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 158px" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/SbASiDqYREI/AAAAAAAAAGs/DjXrU3FtHyw/s320/XBRL.bmp" border="0" /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Altova&lt;/span&gt; has come out with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;MissionKit&lt;/span&gt;. This is a set of tools for XML, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;UML&lt;/span&gt;, and databases. In case you did not know, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;UML&lt;/span&gt; is the Unified Modeling Language.&lt;br /&gt;&lt;br /&gt;I know &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Altova&lt;/span&gt; for their superior &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XMLSpy&lt;/span&gt; application for XML development. In fact, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XMLSpy&lt;/span&gt; is a part of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;MissionKit&lt;/span&gt;. I am excited because they are purchasing some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XMLSpy&lt;/span&gt; licenses on my project.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Altova&lt;/span&gt; added &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;XBRL&lt;/span&gt; support to their tool kit. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;XBRL&lt;/span&gt; stands for the Extensible Business Reporting Language. It has tags for accounting purposes. This helps businesses exchange financial information. If their toolkit and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;XBRL&lt;/span&gt; support are anything like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;XMLSpy&lt;/span&gt;, I predict good things from it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-5034011213281505206?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/5034011213281505206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=5034011213281505206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5034011213281505206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5034011213281505206'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/03/xbrl.html' title='XBRL'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/SbASiDqYREI/AAAAAAAAAGs/DjXrU3FtHyw/s72-c/XBRL.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7608052022410630944</id><published>2009-01-28T19:51:00.002-05:00</published><updated>2009-01-28T19:51:55.989-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resources'/><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='hype'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Cloud Computing Overview</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SYD9k3ao9TI/AAAAAAAAAGU/opa92Lbao0A/s1600-h/Cloud.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5296511971580507442" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 211px" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SYD9k3ao9TI/AAAAAAAAAGU/opa92Lbao0A/s320/Cloud.jpg" border="0" /&gt;&lt;/a&gt;If you read the trade press, you know there has been a lot of hype over Cloud Computing. At first I ignored it. But Cloud Computing does not look like it is going away any time soon. So I figured I had better pay some more attention to it. My main interest is determining how it impacts me as a programmer.&lt;br /&gt;&lt;br /&gt;I saw an interview with a manager who discussed her take on Cloud Computing. She defined it as a deployment model. She also called it a shared resource model. I guess the word model comes with the territory here. That is kind of like the word paradigm or capitulation. But I digress. The manager said some of Cloud Computing is like a hosting model. There goes the model word again. Cloud Computing comes with its own security risk due to the sharing of resources. There are scalability issues depending on the numbers of users and load.&lt;br /&gt;&lt;br /&gt;But I am a Cloud Computing newbie. So let’s go back a bit. Cloud Computing promises virtually unlimited CPU, memory, storage and bandwidth. The only limit seems to be how much money you have to pay for it. That may seem like a bandit’s scheme. However you are supposed to only have to pay for what you consume. This is analogous to electricity usage.&lt;br /&gt;&lt;br /&gt;Unfortunately there are no standards for Cloud Computing. Two large and popular implementations are Amazon Web Services (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;AWS&lt;/span&gt;) and Google Application Engine (GAE). Those are good buzzwords to know for your next cocktail party. There may not be a service level agreement available for users of these platforms.&lt;br /&gt;&lt;br /&gt;Experts think that Cloud Computing is going to be a hit in the enterprise. The idea is still in its infancy. In addition to Amazon and Google, Microsoft has recently come out with its Azure platform for Cloud Computing. That however is a topic for a future blog post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7608052022410630944?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7608052022410630944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7608052022410630944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7608052022410630944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7608052022410630944'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/01/cloud-computing-overview.html' title='Cloud Computing Overview'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SYD9k3ao9TI/AAAAAAAAAGU/opa92Lbao0A/s72-c/Cloud.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-8117783285624827500</id><published>2009-01-14T16:07:00.001-05:00</published><updated>2009-01-14T16:08:31.097-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XPath'/><category scheme='http://www.blogger.com/atom/ns#' term='XML Schema'/><category scheme='http://www.blogger.com/atom/ns#' term='XHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='XPointer'/><category scheme='http://www.blogger.com/atom/ns#' term='modules'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT'/><title type='text'>End of Online Class</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/SW5UNnayx8I/AAAAAAAAAGM/DibosZkC9pU/s1600-h/Class.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5291259205103306690" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 264px" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/SW5UNnayx8I/AAAAAAAAAGM/DibosZkC9pU/s320/Class.jpg" border="0" /&gt;&lt;/a&gt;I have been engaged in an online class on XML. Some time ago I received the last class via email. It might be time to start using my XML skills to use. Hands-on learning is the best way to really learn a subject. I thought I would share what I learned in my last online class. This last class was a review of some XML related topics not covered yet.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XHTML&lt;/span&gt; 1.0 is HTML 4. It is HTML rewritten to be valid XML. It is modularized (i.e. split into modules). Some of the cores modules in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XHTML&lt;/span&gt; are structure, text, hypertext, and lists. Images are notably not part of the core modules.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XPath&lt;/span&gt; is a language to express a specific part of an XML document. It is used by both &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XSLT&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XPointer&lt;/span&gt;. You can use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XPath&lt;/span&gt; to navigate an XML document. The root element is specified by the slash character. The asterisk character selects every element in the path. The each sign (@) matches XML attributes. All of these parts are easier to understand with examples. Perhaps I will provide some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XPath&lt;/span&gt; examples in the future.&lt;br /&gt;&lt;br /&gt;Next year my project is going to start receiving all input data in XML file format. I believe they are using XML Schema to be exact. Now I do not directly work on the team that loads data into our system. I work on applications that use that data. However I might be involved with the changes to read the XML source files pretty soon. Practice makes perfect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-8117783285624827500?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/8117783285624827500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=8117783285624827500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8117783285624827500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8117783285624827500'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2009/01/end-of-online-class.html' title='End of Online Class'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/SW5UNnayx8I/AAAAAAAAAGM/DibosZkC9pU/s72-c/Class.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1414539082476859211</id><published>2008-11-04T20:25:00.002-05:00</published><updated>2008-11-04T20:25:59.689-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='formatting'/><category scheme='http://www.blogger.com/atom/ns#' term='templates'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='applications'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>XSL and XSLT</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5264978506779952482" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 214px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SRD2Do6vhWI/AAAAAAAAAGE/N_9BlvhwyaU/s320/XSLT.jpg" border="0" /&gt;Once again I got an email from my online XML course. This week there were two topics covered – &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XSL&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XSLT&lt;/span&gt;. Unfortunately the coverage of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XSLT&lt;/span&gt; was very light. I think I have written about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XSLT&lt;/span&gt; with a little more depth before. If not, it might be time for a little more study and a future post. This week starts with an understanding the XML itself is not concerned with display. That’s where &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XSL&lt;/span&gt; comes in.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XSL&lt;/span&gt; stands for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;eXtensible&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Stylesheet&lt;/span&gt; Language. This language contains formatting information for XML. The really interesting part is that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XSL&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;stylesheets&lt;/span&gt; are XML documents themselves. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;XSL&lt;/span&gt; was one of the first applications written in XML.&lt;br /&gt;&lt;br /&gt;Cascading Style Sheets (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;CSS&lt;/span&gt;) define how XML looks in a web browser. They can also be applied to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;HMTL&lt;/span&gt; source as well. Finally the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;eXtensible&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Stylesheet&lt;/span&gt; Language for Transformations (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;XSLT&lt;/span&gt;) is a language which transforms XML into other formats. Any example would be to transforms XML to HTML. However you can choose other outputs formats, including XML itself.&lt;br /&gt;&lt;br /&gt;The heart of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;XSLT&lt;/span&gt; is the use of templates. Now that I look back on my blog posts, I find that I did not cover &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;XSLT&lt;/span&gt; in depth anywhere yet. I did see that I wrote myself a note about there being a follow on class to the hands on training I took previously. Maybe that will be a good candidate for me to take next year. Then I will be able to write at length about this complex topic. Until then be well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1414539082476859211?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1414539082476859211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1414539082476859211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1414539082476859211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1414539082476859211'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/11/xsl-and-xslt.html' title='XSL and XSLT'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SRD2Do6vhWI/AAAAAAAAAGE/N_9BlvhwyaU/s72-c/XSLT.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1433000136459146707</id><published>2008-10-30T21:35:00.002-04:00</published><updated>2008-10-30T21:36:25.570-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='buzzwords'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise'/><category scheme='http://www.blogger.com/atom/ns#' term='ASPs'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Cloud Computing</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SQphAT0Mq9I/AAAAAAAAAF8/Yphd3AvzwHc/s1600-h/Cloud.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263125772482948050" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 287px" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SQphAT0Mq9I/AAAAAAAAAF8/Yphd3AvzwHc/s320/Cloud.gif" border="0" /&gt;&lt;/a&gt;I thought in this post I would talk about something not directly related to XML. At my local bank, I picked up a free copy of the Business Monthly newspaper. There were many stories of interest. However I really enjoyed reading the Pounding the Keyboard column by Cliff &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Feldwick&lt;/span&gt;. This particular column was on stupid computer ideas. I have not read this paper before, and I never heard of Cliff. However I was impressed that Cliff not only gave out his email address, he provided his telephone number.&lt;br /&gt;&lt;br /&gt;Cliff went though a couple technologies he thought were pointless. One of them was Cloud Computing. He said this is really nothing more than last year’s Software as a Service. In fact, this concept has already been known as Application Service Providers, Business Process Outsourcing, and Managed Service Providers. In other words, this is just another fancy buzzword.&lt;br /&gt;&lt;br /&gt;Cloud Computing is a bad idea according to Cliff. I think others share his opinion as well. Essentially cloud computing is where the application you run is hosted in the cloud. It does not physically run on your computer. The risk this poses is what will happen to you if your cloud provider goes bankrupt. You will most likely be out of the service. You may also have lost all your data as well. Running applications directly on your computer is the most secure, as well as the fastest option.&lt;br /&gt;&lt;br /&gt;To be fair, cloud computing does have some ideas of interest. This may apply more to the enterprise level. It is certainly easier to manage one cloud server than the many desktops spread across your organization. You can handle backups quicker. It is easier to ensure the one server is always up regardless of power conditions. In general, it should be easier to manage. To tell the truth, I have not been paying much attention myself to the cloud computing hype train. Perhaps this is for the better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1433000136459146707?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1433000136459146707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1433000136459146707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1433000136459146707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1433000136459146707'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/10/cloud-computing.html' title='Cloud Computing'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SQphAT0Mq9I/AAAAAAAAAF8/Yphd3AvzwHc/s72-c/Cloud.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4131845992863441817</id><published>2008-10-21T18:48:00.001-04:00</published><updated>2008-10-21T18:50:44.348-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parser'/><category scheme='http://www.blogger.com/atom/ns#' term='grammar'/><category scheme='http://www.blogger.com/atom/ns#' term='type'/><category scheme='http://www.blogger.com/atom/ns#' term='text'/><category scheme='http://www.blogger.com/atom/ns#' term='complex'/><category scheme='http://www.blogger.com/atom/ns#' term='simple'/><category scheme='http://www.blogger.com/atom/ns#' term='DTDs'/><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><title type='text'>XML Schema Class</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5259743304393976770" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SP5cqwQka8I/AAAAAAAAAF0/foP4RbWPUO8/s320/XMLschema.jpg" border="0" /&gt;I received the latest installment of my online XML course. This class was on XML &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Schemas&lt;/span&gt;. It mentioned that XML started with just Document Type Definitions (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DTDs&lt;/span&gt;). However the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DTD&lt;/span&gt; is specified in a format different than XML. However the newer XML Schema is actually written in XML format.&lt;br /&gt;&lt;br /&gt;The XML Schema is used to define text data within an XML document. You can define elements of simple type. You can also define elements which have &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;subelements&lt;/span&gt;. These are called complex types. There are also built in types which come with XML Schema.&lt;br /&gt;&lt;br /&gt;Overall I found this class to be a light treatment of a heavy topic. Perhaps there is more information coming in the next class. Let’s get our bearings here for a moment. XML Schema is used for XML document validation. This validation is performed by the parser. It checks the structure and content of an XML document. In other words it looks at the grammar.&lt;br /&gt;&lt;br /&gt;XML Schema itself was approved by the W3C back in 2001. To add to what the class taught, simple types can only have text. They cannot contain attributes. Furthermore, elements from schema must have a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;namespace&lt;/span&gt; qualification. This class glossed over or did not even cover some details such as compositors and facets. I think I mentioned these in an earlier post on my blog. Maybe I will write a separate post to cover them in more detail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4131845992863441817?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4131845992863441817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4131845992863441817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4131845992863441817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4131845992863441817'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/10/xml-schema-class.html' title='XML Schema Class'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SP5cqwQka8I/AAAAAAAAAF0/foP4RbWPUO8/s72-c/XMLschema.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3619289159696712573</id><published>2008-10-14T16:29:00.002-04:00</published><updated>2008-10-14T16:30:16.238-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='well formed'/><category scheme='http://www.blogger.com/atom/ns#' term='structure'/><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><category scheme='http://www.blogger.com/atom/ns#' term='elements'/><title type='text'>DTDs</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SPUBQUTnTNI/AAAAAAAAAFs/5iJmtTyh49Q/s1600-h/DTD.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5257109519865433298" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SPUBQUTnTNI/AAAAAAAAAFs/5iJmtTyh49Q/s320/DTD.jpg" border="0" /&gt;&lt;/a&gt;This week’s lesson in my online XML course was on Document Type Definitions (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;DTDs&lt;/span&gt;). They are required for well formed XML documents. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DTD&lt;/span&gt; is an XML file itself. It is the grammar of your XML document. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DTD&lt;/span&gt; provides structure and meaning to the XML document.&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;DTD&lt;/span&gt; describes your language. Validation is the process of comparing your XML document to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DTD&lt;/span&gt;. If you follow the rules in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DTD&lt;/span&gt;, your document is known as being valid.&lt;br /&gt;&lt;br /&gt;A good way for developing a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;DTD&lt;/span&gt; is to first write your XML document. Then you can spot the patterns and structure required. You can then go back and write a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;DTD&lt;/span&gt; for future XML documents of the same kind.&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;DTD&lt;/span&gt; is made up of elements, entities, attributes, and notations. This week we went a little further into what constitutes an element. There are actually three types of elements: simple, compound, and stand alone. Perhaps I shall go into more detail about these types in a future post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3619289159696712573?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3619289159696712573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3619289159696712573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3619289159696712573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3619289159696712573'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/10/dtds.html' title='DTDs'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SPUBQUTnTNI/AAAAAAAAAFs/5iJmtTyh49Q/s72-c/DTD.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3611213666742396081</id><published>2008-10-08T18:40:00.001-04:00</published><updated>2008-10-08T18:41:51.124-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='content type'/><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='format'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTP'/><category scheme='http://www.blogger.com/atom/ns#' term='namespaces'/><category scheme='http://www.blogger.com/atom/ns#' term='SGML'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>XHTML</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SO03F7i1xsI/AAAAAAAAAFM/oGWDqKDKoV8/s1600-h/XHTML.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5254916915233932994" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SO03F7i1xsI/AAAAAAAAAFM/oGWDqKDKoV8/s320/XHTML.jpg" border="0" /&gt;&lt;/a&gt;I caught an article on Dev Archive by Tina &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Holmboe&lt;/span&gt; entitled “&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XTML&lt;/span&gt; – Myths and Reality”. I found this to be of interest given my XML activities recently. So I thought I would review some of the things she said, and figure out whether &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XHTML&lt;/span&gt; is in my future.&lt;br /&gt;&lt;br /&gt;The article was geared toward newbies in the field of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XHTML&lt;/span&gt;. That means it is for me. It started by reviewing that SGML is too complex. HTML was made easy to use. XML was also made for easy implementation. It also clarified that XML is not an SGML application. XML is a set of conventions for SGML.&lt;br /&gt;&lt;br /&gt;The web is moving from an SGML to XML format. One of the reasons for the move is to harness the power of XML &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;namespaces&lt;/span&gt;. Shifting gears a bit, HTTP allows data type identification. This tells the client how to deal with data. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XTML&lt;/span&gt; has its own new content type. This tells the client which parser to use on the data.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XHTML&lt;/span&gt; is stricter than HTML. There is a lack of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;XHTML&lt;/span&gt; support out there. In fact, no versions of Microsoft’s Internet Explorer support &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XHTML&lt;/span&gt;. That was all I needed to hear to determine that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;XHTML&lt;/span&gt; is not for me. Maybe a better way to put it is that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;XHTML&lt;/span&gt; is not for me just yet. I exclusively use Internet Explorer for everything I do on the web. I wonder why Microsoft is against supporting &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;XHTML&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3611213666742396081?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3611213666742396081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3611213666742396081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3611213666742396081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3611213666742396081'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/10/xhtml.html' title='XHTML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SO03F7i1xsI/AAAAAAAAAFM/oGWDqKDKoV8/s72-c/XHTML.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7959346036194270725</id><published>2008-10-07T22:04:00.002-04:00</published><updated>2008-10-07T22:05:22.522-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='enumeration'/><category scheme='http://www.blogger.com/atom/ns#' term='entity'/><category scheme='http://www.blogger.com/atom/ns#' term='CDATA'/><category scheme='http://www.blogger.com/atom/ns#' term='nmtoken'/><category scheme='http://www.blogger.com/atom/ns#' term='adjective'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='elements'/><title type='text'>Attributes</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SOwVSJ33HFI/AAAAAAAAAFE/mN0YgZJZFzI/s1600-h/Attribute.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5254598266866572370" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SOwVSJ33HFI/AAAAAAAAAFE/mN0YgZJZFzI/s320/Attribute.png" border="0" /&gt;&lt;/a&gt;I got another installment from my online XML course. This week we are learning about attributes. They describe the elements. You could say that they provide more information on elements. Attributes are as important as tags. HTML also has attributes. Many HTML attributes deal with margins.&lt;br /&gt;&lt;br /&gt;The XML attribute is like an adjective that modifies the element. The syntax is of the format attribute=value. There are several attribute types as follows.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;CDATA&lt;/span&gt; attributes are character data.&lt;br /&gt;&lt;br /&gt;Entity attributes refer to an external item in the XML document.&lt;br /&gt;&lt;br /&gt;Enumeration attributes are, as the name implies, a list of values.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Nmtoken&lt;/span&gt; attributes are like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;CDATA&lt;/span&gt;, but with more restrictions.&lt;br /&gt;&lt;br /&gt;There are also notation attributes. However I have not used them before. Attributes in general are a building block of the XML language. I would consider them second only to elements. You have some choice as to make items elements or attributes. I recall in my formal XML course the instructor went over some guidance on this. Too bad I cannot ask questions in my latest online XML course. This would make for a good discussion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7959346036194270725?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7959346036194270725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7959346036194270725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7959346036194270725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7959346036194270725'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/10/attributes.html' title='Attributes'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SOwVSJ33HFI/AAAAAAAAAFE/mN0YgZJZFzI/s72-c/Attribute.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7768865013493357973</id><published>2008-10-01T18:04:00.002-04:00</published><updated>2008-10-01T18:04:59.015-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='composition'/><category scheme='http://www.blogger.com/atom/ns#' term='container'/><category scheme='http://www.blogger.com/atom/ns#' term='prologue'/><category scheme='http://www.blogger.com/atom/ns#' term='document'/><category scheme='http://www.blogger.com/atom/ns#' term='declaration'/><title type='text'>Elements</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/SOPz8Cyr81I/AAAAAAAAAE8/z91dXU1MUoU/s1600-h/Element.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5252309803311297362" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/SOPz8Cyr81I/AAAAAAAAAE8/z91dXU1MUoU/s320/Element.jpg" border="0" /&gt;&lt;/a&gt;I received the latest installment of my online XML course. This week we are covering XML elements. As an aside, I am joining a professional computer association. They state that they have training available for all paid members. One of the courses they teach is XML. So I may have another opportunity to brush up on my XML skills in the future.&lt;br /&gt;&lt;br /&gt;The lesson first reviewed the composition of an XML document. It starts with an XML declaration. The rest of the file consists of XML elements. The outermost element is the container element. In a tree notation, each branch of the tree is an element.&lt;br /&gt;&lt;br /&gt;The prologue identified that the file is in XML format. The prologue can include validation such as a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;DTD&lt;/span&gt; or XML Schema. It also contains processing instructions.&lt;br /&gt;&lt;br /&gt;It is interesting to note that an XML document can contain only one element. In this case, that element would be the containing element. However it would contain no other nested XML elements. This brings up the fact that elements can contain other elements. All elements except the outermost element are contained within the outermost element. However these elements themselves can contain other XML elements.&lt;br /&gt;&lt;br /&gt;The concepts of an element and its tags are distinct. Elements can be empty. For such an element, there is short hand syntax to eliminate the full trailing tag. I think it is safe to say that elements are one of the key parts of an XML document.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7768865013493357973?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7768865013493357973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7768865013493357973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7768865013493357973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7768865013493357973'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/10/elements.html' title='Elements'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/SOPz8Cyr81I/AAAAAAAAAE8/z91dXU1MUoU/s72-c/Element.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1452764713348481911</id><published>2008-09-22T19:46:00.002-04:00</published><updated>2008-09-22T19:47:26.073-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='XML tree'/><category scheme='http://www.blogger.com/atom/ns#' term='SAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='DOM'/><category scheme='http://www.blogger.com/atom/ns#' term='callback'/><category scheme='http://www.blogger.com/atom/ns#' term='Xerces'/><category scheme='http://www.blogger.com/atom/ns#' term='handlers'/><category scheme='http://www.blogger.com/atom/ns#' term='web browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='Expat'/><title type='text'>Parsing</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SNgue0lOaGI/AAAAAAAAAE0/w3JAu7Zyg0g/s1600-h/Parse.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5248996472746043490" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SNgue0lOaGI/AAAAAAAAAE0/w3JAu7Zyg0g/s320/Parse.jpg" border="0" /&gt;&lt;/a&gt;I am on my third class of an online XML tutorial. This week’s topic was XML parsing. This covers how to actually use XML. The parser reads the XML. Some web browsers can parse XML. Internet Explorer version 4 was the first browser to include a parser. Expat is a free XML parser. Lark is a non-validating XML parser written in Java. That’s all the class had to say about parsers. It was pretty light.&lt;br /&gt;&lt;br /&gt;So I also went to the W3 schools for some XML parser information. All modern browsers have a built in XML parser. The parser can convert XML into a DOM object. The parser traverses XML trees. I also looked up information about the Expat parser since my online course mentioned it. This XML parser is written in the C programming language. It is stream oriented. Applications register handlers, causing the parser to call back to the application when events of interest occur.&lt;br /&gt;&lt;br /&gt;Finally I went to Sun &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Microsystems&lt;/span&gt; to brush up on XML parsers. They were heavily oriented towards parsing with the Java programming language. Data becomes available to the application while the XML is being parsed. SAX makes parsing callbacks available. Your first step is to actually obtain a parser. It should comply with the XML specifications for a parser. Sun recommends the Apache &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Xerces&lt;/span&gt; parser. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Xerces&lt;/span&gt; is free. It works with both the C and Java programming languages.&lt;br /&gt;&lt;br /&gt;Sun says that you should receive the SAX classes along with your parser, as they are parser dependent. The first thing the application needs to do is instantiate the parser. Then you set up callbacks so that SAX can take action on interesting events. This is called registering handlers with SAX. I get the feeling that I actually need to play around with this some more to get a better feeling of how it works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1452764713348481911?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1452764713348481911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1452764713348481911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1452764713348481911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1452764713348481911'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/parsing.html' title='Parsing'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SNgue0lOaGI/AAAAAAAAAE0/w3JAu7Zyg0g/s72-c/Parse.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-6893312671982387370</id><published>2008-09-16T18:03:00.002-04:00</published><updated>2008-09-16T18:04:27.534-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST Channels'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTP Channels'/><category scheme='http://www.blogger.com/atom/ns#' term='subscribe'/><category scheme='http://www.blogger.com/atom/ns#' term='publish'/><category scheme='http://www.blogger.com/atom/ns#' term='JSON Channels'/><title type='text'>Channels</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/SNAtTRWRM_I/AAAAAAAAAEs/6aQoTeZM4lM/s1600-h/Channels.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5246743374984197106" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/SNAtTRWRM_I/AAAAAAAAAEs/6aQoTeZM4lM/s320/Channels.jpg" border="0" /&gt;&lt;/a&gt;Kris &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Zyp&lt;/span&gt; has written some interesting entries on the Comet Daily blog that have to do with channels. The first I saw had to do with HTTP Channels. It is a “publish and subscribe” model to communicate resource changes using HTTP.&lt;br /&gt;&lt;br /&gt;Kris has also written about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;JSON&lt;/span&gt; Channels. They are an extension to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;JSON&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;RPC&lt;/span&gt;. They provide a subscription capability as well. However they are easier to implement than HTTP Channels, as you do not have to parse the HTTP protocol. It can be thought of as an alternative format to HTTP Channels.&lt;br /&gt;&lt;br /&gt;In another post, Kris introduces REST Channels. The plan here is to use the web sockets protocol from HTTP 5. However the data is in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;JSON&lt;/span&gt; format. You can mix HTTP and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;JSON&lt;/span&gt; in a browser session. So an efficient technique could use HTTP requests, with updates coming back in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JSON&lt;/span&gt; format.&lt;br /&gt;&lt;br /&gt;I do not want to get too deep into the details. The Comet Daily blog is the source for that. However it is interesting to see that HTTP is still a continual force in the web. However I found it interesting to see that people consider its format a chore for parsing. I have heard colleagues mention how &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;JSON&lt;/span&gt; is a good and light format for the web.&lt;br /&gt;&lt;br /&gt;I myself am trying to get into web development to prepare myself for where my current project is going. So I am going to need a good handle on all the technology involved. It seems this might be a bit more than just learning XML and its supporting technologies. At least I will have to do a lot of homework to be able to speak intelligently at the architecture level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-6893312671982387370?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/6893312671982387370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=6893312671982387370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6893312671982387370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6893312671982387370'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/channels.html' title='Channels'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/SNAtTRWRM_I/AAAAAAAAAEs/6aQoTeZM4lM/s72-c/Channels.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2555635942190444884</id><published>2008-09-15T17:26:00.001-04:00</published><updated>2008-09-15T17:27:58.718-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DTD'/><category scheme='http://www.blogger.com/atom/ns#' term='parser'/><category scheme='http://www.blogger.com/atom/ns#' term='XML Schema'/><category scheme='http://www.blogger.com/atom/ns#' term='class'/><category scheme='http://www.blogger.com/atom/ns#' term='well formed'/><category scheme='http://www.blogger.com/atom/ns#' term='XML documents'/><category scheme='http://www.blogger.com/atom/ns#' term='valid'/><title type='text'>Valid XML</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SM7TOl3jJKI/AAAAAAAAAEk/RLZQ8CWr0JA/s1600-h/xml.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5246362863569937570" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SM7TOl3jJKI/AAAAAAAAAEk/RLZQ8CWr0JA/s320/xml.jpg" border="0" /&gt;&lt;/a&gt;Last week I subscribed to an online class for XML. This week I received my second class installment. The topic was valid XML documents. This lesson taught that a valid XML document is one that meets the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;DTD&lt;/span&gt; or XML Schema. It is different from an XML document being well formed, which means an XML processor can read the document. To me well formed means it meets the syntax rules of XML.&lt;br /&gt;&lt;br /&gt;The course notes this week pointed out that XML is a self describing language. So you might not always need a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DTD&lt;/span&gt; or XML Schema. However when you do use validation, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DTD&lt;/span&gt; can be local or public. A validation file such as XML Schema describes the XML document. Then a parser validates the XML document against the schema.&lt;br /&gt;&lt;br /&gt;One of the most interesting experiences with this week’s class was an ad on the lesson page. The ad offered a free XML viewer. So I clicked through, then downloaded the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Firstobject&lt;/span&gt; XML editor. It was a free download. The editor divides the XML document into elements and their &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;sub elements&lt;/span&gt;. The tool uses a tree like structure in the user interface. I found the tool to be very basic compared to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XMLSpy&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Firstobject&lt;/span&gt; XML editor displays XML as text. There does not seem to be much graphic viewing capabilities other than the tree structure. One nice thing about this product is that the company will give you the source code to the editor if you buy their product. They are trying to sell a single &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;MFC&lt;/span&gt; class that does all things XML for $249. That’s a lot cheaper than my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XMLSpy&lt;/span&gt; tool would cost.&lt;br /&gt;&lt;br /&gt;Perhaps the best course of action would be for me to write my own XML viewer and/or editor. Then I would really learn the ins and outs of parsing XML documents. I would not have to start from scratch. I could use an XML parser library to actually read the XML document. This would not be cheating. I would be learn the parser’s &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;API&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2555635942190444884?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2555635942190444884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2555635942190444884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2555635942190444884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2555635942190444884'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/valid-xml.html' title='Valid XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SM7TOl3jJKI/AAAAAAAAAEk/RLZQ8CWr0JA/s72-c/xml.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3076775125539473934</id><published>2008-09-14T08:53:00.003-04:00</published><updated>2008-09-14T08:58:43.310-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='client server'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='servers'/><title type='text'>Going to the Web</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SM0JXudWumI/AAAAAAAAAEc/shmfLV1LEUI/s1600-h/xml.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5245859444169292386" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SM0JXudWumI/AAAAAAAAAEc/shmfLV1LEUI/s320/xml.png" border="0" /&gt;&lt;/a&gt;The &lt;a href="http://susops.blogspot.com/"&gt;Software Maintenance&lt;/a&gt; blog give an example of one project that is going to the &lt;a href="http://susops.blogspot.com/2008/08/going-to-web.html"&gt;Web&lt;/a&gt;. Moving from a client server environment to a web one involves a number of technologies. Of course there are some bare bones basics like web servers and HTML. But it is so much more than that. Frequently developers are classified as either desktop or web developers. Making the transition can be difficult.&lt;br /&gt;&lt;br /&gt;I have sensed a different outlook amongst web developers. That might be a hard trait to emulate. However it should not be difficult to identify some common technologies used by web developers. For example, they may tend to use a combination of Java and JavaScript on the front and back ends. And you can pretty well imagine that they might be using XML format for sending data between systems.&lt;br /&gt;&lt;br /&gt;Personally I am planning to enroll in some classes to beef up my web programming skills. The first one is going to be Java 101. I guess that would actually be my second class. I have already taken an introductory XML class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3076775125539473934?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3076775125539473934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3076775125539473934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3076775125539473934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3076775125539473934'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/going-to-web.html' title='Going to the Web'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SM0JXudWumI/AAAAAAAAAEc/shmfLV1LEUI/s72-c/xml.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2709450752753537934</id><published>2008-09-08T10:58:00.001-04:00</published><updated>2008-09-08T10:59:31.838-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DTD'/><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='jargon'/><category scheme='http://www.blogger.com/atom/ns#' term='About.com'/><category scheme='http://www.blogger.com/atom/ns#' term='markup'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='refresher'/><title type='text'>XML 101</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/SMU9ufMeA4I/AAAAAAAAADg/Z4O4VLG-F_g/s1600-h/xml101.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5243665209999885186" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/SMU9ufMeA4I/AAAAAAAAADg/Z4O4VLG-F_g/s320/xml101.bmp" border="0" /&gt;&lt;/a&gt;I took an XML training class a couple weeks ago. However I have not been able to do any real XML work due to other constraints at work. Therefore I decided to do an XML refresher to make sure I did not forget the things I learned in class. I signed up for an online course from About dot com. They provided some courses that are controlled through e-mail. I chose the course “XML 101” by Jennifer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Kyrnin&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Perhaps this online course is not as current as the recent one my company paid for. This course stated that XML is not a programming language. It is also not a language of tags. Instead, XML is instructions on how to create the tags. It is a markup language to define information. XML is a meta language.&lt;br /&gt;&lt;br /&gt;The online course covered Document Type Definitions (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DTDs&lt;/span&gt;), which are the grammar of the XML document. The second line of an XML file should be the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DTD&lt;/span&gt;. However you can omit the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;DTD&lt;/span&gt; line.&lt;br /&gt;&lt;br /&gt;The latest specifications for XML are at the W3C web site. There is a lot of jargon associated with XML. However XML is not hard to learn. An entity is a storage unit for XML. Processing instructions were covered. Elements in XML are case sensitive.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Kyrnin&lt;/span&gt; recommended that you learn HTML before trying to learn XML. She says the benefit of XML is that you can move processing from the server to the client. So far I have only read through the first lesson. There are a lot of ads in the course material I receive. However the course is free so it is a reasonable trade off. Given the coverage of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DTDs&lt;/span&gt; already, I wonder if this course is going to cover XML Schema as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2709450752753537934?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2709450752753537934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2709450752753537934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2709450752753537934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2709450752753537934'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/xml-101.html' title='XML 101'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/SMU9ufMeA4I/AAAAAAAAADg/Z4O4VLG-F_g/s72-c/xml101.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-5764803882064814563</id><published>2008-09-05T22:01:00.001-04:00</published><updated>2008-09-05T22:03:02.659-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DTD'/><category scheme='http://www.blogger.com/atom/ns#' term='large XML files'/><category scheme='http://www.blogger.com/atom/ns#' term='plugins'/><category scheme='http://www.blogger.com/atom/ns#' term='XML Schema'/><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='Altova'/><category scheme='http://www.blogger.com/atom/ns#' term='XML editor'/><title type='text'>XMLSpy Ad</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/SMHktKnDmOI/AAAAAAAAADY/YjweygCIrSM/s1600-h/XMLspy.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5242722905829382370" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/SMHktKnDmOI/AAAAAAAAADY/YjweygCIrSM/s320/XMLspy.jpg" border="0" /&gt;&lt;/a&gt;Last weekend I was browsing the latest copy of Oracle magazine. I saw a full page ad in it for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XMLSpy&lt;/span&gt; 2008. This product has advanced tools for XML Schema development. It is the self proclaimed world’s best selling XML editor. I recall my XML instructor telling me the same thing.&lt;br /&gt;&lt;br /&gt;The ad declared that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XMLSpy&lt;/span&gt; had many useful features such as support for very large XML files, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;DTD&lt;/span&gt; conversion, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;UML&lt;/span&gt; generation, advanced validation, and code generation for Java/C#/C++. It encourages you to leave the XML Schema details to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XMLSpy&lt;/span&gt; program while you concentrate on the business at hand. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Altova&lt;/span&gt; (the maker of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XMLSpy&lt;/span&gt;) offers a free 30 day trial download of the program.&lt;br /&gt;&lt;br /&gt;I went to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Altova&lt;/span&gt; web site to find out more about the program. It has Visual Studio and Eclipse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;plugins&lt;/span&gt;. Of course it offers a visual XML schema editor. It also has a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;DTD&lt;/span&gt; editor. It supports Open XML (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;OOXML&lt;/span&gt;). It can debug SOAP. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;XMLSpy&lt;/span&gt; has a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;CSS&lt;/span&gt; editor.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;XMLSpy&lt;/span&gt; has a number of tools for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;XQuery&lt;/span&gt; like an editor, debugger, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;profiler&lt;/span&gt;. It can analyze &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;XPath&lt;/span&gt;. It integrates with your database. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;XMLSpy&lt;/span&gt; supports &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;XInclude&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;XPointer&lt;/span&gt;. Hell. I don’t even know what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;XInclude&lt;/span&gt; is. So you know this thing must be good. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;LOL&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The only downside to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;XMLSpy&lt;/span&gt; is the price. I had been warned about this before. The standard edition goes for $149. The professional edition costs $599. And the enterprise edition is $1190. Now that is not a lot for a development tool. We have third party tools that cost a whole lot more. The problem is that I need to justify the cost to my company and/or client. And that is some non-trivial effort.&lt;br /&gt;&lt;br /&gt;Luckily my boss already knows the power of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;XMLSpy&lt;/span&gt;. So now we can work together to convince the powers that be that I need this tool. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Altova&lt;/span&gt; has done a good job with its marketing. From the grapevine I also hear the product itself is excellent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-5764803882064814563?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/5764803882064814563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=5764803882064814563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5764803882064814563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5764803882064814563'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/xmlspy-ad.html' title='XMLSpy Ad'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/SMHktKnDmOI/AAAAAAAAADY/YjweygCIrSM/s72-c/XMLspy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-6102046752674769216</id><published>2008-09-05T21:58:00.004-04:00</published><updated>2008-09-05T22:01:12.881-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='measurement'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='drivers'/><category scheme='http://www.blogger.com/atom/ns#' term='XBT'/><category scheme='http://www.blogger.com/atom/ns#' term='Intel'/><title type='text'>Benchmark Tool by Intel</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SMHj51rREQI/AAAAAAAAADQ/ZPEPfKOHl9g/s1600-h/Intel.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5242722024036569346" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SMHj51rREQI/AAAAAAAAADQ/ZPEPfKOHl9g/s320/Intel.jpg" border="0" /&gt;&lt;/a&gt;I found a product on the web called the XML Benchmark Tool (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XBT&lt;/span&gt;) by Intel. It is an XML performance and measurement tool. It analyzes the performance of XML processing engines. It tests a number of things such as XML parsing, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XLST&lt;/span&gt;, XML Schema validation, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XPath&lt;/span&gt; operations to name a few. You can write your own driver since the tool is provided as a framework. There are versions for Windows and Linux. You can test C++ and Java code.&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XBT&lt;/span&gt; is provided for free. I suspect Intel is trying to gather good will to sell its XML Software Suite. This product costs $199 for the developer edition. The &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;run time&lt;/span&gt; license goes for $1999. It states that it can handle large XML file processing. It claims to be standards compliant. The product also states that it is thread safe.&lt;br /&gt;&lt;br /&gt;I downloaded the free &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XBT&lt;/span&gt;. It was almost 6 Megabytes. The download unzips into a directory structure. There is no install program. I found that a bit strange. You have to manually configure the product yourself. It requires you to obtain and install third party products such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Cygwin&lt;/span&gt;, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;JDK&lt;/span&gt;, and Visual Studio. The free downloads comes with a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PDF&lt;/span&gt; user guide. There were too many dependencies and configurations required to get the application up and quickly running.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;XBT&lt;/span&gt; comes with many familiar drivers. For example it comes with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Xerces&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;JAXP&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;libxml&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;MSXML&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;JDOM&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Saxxon&lt;/span&gt;, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Xalan&lt;/span&gt;. This seemed promising. When I signed up to download the free product, I had to provide my e-mail address. It was embarrassing on September 4&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;th&lt;/span&gt; when I received the following e-mail from a guy at Intel:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;From: censored@intel.com&lt;br /&gt;Date: Sep 4, 2008 9:39 PM&lt;br /&gt;Subject: Out of Office: XML Benchmark Tool&lt;br /&gt;To: me&lt;br /&gt;&lt;br /&gt;I will be on vacation with no email access, returning Sept 2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;nd&lt;/span&gt;. Please contact &lt;other&gt;for any items needing my immediate attention.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;Ouch. Somebody has fallen asleep at Intel product support. I was not even given the e-mail address of the other guy at Intel. I suspect this out of office message was intended for other Intel Corporation employees. The dude forget that he was the one who received automatic e-mails every time somebody downloaded the XML Benchmark Tool. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;LOL&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-6102046752674769216?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/6102046752674769216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=6102046752674769216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6102046752674769216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6102046752674769216'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/benchmark-tool-by-intel.html' title='Benchmark Tool by Intel'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SMHj51rREQI/AAAAAAAAADQ/ZPEPfKOHl9g/s72-c/Intel.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-169716785676525607</id><published>2008-09-04T18:55:00.001-04:00</published><updated>2008-09-04T18:57:10.374-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML Schema'/><category scheme='http://www.blogger.com/atom/ns#' term='CodeGuru'/><category scheme='http://www.blogger.com/atom/ns#' term='XSD'/><category scheme='http://www.blogger.com/atom/ns#' term='InferSchema'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlSchemaInterface'/><title type='text'>Schema From XML</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SMBnr6fiEaI/AAAAAAAAADI/wAddzns4CWo/s1600-h/XMLschemaOreilly.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5242303970392805794" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SMBnr6fiEaI/AAAAAAAAADI/wAddzns4CWo/s320/XMLschemaOreilly.jpg" border="0" /&gt;&lt;/a&gt;A long time ago I used to read the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;CodeGuru&lt;/span&gt; web site for information about software development. I have since graduated to other more interesting web site. However I still go back to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;CodeGuru&lt;/span&gt; every now any then. Today I saw an article posted there entitled “Inferring an XML Schema from an XML Document” by Paul &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Kimmel&lt;/span&gt;. I read it with interest as I am becoming more aware of XML Schema.&lt;br /&gt;&lt;br /&gt;Paul said that writing plain XML documents is easy. However he does not have enough practice to write XML Schema documents from scratch. The attribute and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;namespace&lt;/span&gt; syntax gets him mixed up sometimes. So he decided to write a program to generate an XML Schema from any given XML document. That sounds like a good idea to me.&lt;br /&gt;&lt;br /&gt;The trick is to employ the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XmlSchemaInterface&lt;/span&gt; class from the .NET framework. Specifically you can use the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;InferSchema&lt;/span&gt; method of this class to produce an XML Schema Definition Language (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XSD&lt;/span&gt;) schema if you pass it an XML file. That way you can let the class do the formatting and syntax for you. Sure you could do this yourself by hand if you know the ins and outs of XML Schema. But why take the hard route?&lt;br /&gt;&lt;br /&gt;I suspect Paul wrote this article to help publicize his new book “&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;LINQ&lt;/span&gt; Unleashed: for C#”. The list price for this book is $49.99. However you can get it for $31.49 from Amazon with free shipping. Good luck Paul with your new title. I have some interest in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;LINQ&lt;/span&gt; myself. If I can get my company to pay for it, I will pick up a copy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-169716785676525607?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/169716785676525607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=169716785676525607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/169716785676525607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/169716785676525607'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/schema-from-xml.html' title='Schema From XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SMBnr6fiEaI/AAAAAAAAADI/wAddzns4CWo/s72-c/XMLschemaOreilly.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-8542293613415071196</id><published>2008-09-02T19:37:00.001-04:00</published><updated>2008-09-02T19:44:08.565-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDL'/><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook Thrift'/><category scheme='http://www.blogger.com/atom/ns#' term='Corba'/><category scheme='http://www.blogger.com/atom/ns#' term='RPCs'/><category scheme='http://www.blogger.com/atom/ns#' term='classes'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='binary format'/><title type='text'>Protocol Buffers</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SL3PoPSygqI/AAAAAAAAADA/4-tBu3eLSxY/s1600-h/Proto.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5241573831536181922" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SL3PoPSygqI/AAAAAAAAADA/4-tBu3eLSxY/s320/Proto.jpg" border="0" /&gt;&lt;/a&gt;Matt &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Cutts&lt;/span&gt; of Google declared on his blog that Google had open sourced protocol buffers. They encode data in binary format for transmission. You write a description of the protocol you desire. The Google code then generates classes to work with the protocol. It supports the C++, Java, and Python programming languages. There are over 10k protocols used by Google itself.&lt;br /&gt;&lt;br /&gt;People have said Protocol Buffers look similar to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Facebook&lt;/span&gt; Thrift. And Thrift supports even more languages like Perl, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;PHP&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XSD&lt;/span&gt;, C#, Ruby, Objective C, Smalltalk, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Erlang&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Ocaml&lt;/span&gt;, and Haskell. Matt &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Cutts&lt;/span&gt; has gone on the record as stating that Protocol Buffers predate Thrift. Both Thrift and Protocol Buffers are based on old ideas such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Corba&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;IDL&lt;/span&gt;. Some have commented that it would be nice if you could map Protocol Buffers automatically to XML.&lt;br /&gt;&lt;br /&gt;Protocol buffers create stubs for your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;RPCs&lt;/span&gt;. People have commented that Protocol Buffers look a lot like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;JSON&lt;/span&gt;. Sometimes Google refers to Protocol Buffers as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;pbuffers&lt;/span&gt;. Google uses it exclusively for talk between servers. Google itself uses C++ for programs that run on production machines. This is in order to get the best performance.&lt;br /&gt;&lt;br /&gt;I consulted the Google developer’s guide on Protocol Buffers. It declares that they are language neutral, platform neutral, and extensible. Their intended purpose is to serialize structured data. It claims that Protocol Buffers are smaller, faster, and simpler than XML. You define message types in “.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;proto&lt;/span&gt;” files. They contain name value pairs. Fields are numbered in each message type. When you add fields, the result is still backward compatible.&lt;br /&gt;&lt;br /&gt;Mark &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Pilgram&lt;/span&gt;, another Google employee, likens a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;proto&lt;/span&gt; file to a schema. It does not contain data. He says that Protocol Buffers are designed to minimize network traffic and maximize performance. They can be nested. And they are both backward and forward compatible. He stated they will not replace &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;JSON&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I have not used Protocol Buffers myself. However if Google uses them that much, there must be some really good benefits to them. Unfortunately my own project at work seems to be going in the direction of XML. I think we are officially prototyping it next year in production.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-8542293613415071196?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/8542293613415071196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=8542293613415071196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8542293613415071196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8542293613415071196'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/09/protocol-buffers.html' title='Protocol Buffers'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SL3PoPSygqI/AAAAAAAAADA/4-tBu3eLSxY/s72-c/Proto.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3296625611338642836</id><published>2008-08-29T19:21:00.002-04:00</published><updated>2008-08-29T19:21:57.050-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jabber'/><category scheme='http://www.blogger.com/atom/ns#' term='RFC 3920'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='open'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='instant messaging'/><title type='text'>What is XMPP?</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5240083815129126306" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/SLiEd3oLlaI/AAAAAAAAAC4/lThAig-ueH8/s320/IM.jpg" border="0" /&gt;Lately I have been reading up on the whole SOAP versus REST discussion. I saw a comment on one blog that “&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XMPP&lt;/span&gt; was not going to replace REST”. At that point I figured this was a true statement. That is because I had never heard about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XMPP&lt;/span&gt; before. So I decided to do a little research on the web to find out more about it. This is what I found.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XMPP&lt;/span&gt; stands for Extensible Messaging and Presence Protocol. It is a steaming XML technology for instant messaging and buddy lists. It is the core protocol of Jabber, which itself is an open source technology for instant messaging. Jabber’s advantages are that it is open, decentralized, secure, and free. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XMPP&lt;/span&gt; is an open standard. It is implemented in Google Talk. I hear that it has a large overhead.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XMPP&lt;/span&gt; was developed by the Jabber open source community in 1999. There is actually an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XMPP&lt;/span&gt; Standard Foundation. The specifications for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;XMPP&lt;/span&gt; were produced by the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;IETF&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XMPP&lt;/span&gt; Working Group. The standards were written in a set of RFC. For example RFC 3920 is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;XMPP&lt;/span&gt; Core, produced in 2004.&lt;br /&gt;&lt;br /&gt;I read a funny blog post by Matt Tucker that said developers should “come to Jesus about the [&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;XMPP&lt;/span&gt;] protocol”. I guess to some this is sort of like a religion. Matt goes on to say that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;XMPP&lt;/span&gt; is good for cloud computing. He believes that SOAP does not scale.&lt;br /&gt;&lt;br /&gt;Getting a little more into the details, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;XMPP&lt;/span&gt; defines extensible elements called XML stanzas. They are exchanged in real time. The old way of doing things was for clients to poll servers. Examples of this are G-mail and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;RSS&lt;/span&gt; readers. However this method would not work for instant messaging due to the sheer volume of clients. The solution is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;XMPP&lt;/span&gt;. There is obviously a lot more to learn about this technology. There are a lot of extensions to the core standard. I will keep you posted on anything that I learn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3296625611338642836?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3296625611338642836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3296625611338642836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3296625611338642836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3296625611338642836'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/what-is-xmpp.html' title='What is XMPP?'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/SLiEd3oLlaI/AAAAAAAAAC4/lThAig-ueH8/s72-c/IM.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-4068190143639363066</id><published>2008-08-29T19:18:00.001-04:00</published><updated>2008-08-29T19:20:37.203-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WS-*'/><category scheme='http://www.blogger.com/atom/ns#' term='specification. Web services'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='WS-Policy'/><title type='text'>WS Star</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SLiECOcTJfI/AAAAAAAAACw/75rR99KMf4M/s1600-h/Star.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5240083340216968690" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SLiECOcTJfI/AAAAAAAAACw/75rR99KMf4M/s320/Star.jpg" border="0" /&gt;&lt;/a&gt;The more I look at SOAP and REST, the more I started seeing references to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;WS&lt;/span&gt;-*. I wondered what the heck that meant. Nobody I know seemed to talk about that. And I spend a good deal of time with developers. The problem is that most of us are legacy developers who do not deal a lot with newer technologies on our jobs. I found that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;WS&lt;/span&gt;-* refers to a set of specifications for web services. It is not a single set of specs. And no one body owns all of them. Many of the actual specs begin with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;WS&lt;/span&gt;. So that is why they are collectively known as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;WS&lt;/span&gt;-*. And it is pronounced &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;WS&lt;/span&gt;-Star.&lt;br /&gt;&lt;br /&gt;Here are some sample &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;WS&lt;/span&gt;-* specifications that I have found:&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;WS&lt;/span&gt;-Notification&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;WS&lt;/span&gt;-Addressing&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;WS&lt;/span&gt;-Transfer&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;WS&lt;/span&gt;-Eventing&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;WS&lt;/span&gt;-Enumeration&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;WS&lt;/span&gt;-Policy&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;WS&lt;/span&gt;-Discovery&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;WS&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Metadata&lt;/span&gt; Exchange&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;WS&lt;/span&gt;-Resource Framework&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;WS&lt;/span&gt;-Security&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;WS&lt;/span&gt;-Trust&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;WS&lt;/span&gt;-Federation&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;WS&lt;/span&gt;-Reliability&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;WS&lt;/span&gt;-Transfer&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;WS&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;AtomicTransaction&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;WS&lt;/span&gt;-Coordination&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;WS&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;CAF&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;WS&lt;/span&gt;-Transaction&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;WS&lt;/span&gt;-Context&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;WS&lt;/span&gt;-CF&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;WS&lt;/span&gt;-Management&lt;br /&gt;&lt;br /&gt;I decided to look up one example in more detail. So I chose &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;WS&lt;/span&gt;-Policy at random. The full name of the specification is Web Services Policy Framework. There are 20 authors of the spec. Many of them seemed to be affiliated with Microsoft Corporation. For example Don Box was one of the authors. The document itself is 25 pages long.&lt;br /&gt;&lt;br /&gt;To tell the truth, I really did not understand the introduction section to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;WS&lt;/span&gt;-Policy spec. It was filled with a bunch of buzz words. At least I got that the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_32"&gt;name space&lt;/span&gt; for the spec is &lt;a href="http://schemas.xmlsoap.org/ws/2004/09/policy"&gt;http://schemas.xmlsoap.org/ws/2004/09/policy&lt;/a&gt;. And it helped that they gave an example of the spec in XML code.&lt;br /&gt;&lt;br /&gt;There is a reason why the author of Ruby on Rails calls &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;WS&lt;/span&gt;-Star the “&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;WS&lt;/span&gt; Death Star”.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-4068190143639363066?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/4068190143639363066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=4068190143639363066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4068190143639363066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/4068190143639363066'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/ws-star.html' title='WS Star'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SLiECOcTJfI/AAAAAAAAACw/75rR99KMf4M/s72-c/Star.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-642417720799458591</id><published>2008-08-22T21:57:00.001-04:00</published><updated>2008-08-22T21:58:27.837-04:00</updated><title type='text'>SOAP and REST</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9upQftoSI/AAAAAAAAACI/tR80iBD0oCc/s1600-h/18.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237526546736849186" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9upQftoSI/AAAAAAAAACI/tR80iBD0oCc/s320/18.png" border="0" /&gt;&lt;/a&gt;I have read a couple blog posts regarding the Simple Object Access Protocol (SOAP) and Representational State Transfer (REST). Let me start by talking about and InfoWorld article. It discusses a statement by Tim Bray, the director of technologies at Sun Microsystems. He says the “SOAP stack is a failure”. Tim continues that REST is more viable, elegant, and affordable. He says there will be more and more tools for REST from big companies such as Sun, Microsoft, and Oracle. However Tim concedes that there is a lack of current tools for REST.&lt;br /&gt;&lt;br /&gt;Another good blog post was “REST as an engineering discipline” by Bill de hOra. Bill comes out and says that SOAP is simple. After all the S in SOAP stands for simple. He contrasts this with REST which is not necessarily simple. Bill qualifies this by saying that REST is neither better nor worse than SOAP. He does state that REST works. But he advises that REST is not for hackers. And there is a lot of hype around rest right now. Things may be a lot different once the hype dies down.&lt;br /&gt;&lt;br /&gt;Having done a little SOAP with a lot of help from instructional materials, I can say that it is indeed not all that simple. Yes the outer wrapper of the SOAP envelope may not be rocket science. But from a beginner’s standpoint, you have enough to worry about with XML. Adding the SOAP layer on top for messaging does introduce a little more complexity. Perhaps this will get easier if I work with SOAP more often. For now my project only intends to receive input files in XML format. I am not sure if they shall be validated with an XML schema, or be packed in a SOAP envelope. It is just exciting that the topics I have learned about and will be using are current ones in the technology sector.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-642417720799458591?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/642417720799458591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=642417720799458591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/642417720799458591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/642417720799458591'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/soap-and-rest.html' title='SOAP and REST'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9upQftoSI/AAAAAAAAACI/tR80iBD0oCc/s72-c/18.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3027431223744614428</id><published>2008-08-22T21:56:00.001-04:00</published><updated>2008-08-22T21:57:29.219-04:00</updated><title type='text'>REST Discussion</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9uWvmrxGI/AAAAAAAAACA/rY6lGCtbTEA/s1600-h/17.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237526228670071906" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9uWvmrxGI/AAAAAAAAACA/rY6lGCtbTEA/s320/17.jpg" border="0" /&gt;&lt;/a&gt;It seems there is a lot of buzz about Representational State Transfer (REST) in blogs recently. First there was a post by Damien Katz, which got a response by Dare Obasanjo that I would like to mention first. He pointed out that REST was coined by Roy Fielding who was one of the HTTP 1.1 specification authors. SOAP on the other hand came from the Microsoft camp with people like Don Box. SOAP was then pushed by the W3C. It was of interest so that people could package old enterprise techniques such as COBRA into new buzzwords.&lt;br /&gt;&lt;br /&gt;Obasanjo continued that REST is specifically for the client server architecture. The statelessness feature of REST contributes to increased scalability and reliability. REST is a characteristic of the web. A resource is anything that can be named on the web. Regarding PUT and POST, PUT is idempotent. POST is not idempotent. In other words, you can PUT many times, and the outcome is the same. This is not true with POST. I liked the phrase that “session state is evil”. That does not mean that this architectural outlook is correct. In addition, Obasanjo lobbied for developers to not fight against the web.&lt;br /&gt;&lt;br /&gt;In the same regard, I read a REST Questions blog post. The most interesting part of it were the comments from readers. REST says that application state is not supposed to be kept by the server. It is acceptable and desired for the client to keep application state. REST is not necessarily good at communicating errors back to the client. There is definitely a lack of good tools out there for REST. PUT and DELETE are not supported in browsers, causing a limitation to REST.&lt;br /&gt;&lt;br /&gt;More REST Questions comments included one that the envelope/wrapper idea from SOAP is not a bad one. However making the envelope be in XML format is the problem. REST may indeed be simple to understand at a high level. However that does not mean it is easy to implement. There is still some confusion out there as to what REST is exactly. For example there is no REST RFC.&lt;br /&gt;&lt;br /&gt;I expect the discussion to continue since REST is still one of those hot buzz words. We shall see what technology wins when all the dust settles. Last year I recall SOA being the buzzword of choice. And before that it was Ajax. Time will tell.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3027431223744614428?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3027431223744614428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3027431223744614428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3027431223744614428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3027431223744614428'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/rest-discussion.html' title='REST Discussion'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9uWvmrxGI/AAAAAAAAACA/rY6lGCtbTEA/s72-c/17.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-3169625977792947751</id><published>2008-08-22T21:55:00.001-04:00</published><updated>2008-08-22T21:56:07.247-04:00</updated><title type='text'>Anti XML</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9uA376r7I/AAAAAAAAAB4/RYQONVY9QQw/s1600-h/15.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237525852949491634" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9uA376r7I/AAAAAAAAAB4/RYQONVY9QQw/s320/15.jpg" border="0" /&gt;&lt;/a&gt;I read a blog post by Brennan Spies entitled “XML Backlash”. This post summarized some of the anti-XML sentiment I have been hearing for some time in the industry. I thought this would be a relevant topic since I just completed a training course in XML myself.&lt;br /&gt;&lt;br /&gt;Brennan offered that XML was introduced in 1998. XML has a complementing set of other technologies such as XPath, XSLT, XQuery, and XML Schema. XML is used for configuration and enterprise applications. It is also at the heart of AJAX.&lt;br /&gt;&lt;br /&gt;There are other technologies competing with XML. These include Protocol Buffers, JSON, and YAML. Protocol Buffers is a format designed and heavily used by Google. JSON (JavaScript Object Notation) is a simple text based format that is actually language independent. YAML strangely stands for YAML Ain’t a Markup Language.&lt;br /&gt;&lt;br /&gt;XML does have its benefits. It is both platform and language independent. There are many tools available to work with XML. I personally plan on getting my company to buy me a copy of XMLSpy from Altova. Although some developers on my team say that Visual Studio is enough. XML is surprisingly readable. Another person taking training when I did told me she thought XML was pretty easy to read. I guess she had not done XSLT yet. Finally XML does have the whole XML Schema language for validation.&lt;br /&gt;&lt;br /&gt;One of the main complaints about XML is that it is overly verbose. That translates into big files. What I found interesting about the blog post that I read were the comments from other people. Some said that XML is good, but not good for everything. Another pointed out that XML is good in that it is web friendly. I found it interesting that many people agreed that file in CSV format were most common.&lt;br /&gt;&lt;br /&gt;The thing I do know is that XML is in my future. We are going to be receiving some input files in XML format next year. This is a requirement dictated to us by our customer. Apparently this change is part of a modernization effort. You have to understand that we deal with big legacy systems at my work. They are mainly COBOL programs that run on the mainframe. So XML might by new in that light. I will keep you posted on how our project is doing with introducing XML to it. There is one piece of good news. One of my buddies on the project was planning to leave for another project. However he is thinking about sticking around and handling the XML upgrade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-3169625977792947751?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/3169625977792947751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=3169625977792947751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3169625977792947751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/3169625977792947751'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/anti-xml.html' title='Anti XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9uA376r7I/AAAAAAAAAB4/RYQONVY9QQw/s72-c/15.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1802760374535166613</id><published>2008-08-22T21:53:00.002-04:00</published><updated>2008-08-24T03:38:07.701-04:00</updated><title type='text'>REST</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9toQ4TxbI/AAAAAAAAABw/-GxZa0dTrj8/s1600-h/14.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237525430148515250" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9toQ4TxbI/AAAAAAAAABw/-GxZa0dTrj8/s320/14.jpg" border="0" /&gt;&lt;/a&gt;I am starting to become more aware of the term Representational State Transfer (REST) having learned about XML. This term was coined by Roy Fielding in his Ph. D thesis "Architectural Styles and the Design of Network-based Software Architectures". REST is truly an architectural style. It is not a standard. It also does not deal with implementation. The web (with HTTP) is an example of REST.&lt;br /&gt;&lt;br /&gt;REST deals with resources on the web. These resources are all named with URLs. They are accessible via the HTTP GET command. Thus it is a pull type interaction. Furthermore REST is a stateless transaction. Operations cannot expect to retain state from previous transactions to be able to work. However REST does accommodate the need for a cache to speed up network performance.&lt;br /&gt;&lt;br /&gt;For now I plan to keep my eyes open and perhaps try to learn more about REST details. My chief goal right now is to put my new XML knowledge into practice. So I will be gearing to more complex methods for web services like Service Oriented Architecture (SOA). Look for my previous blog post about &lt;a href="http://xmlhome.blogspot.com/2008/08/service-oriented-architecture.html"&gt;SOA&lt;/a&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1802760374535166613?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1802760374535166613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1802760374535166613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1802760374535166613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1802760374535166613'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/representational-state-transfer.html' title='REST'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9toQ4TxbI/AAAAAAAAABw/-GxZa0dTrj8/s72-c/14.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-8485878472298802273</id><published>2008-08-22T21:52:00.002-04:00</published><updated>2008-08-24T03:38:21.229-04:00</updated><title type='text'>WOA</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9tZSwrPII/AAAAAAAAABo/qkE-DFkFEtA/s1600-h/13.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237525172955331714" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9tZSwrPII/AAAAAAAAABo/qkE-DFkFEtA/s320/13.jpg" border="0" /&gt;&lt;/a&gt;I just got done reading my latest copy of Information Week magazine. There was an article in there by Roger Smith entitled "Smart Web App Development". It explained the rising popularity of a Web Oriented Architecture (WOA). This was a new term for me. So I read the article carefully. I am glad I recently trained in XML so I could follow some of the topics involved.&lt;br /&gt;&lt;br /&gt;WOA is an approach to system design. From what I gather it is based upon Representational State Transfer (REST). REST is a simple data transfer technique over HTTP without using complex wrappers like SOAP. Resources are accessed through URIs. It purports to have better response times, lesser server load, and less client code.&lt;br /&gt;&lt;br /&gt;WOA is a lighter form of Service Oriented Architecture (SOA). SOA is more complex and expensive to develop. It requires you to sends XML messages wrapped in SOAP envelopes. I have blogged about &lt;a href="http://susops.blogspot.com/2008/08/service-oriented-architecture.html"&gt;SOA&lt;/a&gt; in the past so I will not repeat all the details.&lt;br /&gt;&lt;br /&gt;The Information Week article stated that many companies such as Google, Yahoo, Amazon, and Mozilla are going to the simpler WOA approach. The article also admitted that a WOA might not be best for enterprise level computing. In fact it portrays WOA as a complimentary technology to SOA. For now I think I will be more into Service Oriented Architecture since I just learned a lot about XML.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-8485878472298802273?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/8485878472298802273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=8485878472298802273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8485878472298802273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8485878472298802273'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/web-oriented-architecture.html' title='WOA'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9tZSwrPII/AAAAAAAAABo/qkE-DFkFEtA/s72-c/13.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1256080342282763742</id><published>2008-08-22T21:51:00.002-04:00</published><updated>2008-08-24T03:38:58.532-04:00</updated><title type='text'>AJAX</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/SK9tKwswvrI/AAAAAAAAABg/cLpkQCjWpgA/s1600-h/11.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237524923293941426" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/SK9tKwswvrI/AAAAAAAAABg/cLpkQCjWpgA/s320/11.jpg" border="0" /&gt;&lt;/a&gt;Today was the last day of my XML Training class. We had a shortened session today. And we covered many subjects. However we did not delve too deeply in any of these subject. Essentially we reviewed different applications that use XML. One of these uses is Asynchronous JavaScript and XML (XML).&lt;br /&gt;&lt;br /&gt;Early web pages had to reload the entire web page every time there was a change needed. However this was slow and was overkill when you needed to modify a small portion of the web page. Thus Asynchronous JavaScript and XML (AJAX) was introduced. It allows JavaScript running on the client to make a request to the server. The JavaScript then takes the server response and updates a small portion of the web page. This is done in the background. Therefore this is an asynchronous operation. The AJAX communication between client and server is in XML. The JavaScript sends the request to the server via XML over HTTP. The server also responds in XML format.&lt;br /&gt;&lt;br /&gt;The final topic of the class was securing XML. You can utilize HTTPS. This method was previously called Secure Sockets Layer (SSL). However this is a slow option. An alternative to speed this up is to encrypt select elements that contain sensitive information. And that's it for my class. However there is a follow on class covering advanced XSLT that I may take. If so, I will share all that I learn. I hope this series in my blog has been instructional.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1256080342282763742?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1256080342282763742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1256080342282763742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1256080342282763742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1256080342282763742'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/asynchronous-javascript-and-xml.html' title='AJAX'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/SK9tKwswvrI/AAAAAAAAABg/cLpkQCjWpgA/s72-c/11.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1073783165309881586</id><published>2008-08-22T21:49:00.001-04:00</published><updated>2008-08-24T03:39:10.901-04:00</updated><title type='text'>SOA</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9s0JcSMzI/AAAAAAAAABY/L5hPR5-QCS8/s1600-h/10.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237524534798725938" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9s0JcSMzI/AAAAAAAAABY/L5hPR5-QCS8/s320/10.jpg" border="0" /&gt;&lt;/a&gt;In this post I continue a review of my last day in XML Training class. We briefly mentioned web services today. Web services run on a server. Clients communicate with the server via XML messages over the HTTP protocol. It is platform independent. The umbrella technology is referred to as Service Oriented Architecture (SOA).&lt;br /&gt;&lt;br /&gt;There are three main components to SOA. There is a registry that lists all the service. Providers are the servers that implement the services. Finally requestors are the clients that look up needs in the registry, and communicate directly with the providers.&lt;br /&gt;&lt;br /&gt;The registry information is provided in the Web Services Definition Language (WSDL). This acronym is pronounced wiz-dull. WSDL gives information on where the service is located, the format of the input messages, and the format of the output messages. The formatting information is given in XML Schema notation.&lt;br /&gt;&lt;br /&gt;Web Service communication is done via messages in XML format. Furthermore these messages adhere to the Simple Object Access Protocol (SOAP). SOAP is a format which is some tags in XML which stipulate that the XML messages are enclosed in a SOAP envelope. The SOAP format is sent over the HTTP protocol.&lt;br /&gt;&lt;br /&gt;There were a couple other miscellaneous topics covered in class such as Ajax and XML Security. I will defer these to a future post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1073783165309881586?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1073783165309881586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1073783165309881586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1073783165309881586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1073783165309881586'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/service-oriented-architecture.html' title='SOA'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9s0JcSMzI/AAAAAAAAABY/L5hPR5-QCS8/s72-c/10.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-1042201379969535930</id><published>2008-08-22T21:48:00.002-04:00</published><updated>2008-08-24T03:39:31.671-04:00</updated><title type='text'>XSL-FO</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fXZ3sSvirWg/SK9siWbKjdI/AAAAAAAAABQ/8pt-kenBGfA/s1600-h/9.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237524229046046162" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_fXZ3sSvirWg/SK9siWbKjdI/AAAAAAAAABQ/8pt-kenBGfA/s320/9.png" border="0" /&gt;&lt;/a&gt;Today was the last day of my XML Training class. We covered a number of topics today. Most of them only provided an introduction to the topic. One such topic was XSL Formatting Objects (XSL-FO). This technology is used for presentation of XML data similar to what HTML does.&lt;br /&gt;&lt;br /&gt;The most popular use of XML-FO is to generate PDF output from XML documents. This is actually a multi step process. First the XML and XSL run through a processor generating the XSL-FO code. Then a formatter takes the XSL-FO and produces the PDF output document.&lt;br /&gt;&lt;br /&gt;One implementation of XSL-FO is the Apache FOP. Its best feature is that it is free. However it does not implement all of the XSL-FO standard. At the other end of the spectrum is RendexX XEP. It is the most advanced XSL-FO implementation. However it is also the most expensive, costing thousands of dollars.&lt;br /&gt;&lt;br /&gt;My instructor did point out that XSL Formatting Objects is not very popular. It is used by government organizations to produce things such as tax forms. It is also used in the financial community. My instructor said that at one class, New York banks were recruiting class members to work for them doing XSL-FO work. They had high paying clients that needed financial documents generated by XSL-FO.&lt;br /&gt;&lt;br /&gt;There is a whole follow-up class that teaches more of XSLT and XSL-FO. So we did not go deep into the subject. I will post some more on the other topics we covered today such as web services, SOA, SOAP, WSDL, and XML Security. Be sure to tune in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-1042201379969535930?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/1042201379969535930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=1042201379969535930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1042201379969535930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/1042201379969535930'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/xsl-formatting-objects.html' title='XSL-FO'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fXZ3sSvirWg/SK9siWbKjdI/AAAAAAAAABQ/8pt-kenBGfA/s72-c/9.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-5099839856177390748</id><published>2008-08-22T21:47:00.002-04:00</published><updated>2008-08-24T03:39:53.130-04:00</updated><title type='text'>XSL</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9sT-ZvMEI/AAAAAAAAABI/Y-H7ZJ1szV0/s1600-h/8.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237523982079438914" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9sT-ZvMEI/AAAAAAAAABI/Y-H7ZJ1szV0/s320/8.png" border="0" /&gt;&lt;/a&gt;The majority of XML is structured around how data is stored. It does not concern itself with presentation. This is where the Extensible Stylesheet Language (XSL) comes in. XSL has a similar functionality to &lt;a href="http://susops.blogspot.com/2008/08/xpath-and-xquery.html"&gt;XQuery&lt;/a&gt;. However XSL is much older than XQuery. It allows you to transform XML to a presentation format such as HTML.&lt;br /&gt;&lt;br /&gt;There are two places you can perform an XSL transformation. It can be done on the server with the resulting output such as HTML being piped to the client. Or you can send both the XML and XSL data for the client to do the transformation. It is recommend that the server do this. You cannot always guarantee that a client Web browser has the capability to do the transformation.&lt;br /&gt;&lt;br /&gt;The transformation makes use of an XSL stylesheet. The default behavior of an empty stylesheet is to traverse the children of an XML data tree and print the PCDATA elements. However you normally add template matches to the stylesheet in XPath format. When such a match is made, the code in that template block is executed and the traversal normally stops. You can issues an apply-templates command in this block. That causes XSL to continue processing the templates you instruct it to (with the default being all children elements in the tree).&lt;br /&gt;&lt;br /&gt;Here are a couple closing ideas on this brief intro to XSL. The XSL templates are never nested. And their order in the XSL file is not important. Execution is determined by the order of nodes in the XML tree, and the XPath information in the templates. Tomorrow we are going to learn how to use XSL formatting objects to turn XML into a PDF file. There is also another 3 day long class on the topic of XSL transformations by itself. So you know it is a huge topic that I cannot even start to cover here. I just wanted to share what little bit I have learned. I can't wait to get back to work and put some of this XML knowledge into action.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-5099839856177390748?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/5099839856177390748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=5099839856177390748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5099839856177390748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/5099839856177390748'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/extensible-stylesheet-language.html' title='XSL'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9sT-ZvMEI/AAAAAAAAABI/Y-H7ZJ1szV0/s72-c/8.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7026455719039392236</id><published>2008-08-22T21:45:00.000-04:00</published><updated>2008-08-22T21:47:30.136-04:00</updated><title type='text'>More XML Schema</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9r3UM9GCI/AAAAAAAAABA/S2YLo54aFdw/s1600-h/7.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237523489715197986" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9r3UM9GCI/AAAAAAAAABA/S2YLo54aFdw/s320/7.jpg" border="0" /&gt;&lt;/a&gt;This afternoon I had a rapid introduction to the XML Schema language. If you have not done so already, see my first post on &lt;a href="http://xmlhome.blogspot.com/2008/08/xml-schema.html"&gt;XML Schema&lt;/a&gt;. In addition to being able to specify an element format (or type), you can specify its cardinality. This is done with the element attributes minOccurs and maxOccurs. The minOccurs attribute default to 1, can be set to whatever you desire, and can represent an optional element if set to 0. The maxOccurs attribute defaults to the lesser of 1 or minOccurs. If you want to specify that there is no maximum, the maxOccurs attribute can be specified as "unbounded".&lt;br /&gt;&lt;br /&gt;Previously I had introduced the concept of complex types. They represent attributes, or elements made up other sub elements. XML Schema allows you to specify fine control what a particular complex type element requires. This is done in part by what's known as a compositor property. The valid compositors are sequence, choice, and all. A sequence compositor means that all pieces of a complex type are required and must be in a specific order. A choice compositor allows you to specify the different components that a composite type can optionally have. And an all compositor allows specification of a list of complex type parts, each of which can have 0 or 1 occurrences in the whole element.&lt;br /&gt;&lt;br /&gt;XML Schema allows you to define a global element. Such an element must be a direct child of the root element. The opposite of this is a local element which is defined within the compositor. You can also define new data types. A simple new data type is one which derives from a built in type, but restricts the range of possible values through a mechanism called a facet. I will not enumerate all the possible facet varieties here. You can also create a new data type which is of the complex variety.&lt;br /&gt;&lt;br /&gt;XML by itself has a way to add a comment. That should be used if you have an internal comment. XML Schema has another form of adding comments to an XML file. However these comments get pulled into the official documentation. So make sure they are appropriate for public consumption. You can use XML Schemas with XML namespaces. There is a little tricky syntax change that must be applied to both the XML File and the XML Schema to make namespaces work. XML Schemas can include other XML Schemes (.xsd files). Finally you can use a tool to convert an old style Document Type Definition (DTD) into the newer XML Schema language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7026455719039392236?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7026455719039392236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7026455719039392236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7026455719039392236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7026455719039392236'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/more-xml-schema.html' title='More XML Schema'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9r3UM9GCI/AAAAAAAAABA/S2YLo54aFdw/s72-c/7.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-2656691833754569232</id><published>2008-08-22T21:44:00.001-04:00</published><updated>2008-08-22T21:45:37.250-04:00</updated><title type='text'>XML Schema</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9rnBzc7OI/AAAAAAAAAA4/R6VIlyqQ1_I/s1600-h/6.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237523209898487010" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9rnBzc7OI/AAAAAAAAAA4/R6VIlyqQ1_I/s320/6.png" border="0" /&gt;&lt;/a&gt;I continue to pass on information learned in my XML Training class. Previously I had learned that a well formed XML document is one that has correct syntax. That just means that the formatting meets the XML rules. But this has little to do whether the required type of data, or the correct data format is contained in the file. For this we need XML validation.&lt;br /&gt;&lt;br /&gt;XML validation used to be performed by a Document Type Definition (DTD). This is another file which describes the required rules to determine whether the XML data is valid. DTDs did not work well with XML. They allow specification of structure definition. They were weak on data types. This led to creation of a new validation language called XML Schema.&lt;br /&gt;&lt;br /&gt;Initially there were many flavors of XML Schema. However on 05/02/2001, a single version of XML Schema became a standard. Although you can code XML Schema documents using a text editor, it is much easier to use a tool to design the schema graphically. XML Schema has an XML &lt;a href="http://www.w3.org/2001/XMLSchema"&gt;namespace&lt;/a&gt; that normally is denoted with the alias xsd. XML Schema comes with 40+ built in data types. These are the simple types. You can also use a complex type which is either a set of sub elements, attributes, or a combination of both.&lt;br /&gt;&lt;br /&gt;There is a lot more to what you can specify in the XML Schema language. I think I will save that for a future post. Mind you that we learned all about XML Schema in one afternoon. I am in a demanding training class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-2656691833754569232?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/2656691833754569232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=2656691833754569232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2656691833754569232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/2656691833754569232'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/xml-schema.html' title='XML Schema'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9rnBzc7OI/AAAAAAAAAA4/R6VIlyqQ1_I/s72-c/6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7533777347590931092</id><published>2008-08-22T21:43:00.002-04:00</published><updated>2008-08-24T03:40:05.161-04:00</updated><title type='text'>DOM</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9rWT3ortI/AAAAAAAAAAw/4Y0oQXqkW6Q/s1600-h/5.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237522922690096850" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9rWT3ortI/AAAAAAAAAAw/4Y0oQXqkW6Q/s320/5.jpg" border="0" /&gt;&lt;/a&gt;This afternoon in my XML training class we learned about the Document Object Model (DOM). It is an API used to pragmatically work with XML data parsed into a tree structure. You should use it if you need to more than just read and write XML. Otherwise you should use the simpler XQuery language. DOM is object oriented. It is also an open standard.&lt;br /&gt;&lt;br /&gt;Here is a list of crucial DOM API functions: createElement, appendChild, createTextNode, and setAttribute. Some other lesser user DOM functions are createComment, createElementNS, createCDATASection, createProcessingInstruction. You will need to also make calls to a loadXMLDocument function prior to using any of the DOM functions. The loadXMLDocument function is not a part of the DOM API. Instead it is provided by the implementation of the parser you choose.&lt;br /&gt;&lt;br /&gt;We used Firebug to debug our DOM code. Firebug is a Firefox extension written by one of the original authors of Firefox. Note that it is a little ambiguous seeing a text node and the text data itself in Firebug. However if you mouse over a text node, it will show an underline signifying that it is a node.&lt;br /&gt;&lt;br /&gt;My XML training class is skipping over the Simple API for XML (SAX). It is an API used to deal with parsers that are event driven as opposed to tree driven. I am not sure if we skipped this topic because it is not used as much, or if it is more complicated, or that there was not just enough time to cover it. Any of you readers use SAX? Let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7533777347590931092?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7533777347590931092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7533777347590931092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7533777347590931092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7533777347590931092'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/document-object-model.html' title='DOM'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fXZ3sSvirWg/SK9rWT3ortI/AAAAAAAAAAw/4Y0oQXqkW6Q/s72-c/5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-6447044061938930426</id><published>2008-08-22T21:42:00.001-04:00</published><updated>2008-08-22T21:43:24.097-04:00</updated><title type='text'>XML and Databases</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9q-sWeMTI/AAAAAAAAAAo/Fj83AaNr0vM/s1600-h/4.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237522516945023282" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9q-sWeMTI/AAAAAAAAAAo/Fj83AaNr0vM/s320/4.png" border="0" /&gt;&lt;/a&gt;This morning I attended my second day of XML training. We spent a lot of the morning doing exercises to reinforce the stuff we had learned. However I thought I would pass on some of the new information I have learned. This was paid training that my company paid big bucks for. You get the benefit of this training here for free.&lt;br /&gt;&lt;br /&gt;The Microsoft Excel application stores data in its native Excel format by default. However it has the ability to export to XML format. You need to map spreadsheet cells to XML elements. This is done by first choosing XML Source from the XML submenu of the Data menu. Once you have done this, you can choose to Save As file format "XML Data".&lt;br /&gt;&lt;br /&gt;There are a number of ways to store XML data in a database. One technique is to choose to store the whole XML file as a record in a column of type native XML. Oracle databases that are version 9i and above support this. SQL Sever databases that are version 2005 and above also support this. If you have an older version of Oracle or SQL Server, or if you have a different database that does not have an XML native data type, you can still store the whole XML file as a CLOB data type.&lt;br /&gt;&lt;br /&gt;Another way to store XML data to a database is called Shredding. This is where you just extract the character and attribute data. This data is then inserted into columns in the database. The XML formatting (e.g. tags) is lost in the process. This has the benefit of using less space in the database. It also makes for faster queries. However this method is not recommended if your XML data is unstructured, or if you plan to transfer data in XML format frequently.&lt;br /&gt;&lt;br /&gt;Once you have the data stored in an XML database, some databases have built in support to query and retrieve the data. In Oracle you use the built in package DBMS_XMLGEN. This allows you to retrieve XML from the database and generate an XML output file. If the resulting format by default is not what you want, you can furthermore run the database output through XQuery to reformat it.&lt;br /&gt;&lt;br /&gt;Unfortunately our class had computers which only had Oracle XE (Database Express Edition) installed. This version of Oracle had a limitation that did not allow you to use advanced features to format results using XQuery directly. We had to pipe the output to an XML file first. Then we used another tool to format the results. I wish my training company had spent a little extra and got a license for a real Oracle database version. However I can go back to work, try it out on Oracle, and let you know the results.&lt;br /&gt;&lt;br /&gt;It is time to get back to class. Lunch break is over. I shall post again to let you know what I learn this afternoon. I hope the information I am sharing is of some use to you. If your company has the budget, I would recommend you also attend formal XML training. I am learning much here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-6447044061938930426?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/6447044061938930426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=6447044061938930426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6447044061938930426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6447044061938930426'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/xml-and-databases.html' title='XML and Databases'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9q-sWeMTI/AAAAAAAAAAo/Fj83AaNr0vM/s72-c/4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-7385703477435537152</id><published>2008-08-22T21:39:00.001-04:00</published><updated>2008-08-22T21:41:40.676-04:00</updated><title type='text'>XPath and XQuery</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9qRkkkCdI/AAAAAAAAAAg/cSi32Jsiklg/s1600-h/3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237521741762529746" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9qRkkkCdI/AAAAAAAAAAg/cSi32Jsiklg/s320/3.png" border="0" /&gt;&lt;/a&gt;Ok so I am finally getting around to talking a little about XPath and XQuery. Sorry for the delay. Note that this was information I got on my first day in XML training. I am sure there will be a lot more information that I learn and pass on to you.&lt;br /&gt;&lt;br /&gt;XPath is actually a part of the Extensible Stylesheet Language (XSL). It became so popular that its use has be expanded for XML purposes. XPath is a language that allows you to specify a path that will return certain parts of an XML document. It is very popular. And it is 10 years old. Here is the important symbology in the XPath language:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;/ = document&lt;br /&gt;&lt;/li&gt;&lt;li&gt;* = element&lt;br /&gt;&lt;/li&gt;&lt;li&gt;text() = PCDATA&lt;br /&gt;&lt;/li&gt;&lt;li&gt;@* = attribute&lt;/li&gt;&lt;/ul&gt;Now let's move on to XQuery. About 80% of XQuery is just XPath syntax. It is very similar to SQL. It is used to interrogate an XML file and produce a subset in XML format. The most common pattern in XQuery is as follows:&lt;br /&gt;&lt;br /&gt;for ... in ...&lt;br /&gt;where ...&lt;br /&gt;order by ...&lt;br /&gt;return ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-7385703477435537152?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/7385703477435537152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=7385703477435537152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7385703477435537152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/7385703477435537152'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/xpath-and-xquery.html' title='XPath and XQuery'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9qRkkkCdI/AAAAAAAAAAg/cSi32Jsiklg/s72-c/3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-8392140526800748816</id><published>2008-08-22T21:36:00.000-04:00</published><updated>2008-08-22T21:38:30.164-04:00</updated><title type='text'>Introduction to XML</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9p0khg-BI/AAAAAAAAAAY/CykFFJZEp3A/s1600-h/2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237521243533539346" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9p0khg-BI/AAAAAAAAAAY/CykFFJZEp3A/s320/2.png" border="0" /&gt;&lt;/a&gt;As I previously blogged about, I am currently in an XML training class. So I thought I would share some of the things I learned today. In fact, this post will cover what I learned this morning. The class costs over $2600 over 4 days. That's averages out to over $650 a day. This morning information cost my company $325. So listen up and learn a thing or two free of charge.&lt;br /&gt;&lt;br /&gt;XML is a method of data transfer that intends to be simple and cost effective. It is text based. XML is an open standard. It is a subset of SGML. Although it is very powerful, SGML is complex. Only one person in my class of 24 knew SGML well enough to confess it. A related markup language is HTML, which is an implementation of SGML.&lt;br /&gt;&lt;br /&gt;A newer version of HTML called XHTML has a stricter syntax to conform to XML. HTML is for presentation in a web browser. XML on the other hand is for expressing data. Another data transfer method is Electronic Data Interchange (EDI). EDI is expensive and more complex. Let's now focus in on some XML Details.&lt;br /&gt;&lt;br /&gt;The basic unit of XML is an element. An element is demarcated by a start and end tag. Elements can have optional attributes. The outermost element in an XML file is called the root or document element. XML is case sensitive. One way to process XML files is by use of a parser. Microsoft provides the MSHTML parser with Internet Explorer. And Apache has the free Xerces parser.&lt;br /&gt;&lt;br /&gt;You can put text in an element. XML calls this parsed character data (PCDATA). Some special codes within PCDATA expand to reserved characters. These are called entities. An example of an entity is &amp;lt; which is the less than sign (&lt;). You can put special characters in data. But you then need to surround them with an unparsed character data tag (CDATA).&lt;br /&gt;&lt;br /&gt;XML documents are encoded in Unicode. You can choose a format such as UTF-8 or UTF-16. An XML document is called well formed if it has a correct syntax. I will not go into the detail of all the XML syntax rules. However they are few and we learned them all in the morning session. I will post some more later on further XML topics such as XPath and XQuery. Until then cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-8392140526800748816?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/8392140526800748816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=8392140526800748816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8392140526800748816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/8392140526800748816'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/introduction-to-xml.html' title='Introduction to XML'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fXZ3sSvirWg/SK9p0khg-BI/AAAAAAAAAAY/CykFFJZEp3A/s72-c/2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7651651367637180381.post-6247275235161858356</id><published>2008-08-22T21:32:00.000-04:00</published><updated>2008-08-22T21:36:30.013-04:00</updated><title type='text'>XML Course</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9pMcqr7iI/AAAAAAAAAAQ/MiqIG0FJd4M/s1600-h/1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5237520554229755426" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9pMcqr7iI/AAAAAAAAAAQ/MiqIG0FJd4M/s320/1.jpg" border="0" /&gt;&lt;/a&gt;Three months ago I started working for a new company. At first I was assigned to a manager that was very busy. He told me this was temporary. Later I got reassigned to another manager. My new manager had the time to explain some of the benefits available for working at our company. Once a year we are allowed to attend 4 days worth of training, with a $2500 budget to attend a class. That sounded good to me.&lt;br /&gt;&lt;br /&gt;Our project is about to receive input files in XML. So I thought it would be good to attend a class on this topic. I looked at a catalog for a training company. They had a 4 day class. That matched the time my company gave me off. However the cost was $2650. I asked my manager what we could do. She said I needed to get her boss to sign off on the extra $150. Her boss told me that his boss had to sign off.&lt;br /&gt;&lt;br /&gt;It took a couple calls. However I finally found out that the full price for the course had been approved. Today I started the first day of training. The instructor had a strong Polish accent. At the beginning of class she told everyone to pay attention at all times and not do anything else. She said we needed to learn while we were in her class. If we did not like this, she recommended we leave and sign up for another instructor. Harsh!&lt;br /&gt;&lt;br /&gt;So far I have received a morning worth of instruction. It has been a pretty good introduction. Since XML itself is not complicated, we have learned the entirety of the syntax of the language. The remaining days will be spent learning different XML applications and languages such as XML Schema. I think I am going to stick it through with this dictator instructor. It would be too much trouble to reschedule the class with another instructor.&lt;br /&gt;&lt;br /&gt;I got a good feeling at lunch today. I ordered some Chinese food, and got the following fortune in my cookie:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;You're transforming yourself into someone who is certain to succeed.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7651651367637180381-6247275235161858356?l=xmlhome.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlhome.blogspot.com/feeds/6247275235161858356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7651651367637180381&amp;postID=6247275235161858356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6247275235161858356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7651651367637180381/posts/default/6247275235161858356'/><link rel='alternate' type='text/html' href='http://xmlhome.blogspot.com/2008/08/xml-course.html' title='XML Course'/><author><name>XML Home</name><uri>http://www.blogger.com/profile/12565590770940217795</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='11' src='http://3.bp.blogspot.com/_fXZ3sSvirWg/SO1kbJI_NFI/AAAAAAAAAFU/uIAXgb1jEDE/S220/XML.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fXZ3sSvirWg/SK9pMcqr7iI/AAAAAAAAAAQ/MiqIG0FJd4M/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
