<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ehrendames.com</title>
	<atom:link href="http://www.ehrendames.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ehrendames.com</link>
	<description>create. program. worship.</description>
	<lastBuildDate>Tue, 22 Dec 2009 23:05:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Jared Anderson &#8211; &#8220;Live From My Church&#8221;</title>
		<link>http://www.ehrendames.com/2009/12/22/jared-anderson-live-from-my-church/</link>
		<comments>http://www.ehrendames.com/2009/12/22/jared-anderson-live-from-my-church/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 22:58:36 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[Worship]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=227</guid>
		<description><![CDATA[I was blessed to attend the live recording for Jared Anderson&#8217;s album on March 15, 2009 at New Life Church.  I was interviewing for my current job at Focus on the Family at the time.  The timing was perfect.  Jared released his album on September 22nd and it is an amazing album!

Jared Anderson &#8220;Live From [...]]]></description>
			<content:encoded><![CDATA[<p>I was blessed to attend the live recording for Jared Anderson&#8217;s album on March 15, 2009 at New Life Church.  I was interviewing for my current job at Focus on the Family at the time.  The timing was perfect.  Jared released his album on September 22nd and it is an amazing album!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="225" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5969052&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="225" src="http://vimeo.com/moogaloop.swf?clip_id=5969052&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p><a href="http://vimeo.com/5969052">Jared Anderson &#8220;Live From My Church&#8221; EPK</a> from <a href="http://vimeo.com/user2071251">Andy Catarisano/beFree Films</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6804902&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6804902&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object>
<p><a href="http://vimeo.com/6804902">Jared Anderson_ how He loves</a> from <a href="http://vimeo.com/user2071251">Andy Catarisano/beFree Films</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2009/12/22/jared-anderson-live-from-my-church/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Light Up the World</title>
		<link>http://www.ehrendames.com/2009/09/11/light-up-the-world/</link>
		<comments>http://www.ehrendames.com/2009/09/11/light-up-the-world/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 02:29:15 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[Worship]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=203</guid>
		<description><![CDATA[CD Release &#8211; September 15th &#8211; check out http://www.desperationband.com

OFFICIAL-Light Up the World Music Video from Desperation Band on Vimeo.
]]></description>
			<content:encoded><![CDATA[<p>CD Release &#8211; September 15th &#8211; check out <a href="http://www.desperationband.com">http://www.desperationband.com</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6117715&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=6117715&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/6117715">OFFICIAL-Light Up the World Music Video</a> from <a href="http://vimeo.com/user2026892">Desperation Band</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2009/09/11/light-up-the-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agency One Insurance</title>
		<link>http://www.ehrendames.com/2009/09/07/agency-one-insurance/</link>
		<comments>http://www.ehrendames.com/2009/09/07/agency-one-insurance/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:23:22 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Portfolio]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=198</guid>
		<description><![CDATA[Agency One Insurance is a located in David City, NE.  The insurance company needed a website to market to their customers in the area. The website was built on the .NET framework.  The project went through a mockup stage and then developing the markup and stylesheets.  Content writing and hosting aspects were [...]]]></description>
			<content:encoded><![CDATA[<p>Agency One Insurance is a located in David City, NE.  The insurance company needed a website to market to their customers in the area. The website was built on the .NET framework.  The project went through a mockup stage and then developing the markup and stylesheets.  Content writing and hosting aspects were serviced by Zimmer Consulting, LLC.  jQuery was used for a feature section in a slide effect on a timed bases.  Though much wasn&#8217;t budgeted for further work into stylesheets for mobile devices, we added some logic for an alternate feature section for mobile devices without the dependency on javascript.   Finally, the site went through optimization with all the images, javascript files, and the css files.  The project overall took about 20 hours upon completion and review.</p>
<p><strong>Deliverables:</strong></p>
<ul>
<li>PSD/Interface Design</li>
<li>Valid CSS/HTML</li>
<li>jQuery for preloading images and feature section</li>
<li>Site Optimization</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2009/09/07/agency-one-insurance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CBA Research Library</title>
		<link>http://www.ehrendames.com/2009/03/03/cba-research-library/</link>
		<comments>http://www.ehrendames.com/2009/03/03/cba-research-library/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 01:46:11 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Portfolio]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=182</guid>
		<description><![CDATA[
Research publications, books, conference papers are all popular items part of a college in higher education.  At times, presenting research information readily available and search-able are important goals.  The research library directory was rebuilt using rest-based urls and divided into their topics for browsability.  Flash was used to pull featured books from an XML feed.  [...]]]></description>
			<content:encoded><![CDATA[<p>
Research publications, books, conference papers are all popular items part of a college in higher education.  At times, presenting research information readily available and search-able are important goals.  The research library directory was rebuilt using rest-based urls and divided into their topics for browsability.  Flash was used to pull featured books from an XML feed.  Mootools was used to display related publications by the author(s) along with the publication views.</p>
<div style="float: right;">
<div id="attachment_188" class="wp-caption alignright" style="width: 330px"><img class="size-full wp-image-188" title="Research Publication View" src="http://www.ehrendames.com/wp-content/researchitemview.jpg" alt="Research Publication View" width="320" height="280" /><p class="wp-caption-text">Research Publication View</p></div></div>
</p>
<p><strong>Deliverables:</strong></p>
<ul>
<li>Featured Publications with Flash/HTML/CSS/XML</li>
<li>Rest-based URLs</li>
<li>Mootools JS Framework</li>
</ul>
<p><strong>Open Website:</strong></p>
<p><a title="Research Library" href="http://www.cba.unl.edu/research" target="_blank">www.cba.unl.edu/research</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2009/03/03/cba-research-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HighEdWeb &#8211; General Session with Jeffery Veen</title>
		<link>http://www.ehrendames.com/2008/12/13/highedweb-general-session-with-jeffery-veen/</link>
		<comments>http://www.ehrendames.com/2008/12/13/highedweb-general-session-with-jeffery-veen/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 16:48:10 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[high ed web]]></category>
		<category><![CDATA[higher education]]></category>
		<category><![CDATA[Jeffrey Veen]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=138</guid>
		<description><![CDATA[
Last month, I wrote a post on my experience at the 2008 High Ed Web Conference.  HighEdWeb just released their general sessions through YouTube. Track Sessions are also available via podcast feed.  I&#8217;ve posted the session on data visualization by Jeffery Veen below:


]]></description>
			<content:encoded><![CDATA[<p>
Last month, I wrote a <a href="/2008/11/2008-high-ed-web-conference/?phpMyAdmin=12e95f2e13e9c90cff266cb8da10cf41&#038;phpMyAdmin=625f918c7e37cbdc1a0d54feb7388f6a">post on my experience at the 2008 High Ed Web Conference</a>.  HighEdWeb just released their general sessions through YouTube. Track Sessions are also available via <a href="http://highedweb.org/podcast.xml">podcast feed</a>.  I&#8217;ve posted the session on data visualization by Jeffery Veen below:
</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/AcZQSGxnP-Y&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/AcZQSGxnP-Y&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2008/12/13/highedweb-general-session-with-jeffery-veen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jared Anderson &#8211; Two Days in the Same Place</title>
		<link>http://www.ehrendames.com/2008/12/12/jared-anderson-two-days-in-the-same-place/</link>
		<comments>http://www.ehrendames.com/2008/12/12/jared-anderson-two-days-in-the-same-place/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 17:38:35 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[Worship]]></category>
		<category><![CDATA[Jared Anderson]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[New Life Worship]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=133</guid>
		<description><![CDATA[
I absolutely love Jared Anderson&#8217;s music writing and musical ability, www.myspace.com/jaredandersonmusic.  Jared comes out of New Life Church in Colorado Springs, CO.  He plays under Desperation Band/New Life Worship and recently drawn his focus to writing music.


]]></description>
			<content:encoded><![CDATA[<p>
I absolutely love Jared Anderson&#8217;s music writing and musical ability, <a href="http://www.myspace.com/jaredandersonmusic">www.myspace.com/jaredandersonmusic</a>.  Jared comes out of New Life Church in Colorado Springs, CO.  He plays under Desperation Band/New Life Worship and recently drawn his focus to writing music.
</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/K1gnnAsgi2M&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/K1gnnAsgi2M&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2008/12/12/jared-anderson-two-days-in-the-same-place/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rose Motel</title>
		<link>http://www.ehrendames.com/2008/12/11/rose-motel/</link>
		<comments>http://www.ehrendames.com/2008/12/11/rose-motel/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 03:17:41 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Portfolio]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=123</guid>
		<description><![CDATA[Rose Motel is a located in David City, NE.  The previous site was in need re-design and a content rewrite.  The project started with moving content of the site away from the linked PDF files and re-designing the site for a fresh and inviting look.  Photography and content rewrite was done in partnership of Zimmer [...]]]></description>
			<content:encoded><![CDATA[<p>Rose Motel is a located in David City, NE.  The previous site was in need re-design and a content rewrite.  The project started with moving content of the site away from the linked PDF files and re-designing the site for a fresh and inviting look.  Photography and content rewrite was done in partnership of Zimmer Consulting.  The process went through several mockups and then developing the markup and stylesheets.  Since the content was simple, the entire html file contained all sections that could be available by clicking on the four navigation tabs below.  jQuery was used to provide an effect and display the appropriate section.  Finally, the site went through optimization with all the images, javascript files, and the css files.  Google Maps was integrated for the location page along with a form to request directions from Google Maps.  Finally, the print stylesheet was applied.  The project overall took about 20 hours upon completion and review.</p>
<p><strong>Deliverables:</strong></p>
<ul>
<li>PSD Re-design/Interface Design</li>
<li>Valid CSS/HTML</li>
<li>Print Stylesheet</li>
<li>jQuery Navigation Integration</li>
<li>Site Optimization</li>
<li>Google Map</li>
</ul>
<p><strong>Open Website:</strong></p>
<p><a href="http://www.rosemoteldc.com">www.rosemoteldc.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2008/12/11/rose-motel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Driven Development</title>
		<link>http://www.ehrendames.com/2008/11/27/test-driven-development/</link>
		<comments>http://www.ehrendames.com/2008/11/27/test-driven-development/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 05:43:52 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[Agile Developement]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test Driven Development]]></category>
		<category><![CDATA[Xtreme Programming]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=116</guid>
		<description><![CDATA[In March of 2008, I had my first presentation I&#8217;ve done at a technology conference, NU Technology Day.  I had the opportunity to team up with Brett Bieber from University Communications.  I was first introduced to the concept of Test Driven Development in November 2007 when Brett presented the concept at a Web [...]]]></description>
			<content:encoded><![CDATA[<p>In March of 2008, I had my first presentation I&#8217;ve done at a technology conference, NU Technology Day.  I had the opportunity to team up with Brett Bieber from University Communications.  I was first introduced to the concept of Test Driven Development in November 2007 when Brett presented the concept at a Web Applications Developer&#8217;s Meeting on campus.  This began to spark some thought in producing better code, code that doesn&#8217;t regress, and helps enforce secure code.  Since my focus at the College of Business is in e-commerce and application security, this topic became an innovation as a developer.  Please note that Test Driven Development does not produce secure code, but can help retain secure code.</p>
<p>For now, I&#8217;ve posted the presentation.  I hope it will spark some interest as it has done for me.  I hope to post notes to the presentation in the near future.</p>
<p><iframe src='http://docs.google.com/EmbedSlideshow?docid=dgjgqxh5_18gwfkvpxt' frameborder='0' width='410' height='342'></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2008/11/27/test-driven-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extensible Markup Language (XML) &#8211; Getting Started</title>
		<link>http://www.ehrendames.com/2008/11/27/extensible-markup-language-getting-started/</link>
		<comments>http://www.ehrendames.com/2008/11/27/extensible-markup-language-getting-started/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 05:24:56 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[DTA]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=111</guid>
		<description><![CDATA[Extensible Markup Language was fairly new to web technologies when I first heard of it in 2000. Though at the time the version 1.0 specification from the W3C was only two years old.  Since it&#8217;s introduction it has many applications.  XML has had two applications in my development.  The first is SOAP [...]]]></description>
			<content:encoded><![CDATA[<p>Extensible Markup Language was fairly new to web technologies when I first heard of it in 2000. Though at the time the version 1.0 specification from the W3C was only two years old.  Since it&#8217;s introduction it has many applications.  XML has had two applications in my development.  The first is SOAP and web services and the other is markup describing data.  Such as if I had employee information, I would describe its information with tags: firstname, lastname, address, city, state, and zipcode.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;employee<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;employee<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;firstname<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>John<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/firstname<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;lastname<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Smith<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/lastname<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;address<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>123 West Avenue<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/address<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;city<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Lincoln<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/city<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;state<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Nebraska<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/state<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;zipcode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>68588<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/zipcode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/employee<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/employee<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>I won&#8217;t get into SOAP and web services here.  I&#8217;ll do that another time.  But, if we were to start with XML, it is best to start with the ideas of XML, XSLT, DTD, and XML Schema.</p>
<p>To get into the importance of XML, let first talk about well-formed markup versus validated markup.  Well-formed markup means that for every start tag, there is an end tag.  Secondly, that all markup is properly nested.  Here are couple examples:<br />
<b>Example: Missing Closing Tag</b></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">    &lt;table&gt;
    &lt;tr&gt;
         &lt;td&gt;John &lt;!-- Missing Closing Tag --&gt;
         &lt;td&gt;Smith&lt;/td&gt;
         &lt;td&gt;Lincoln, NE&lt;/td&gt;
    &lt;/tr&gt;
    &lt;/table&gt;</pre></td></tr></table></div>

<p><b>Example: Improper Nested Tags</b></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">    &lt;p&gt;&lt;/b&gt;Employee&lt;/p&gt;&lt;/b&gt; &lt;!-- Improperly nested --&gt;</pre></td></tr></table></div>

<p>Valid markup says that this set of markup follows these semantic rules.  These rules tells you how the markup should be used.  They enforce constraints.  For instance, the W3C defines semantic rules for HTML.  The two popular ones are Strict and Transitional.  There are many other validations, but these seem to be widely used.</p>
<p>Now that we understand these two import aspects of XML,  the next topics are XML Schema and DTD.  XML Schema and DTD enforce validation.  There is a difference between the two documents.  XML Schema provides higher abstraction to an XML document.  Though, a DTD (Document Type Definition) has a narrow use for enforcing constraints and structure.<br />
<b>Example: DTD</b></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!-- Notice: XML, DTD, XML Schema, XSLT start with the XML version and encoding --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
&nbsp;
<span style="color: #009900;">&lt;!ELEMENT employee <span style="color: #66cc66;">&#40;</span>lastname, firstname, address, city, state, zipcode<span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;">&lt;!ELEMENT firstname <span style="color: #66cc66;">&#40;</span>#PCDATA<span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;">&lt;!ELEMENT lastname <span style="color: #66cc66;">&#40;</span>#PCDATA<span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;">&lt;!ELEMENT address <span style="color: #66cc66;">&#40;</span>#PCDATA<span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;">&lt;!ELEMENT city <span style="color: #66cc66;">&#40;</span>#PCDATA<span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;">&lt;!ELEMENT state <span style="color: #66cc66;">&#40;</span>#PCDATA<span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;">&lt;!ELEMENT zipcode <span style="color: #66cc66;">&#40;</span>#PCDATA<span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!--Comment describing your root element--&gt;</span>
<span style="color: #009900;">&lt;!ELEMENT employees <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>employee<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></td></tr></table></div>

<p>Creating DTDs are simple.  Above are the elements that are expected for the XML document.  The Employee has children and for each child there is a specification as &#8220;#PCDATA&#8221;.  This tells the parser that the text inside the tag will be parsed.  &#8220;#CDATA&#8221; says the text will not be parsed.<br />
<b>Example: XML Schema</b></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:schema</span> <span style="color: #000066;">xmlns:xs</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2001/XMLSchema&quot;</span> <span style="color: #000066;">elementFormDefault</span>=<span style="color: #ff0000;">&quot;qualified&quot;</span> <span style="color: #000066;">attributeFormDefault</span>=<span style="color: #ff0000;">&quot;unqualified&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:complexType</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;employeeType&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;employee&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;firstname&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;lastname&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;address&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;city&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;state&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;zipcode&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:element<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;firstname&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:string&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;lastname&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:string&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;address&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:string&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;city&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:string&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;state&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:string&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;zipcode&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:string&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;employees&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:annotation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:documentation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Comment describing your root element<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:documentation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:annotation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:complexContent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:extension</span> <span style="color: #000066;">base</span>=<span style="color: #ff0000;">&quot;employeeType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
					<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
						<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;employee&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
					<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:extension<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:complexContent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:element<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:schema<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>As you see, XML Schemas are more complex.  There is a definition for a sequence for elements and as you can see the root element is defined at the end.  Another point to notice is the definition for complex types.  A complex type just enforces constraints on an element.</p>
<p>The last component to XML is XML Stylesheets (XSLT).  If you look at the example below, HTML markup is embedded into the stylesheet.  The &#8220;xsl:for-each&#8221; tag contains an attribute that selects what data will be placed in its postion as the dataset is rendered and styled for the browser.<br />
<b>Example: XML Stylesheet (XSLT)</b></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;iso-8859-1&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:stylesheet</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;2.0&quot;</span> <span style="color: #000066;">xmlns:xsl</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/1999/XSL/Transform&quot;</span> <span style="color: #000066;">xmlns:xs</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2001/XMLSchema&quot;</span> <span style="color: #000066;">xmlns:fn</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2004/10/xpath-functions&quot;</span> <span style="color: #000066;">xmlns:xdt</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2004/10/xpath-datatypes&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:output</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;iso-8859-1&quot;</span> <span style="color: #000066;">indent</span>=<span style="color: #ff0000;">&quot;no&quot;</span> <span style="color: #000066;">omit-xml-declaration</span>=<span style="color: #ff0000;">&quot;yes&quot;</span> <span style="color: #000066;">media-type</span>=<span style="color: #ff0000;">&quot;text/xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:template</span> <span style="color: #000066;">match</span>=<span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Employee Example<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;table</span> <span style="color: #000066;">cellpadding</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">cellspacing</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">border</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;776&quot;</span> <span style="color: #000066;">bgcolor</span>=<span style="color: #ff0000;">&quot;#ffffff&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tr</span> <span style="color: #000066;">valign</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;td<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;margin: 5px 5px 5px 5px;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h3<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Employees<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/h3<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;employees&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;employee&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                        Name: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;firstname&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                        <span style="color: #ddbb00;">&amp;#160;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;lastname&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>Address: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;address&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>City: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;city&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>State: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;state&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>Zip Code: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;zipcode&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/td<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/table<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:template<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:stylesheet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>What is shown above are basic concepts to XML.  These documents can get long and complicated so therefore I would recommend looking for some software to help you manage these documents.  One I would recommend is <a href="http://www.altova.com">Altova</a>.  Though to use it in the long term, purchase is necessary.  Altova does offer a trial period.  Altova was very handy in speeding up project completion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2008/11/27/extensible-markup-language-getting-started/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lincoln .NET Users Group &#8211; Agile Sports</title>
		<link>http://www.ehrendames.com/2008/11/18/agile-sports-using-silverlight-and-net-35-to-build-scalable-applications/</link>
		<comments>http://www.ehrendames.com/2008/11/18/agile-sports-using-silverlight-and-net-35-to-build-scalable-applications/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 02:32:01 +0000</pubDate>
		<dc:creator>Ehren</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[Agile Sports]]></category>
		<category><![CDATA[Lincoln .NET Users Group]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://www.ehrendames.com/?p=49</guid>
		<description><![CDATA[The Lincoln .NET Users Group is a new gathering in Lincoln, Nebraska of .NET developers.  Once a month, the group schedules a meeting, invites speakers on various .NET topics and discusses how they are used to business application.  In October, I was able to attend the Agile Sports presentation on their product called Huddle.
Huddle is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ehrendames.com/wp-content/huddle_logo.jpg"><img class="size-medium wp-image-51 alignright" style="float: right;" title="huddle_logo" src="http://www.ehrendames.com/wp-content/huddle_logo.jpg" alt="Agile Sports Huddle" width="184" height="92" /></a>The Lincoln .NET Users Group is a new gathering in Lincoln, Nebraska of .NET developers.  Once a month, the group schedules a meeting, invites speakers on various .NET topics and discusses how they are used to business application.  In October, I was able to attend the Agile Sports presentation on their product called Huddle.</p>
<p>Huddle is a web application for sports teams to document and analyze games either by their games statistics and game video.  This product increases the interactivity between the coaches and their players.  It is a built from Silverlight, WCF, LINQ from the .NET 3.5 Framework.  The development team also used Prototype and Scriptaculous for AJAX calls.  The interesting aspect of this project was that it was designed around scalability and the presentation descibed how the technologies they chose helped them achieve that goal.</p>
<p>When you look at their overall project in Visual Studio, they are designing their application into a 3-tier architecture such as creating object layers like Business, Core, and Data.  Much of their Data layer is LINQ to SQL.  The interface that contains Silverlight and web application for markup and client side scripts is in a separate project.</p>
<p>Windows Communication Foundation (WCF) is one of the major components that makes this product scalable.  With the use of services, Agile Sports development team utiliized AJAX and Silverlight to process and retrieve their data.  The advantages that WCF gave were higher performance, ease of development, code reuse, and services used as a commodity.</p>
<p>WCF can be deployed in different ways.  At the College of Business, I&#8217;ve deployed WCF under IIS, but an ideal deployment maybe writing your own console that monitors the connection to the service.  This can bypass the use of IIS and alleviate consuming more resources especially if your services are heavily consumed.  WCF can use different protocols besides HTTP.  Some other protocols to choose from are:</p>
<ul>
<li>TCP</li>
<li>Named Pipes</li>
<li>MSMQ (Microsoft Message Queuing)</li>
<li>XML</li>
<li>Optimized Binary (Binary Version of XML)</li>
</ul>
<p>WPF (Windows Presentation Foundation) or for the web, Silverlight, was used to annotate on top of game video.  Annotations could also be made in a timeline of the video so step by step notes could be communicated as the play progressed.</p>
<p>The last major component was LINQ to SQL.  Though there were some down sides discovered for LINQ to SQL, LINQ turned out to be of use to the application.  One of the advantages to LINQ was the ability to query data right in the code.  Queries could also be setup as compiled queries to help improve performance.</p>
<p>Some of the downsides or bugs discovered in LINQ at the moment are:</p>
<ul>
<li>Inserts cannot be executed on tables without primary keys</li>
<li>&#8220;Order By&#8221; is sometimes ignored</li>
<li>Does not handle many to many relationships across tables</li>
<li>Joins on tables cannot occur with more than one parameter</li>
</ul>
<p>When it comes to debugging LINQ, Agile Sports suggested that you utilize SQL Profiler.</p>
<p>Debugging can also be complicated between these different technologies.  You would think that debugging in Visual Studio can be done at the same time.  Though what Agile Sports found that your debugging process is done separately for each JavaScript, Silverlight, and ASP.NET.</p>
<p>The presentation by Agile Sports was very enlightening for those just getting started or in that indermediate stage in working with .NET 3.5.  What Agile Sports shared definitely set the expectations needed for developers to be aware of these technologies how they are benefitual or in their case give them the edge, but also give us the amount of debugging and areas of attention needed to develop an end product.</p>
<p>What was more exciting was to see someone exceed with .NET in taking a business idea and making it into reality.</p>
<p><strong>Related Links:</strong></p>
<ol>
<li><a title="Lincoln .NET Users Group" href="http://www.lincolndev.net">Lincoln .NET Users Group &#8211; http://www.lincolndev.net</a></li>
<li><a title="Agile Sports Tech" href="http://www.agilesportstech.com">Agile Sports Tech &#8211; http://www.agilesportstech.com</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.ehrendames.com/2008/11/18/agile-sports-using-silverlight-and-net-35-to-build-scalable-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
