<?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>timovirtanen.com &#187; Web standards</title>
	<atom:link href="http://www.timovirtanen.com/category/web-standards/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.timovirtanen.com</link>
	<description>FLASH RUNTIME ROCKS!</description>
	<lastBuildDate>Sun, 27 Jun 2010 09:39:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Tiny Blue &#8211; Official cssZenGarden design #203</title>
		<link>http://www.timovirtanen.com/2007/10/25/tiny-blue-official-csszengarden-design-203/</link>
		<comments>http://www.timovirtanen.com/2007/10/25/tiny-blue-official-csszengarden-design-203/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 12:31:59 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=103</guid>
		<description><![CDATA[It&#8217;s been a long time (it has to be over a year) since I sent my second design to Dave at CSS Zen Garden. Today I received the good news about my design. It was bit of a shock since I had already forgotten all about that. Go check it out. The first design (Icicle [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.csszengarden.com/?cssfile=/203/203.css&amp;page=0" target="_blank"><img src="http://www.timovirtanen.com/wp-content/uploads/2007/10/tinyblue.jpg" alt="TinyBlue" /></a>It&#8217;s been a long time (it has to be over a year) since I sent my second design to Dave at <a href="http://www.csszengarden.com/" target="_blank">CSS Zen Garden</a>. Today I received the good news about my design. It was bit of a shock since I had already forgotten all about that. <a href="http://www.csszengarden.com/?cssfile=/203/203.css&amp;page=0" target="_blank">Go check it out</a>.</p>
<p>The first design (Icicle Outback) can be found <a href="http://www.timovirtanen.com/?p=40" target="_blank">here</a>.</p>
<p>Oh, and please excuse me my bad english <img src='http://www.timovirtanen.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2007/10/25/tiny-blue-official-csszengarden-design-203/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SWFObject 1.5</title>
		<link>http://www.timovirtanen.com/2007/10/03/swfobject-15/</link>
		<comments>http://www.timovirtanen.com/2007/10/03/swfobject-15/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 15:44:18 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Flash & Flex]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=63</guid>
		<description><![CDATA[Aikaa on kulunut rutkasti, joten lienee hyvÃ¤ hieman pÃ¤ivittÃ¤Ã¤ SWFObjectin ohjeita. SWFObject on siis Geoff Stearns:n kÃ¤sialaa ja nykyinen versio on 1.5. Geoff kirjoittaa blogissaan, ettÃ¤ ei nÃ¤illÃ¤ nÃ¤kymin enÃ¤Ã¤ jatka SWFObjectin kehittÃ¤mistÃ¤. Sen sijaan SWFFix project pyrkii korvaamaan SWFObjectin embed-standardina. Adobe ei ollut kovin innostunut projektin nimestÃ¤, koska se antaa ymmÃ¤rtÃ¤Ã¤, ettÃ¤ SWF-formaatti on [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.timovirtanen.com/pics/icon_js.gif" class="icon" alt="javascript" title="javascript" />Aikaa on kulunut rutkasti, joten lienee hyvÃ¤ hieman pÃ¤ivittÃ¤Ã¤ <a href="http://blog.deconcept.com/swfobject/" title="SWFObject" target="_blank">SWFObjectin</a> ohjeita. <em>SWFObject</em> on siis <a href="http://blog.deconcept.com/2004/09/19/about-me/" target="_blank" hreflang="en" title="deconsept- Geoff Stearns">Geoff Stearns</a>:n kÃ¤sialaa ja nykyinen versio on 1.5. Geoff kirjoittaa blogissaan, ettÃ¤ ei nÃ¤illÃ¤ nÃ¤kymin enÃ¤Ã¤ jatka SWFObjectin kehittÃ¤mistÃ¤.</p>
<p>Sen sijaan <em><a href="http://www.swffix.org/" target="_blank" rel="external">SWFFix project</a></em> pyrkii korvaamaan SWFObjectin embed-standardina. Adobe ei ollut kovin innostunut projektin nimestÃ¤, koska se antaa ymmÃ¤rtÃ¤Ã¤, ettÃ¤ SWF-formaatti on jotenkin rikki <img src='http://www.timovirtanen.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . No nimihÃ¤n pÃ¤Ã¤tettiin sitten vaihtaa uuteen ja tÃ¤mÃ¤n kuun alusta se ristittiin omaperÃ¤isesti nimellÃ¤ <em>SWFObject</em>.</p>
<p>SWFFix on julkaissut SWFObjectista uuden version <a href="http://code.google.com/p/swfobject/" target="_blank">2.0 <del datetime="2008-03-19T18:22:05+00:00">beta 1</del></a> ja sen voi <a href="http://code.google.com/p/swfobject/downloads/list" target="_blank">ladata tÃ¤Ã¤ltÃ¤</a>.</p>
<ul>
<li> <a href="http://www.timovirtanen.com/?p=3"> Laajemmat ohjeet (suomeksi)</a></li>
</ul>
<h2>Express Install</h2>
<p><span id="more-63"></span></p>
<p>SWFObject sisÃ¤ltÃ¤Ã¤ tÃ¤yden tuen Adoben Flash Player <em>Express Install</em>- ominaisuudelle. TÃ¤mÃ¤ tarkoittaa kÃ¤ytÃ¤nnÃ¶ssÃ¤ sitÃ¤, ettÃ¤ sivulla kÃ¤vijÃ¤n ei tarvitse poistua sivulta voidakseen pÃ¤ivittÃ¤Ã¤ Flash Playerin.</p>
<p>KÃ¤yttÃ¤Ã¤ksesi Express Install-ominaisuutta, sinun tulee ladata  <em>expressinstall.swf </em>(tiedosto mukana .zipissÃ¤) palvelimellesi ja kÃ¤yttÃ¤Ã¤ <code>useExpressInstall</code>-metodia mÃ¤Ã¤rittÃ¤Ã¤ksesi oikean tiedostopolun. Jos polkua ei mÃ¤Ã¤ritellÃ¤, SWFObject etsii tiedostoa samasta kansiosta, jossa itse HTML-tiedosto sijaitsee.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">var</span> so <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> SWFObject<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;movie.swf&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;mymovie&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;200&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;100&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;8&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#336699&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
so.<span style="color: #660066;">useExpressInstall</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'expressinstall.swf'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
so.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;flashcontent&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Jos haluat testata ExpressInstall:n toimintaa, asenna koneellesi FP7 (tai 6.0.65) ja <a href="http://blog.deconcept.com/swfobject/expressinstall.html" target="_blank">vieraile tÃ¤Ã¤llÃ¤</a>.</p>
<p>Jos haluat muokata Express Installin toimintaa, lÃ¤hdekoodi (FLA) on sisÃ¤llytetty mukaan pakettiin.<br />
Jos Flash esityksesi aukeaa popupiin, tai haluat ohjata kÃ¤yttÃ¤jÃ¤n eri osoitteeseen Express Install- pÃ¤ivityksen jÃ¤lkeen, voit kÃ¤yttÃ¤Ã¤ <code>xiRedirectUrl</code> attribuuttia.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">var</span> so <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> SWFObject<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;movie.swf&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;mymovie&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;200&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;100&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;8&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#336699&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
so.<span style="color: #660066;">useExpressInstall</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'expressinstall.swf'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
so.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'xiRedirectUrl'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'http://www.example.com/upgradefinished.html'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// must be the absolute URL to your site</span>
so.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;flashcontent&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2007/10/03/swfobject-15/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Icicle Outback &#8211; Official cssZenGarden design #200</title>
		<link>http://www.timovirtanen.com/2006/12/07/icicle-outback-official-csszengarden-design-200/</link>
		<comments>http://www.timovirtanen.com/2006/12/07/icicle-outback-official-csszengarden-design-200/#comments</comments>
		<pubDate>Thu, 07 Dec 2006 07:39:26 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=40</guid>
		<description><![CDATA[Hi there. It&#8217;s been a while since I wrote here. But now it is definitely a good day to start again. I received this email from Dave yesterday: Hi, First off, thank you so much for your patience in waiting for a Zen Garden update. The past year has been such that other priorities have [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.timovirtanen.com/images/iob.jpg" alt="Icicle Outback" title="Icicle Outback" /></p>
<p>Hi there. It&#8217;s been a while since I wrote here. But now it is definitely a good day to start again. I received this email from Dave yesterday:</p>
<blockquote><p>Hi, </p>
<p>First off, thank you so much for your patience in waiting for a Zen Garden update. The past year has been such that other priorities have kept me away from any major updates. It&#8217;s just life, but I feel rather bad about making you wait this long for an answer. Sorry about all that. </p>
<p>Thanks for your submission to the css Zen Garden. I&#8217;m happy to inform you that &#8220;Icicle Outback&#8221; has been added as an official design.</p>
<p>Please be sure to take a look and make sure everything got published as you&#8217;d expect; if not, reply to this email with an explanation and any missing/supplementary files, and we&#8217;ll fix &#8216;er up.</p>
<p>Thanks for your great work, and feel free to submit again any time!</p>
<p>- Dave</p></blockquote>
<p><span id="more-40"></span></p>
<p>Boy is this an honor. Thanks Dave.<br />
You can find the design here: <a target="_blank" hreflang="en" href="http://www.csszengarden.com/?cssfile=/200/200.css&#038;page=0" title="cssZenGarden- Icicle Outback">#200 &#8211; Icicle Outback</a></p>
<p><a target="_blank" hreflang="en" href="http://www.timovirtanen.com/?p=40#comments" title="Add comment">Add comments here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2006/12/07/icicle-outback-official-csszengarden-design-200/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Web Standards Quiz</title>
		<link>http://www.timovirtanen.com/2006/01/16/web-standards-quiz/</link>
		<comments>http://www.timovirtanen.com/2006/01/16/web-standards-quiz/#comments</comments>
		<pubDate>Mon, 16 Jan 2006 20:05:02 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=24</guid>
		<description><![CDATA[Vastaa kahteenkymmeneen (20) monivalinta kysymykseen, jotka koskevat jollakin tavalla web standardeja. Toistaiseksi kannasta lÃ¶ytyy vain 30 kysymystÃ¤. PisteitÃ¤ saa luonnollisesti oikeista vastauksista, mutta myÃ¶s vastausnopeus vaikuttaa lopulliseen tulokseen. Mukana on muutamia hankalempiakin kysymyksiÃ¤, mutta osaavalle designerille ei suurta onglemaa pitÃ¤isi syntyÃ¤. Oma tulokseni on 17/20 ja 647 pistettÃ¤. Ja sitten visailemaan. Web Standards Quiz [en]]]></description>
			<content:encoded><![CDATA[<p><img class="icon" src="http://www.timovirtanen.com/pics/icon_standards.gif" alt="Web standards" title="Web standards" />Vastaa kahteenkymmeneen (20) monivalinta kysymykseen, jotka koskevat jollakin tavalla web standardeja. Toistaiseksi kannasta lÃ¶ytyy vain 30 kysymystÃ¤. PisteitÃ¤ saa luonnollisesti oikeista vastauksista, mutta myÃ¶s vastausnopeus vaikuttaa lopulliseen tulokseen.</p>
<p>Mukana on muutamia hankalempiakin kysymyksiÃ¤, mutta osaavalle designerille ei suurta onglemaa pitÃ¤isi syntyÃ¤. Oma tulokseni on 17/20 ja 647 pistettÃ¤. Ja sitten visailemaan.</p>
<p><a target="_blank" hreflang="en" href="http://www.khmerang.com/webstandardsquiz/default.aspx" title="Web Standards Quiz - Test Your Knowledge of CSS, XHTML, AJAX...">Web Standards Quiz [en]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2006/01/16/web-standards-quiz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed positioning  (+MSIE6)</title>
		<link>http://www.timovirtanen.com/2005/12/08/fixed-positioning-msie6/</link>
		<comments>http://www.timovirtanen.com/2005/12/08/fixed-positioning-msie6/#comments</comments>
		<pubDate>Thu, 08 Dec 2005 17:35:41 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=17</guid>
		<description><![CDATA[Aivan. Otsikossa mainittu yhtÃ¤lÃ¶ ei tuota positiivista tulosta. Itsekin taistelin taannoin tÃ¤mÃ¤n ongelman kanssa. Eli, jos suunnittelet naulitsevasi elementin sivulle kÃ¤yttÃ¤en fixed:Ã¤, tarvitset avuksi jotain kÃ¤ttÃ¤ pidempÃ¤Ã¤. TÃ¤ssÃ¤ tapauksessa &#8220;kÃ¤ttÃ¤ pidempÃ¤Ã¤&#8221; tarjoaa Andrew Clover (doxdesk [en]). Tarvittavan javascriptin voit ladata doxdeskin sivulta: fixed.js position:fixed toimii seuraavissa: Mozilla, Opera 5+, Explorer 5 on Mac, Konqueror Lataat [...]]]></description>
			<content:encoded><![CDATA[<p><img class="icon" src="http://www.timovirtanen.com/pics/icon_css.gif" alt="CSS" title="CSS" />Aivan. Otsikossa mainittu yhtÃ¤lÃ¶ ei tuota positiivista tulosta. Itsekin taistelin taannoin tÃ¤mÃ¤n ongelman kanssa.</p>
<p>Eli, jos suunnittelet naulitsevasi elementin sivulle kÃ¤yttÃ¤en <em>fixed</em>:Ã¤, tarvitset avuksi jotain kÃ¤ttÃ¤ pidempÃ¤Ã¤. TÃ¤ssÃ¤ tapauksessa &#8220;<em>kÃ¤ttÃ¤ pidempÃ¤Ã¤</em>&#8221; tarjoaa Andrew Clover (<a target="_blank" hreflang="en" href="http://www.doxdesk.com/" title="doxdesk.com">doxdesk</a> [en]).</p>
<p>Tarvittavan javascriptin voit ladata doxdeskin sivulta:</p>
<p><!--extimg--> <a target="_blank" href="http://www.doxdesk.com/software/js/fixed.html" title="Lataa skripti doxdeskin sivulta">fixed.js</a></p>
<div class="huom"><strong>position:fixed</strong> toimii seuraavissa: Mozilla, Opera 5+, Explorer 5 on Mac, Konqueror</div>
<p>Lataat vain skriptin palvelimelle ja lisÃ¤Ã¤t linkin sivulle.</p>
<p><span id="more-17"></span></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;fixed.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2005/12/08/fixed-positioning-msie6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS- menu</title>
		<link>http://www.timovirtanen.com/2005/12/08/css-menu/</link>
		<comments>http://www.timovirtanen.com/2005/12/08/css-menu/#comments</comments>
		<pubDate>Thu, 08 Dec 2005 15:31:09 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=16</guid>
		<description><![CDATA[Valmis CSS-menu NÃ¤yttÃ¤vÃ¤n menun, tekemiseen hover-efekteineen, ei tarvita vÃ¤lttÃ¤mÃ¤ttÃ¤ ollenkaan javaScriptiÃ¤. Molemmissa on hyvÃ¤t ja huonot puolensa, mutta molempia yhdistÃ¤Ã¤ ainakin se, ettÃ¤ kumman tahansa voi tehdÃ¤ hyvin tai huonosti. Ja luonnollisesti huono toteutus onnistuu meiltÃ¤ kaikilta kÃ¤den kÃ¤Ã¤nteessÃ¤. HyvÃ¤Ã¤n lopputulokseen pÃ¤Ã¤seminen ei toki ole vaikeaa. Se vain vaatii hieman enemmÃ¤n asiaan paneutumista ja ehkÃ¤ [...]]]></description>
			<content:encoded><![CDATA[<p><img class="icon" src="http://www.timovirtanen.com/pics/icon_css.gif" alt="CSS" title="CSS" /><!--mgimg--> <a target="_blank" href="http://www.timovirtanen.com/tutofiles/cssmenu/index.html" title="CSS-menu">Valmis CSS-menu</a></p>
<p>NÃ¤yttÃ¤vÃ¤n menun, tekemiseen hover-efekteineen, ei tarvita vÃ¤lttÃ¤mÃ¤ttÃ¤ ollenkaan javaScriptiÃ¤.  Molemmissa on hyvÃ¤t ja huonot puolensa, mutta molempia yhdistÃ¤Ã¤ ainakin se, ettÃ¤ kumman tahansa voi tehdÃ¤ hyvin tai huonosti. Ja luonnollisesti huono toteutus onnistuu meiltÃ¤ kaikilta kÃ¤den kÃ¤Ã¤nteessÃ¤. HyvÃ¤Ã¤n lopputulokseen pÃ¤Ã¤seminen ei toki ole vaikeaa. Se vain vaatii hieman enemmÃ¤n asiaan paneutumista ja ehkÃ¤ jonkin verran suunnittelua. Toisaalta, kun ajattelu ja suunnittelu on kerran tehty ja omaksuttu, ei tulevaisuudessa tarvitse enÃ¤Ã¤ keksiÃ¤ pyÃ¶rÃ¤Ã¤ uudelleen. Vanhaa CSS:n ja menun XHTML:n voi helposti liittÃ¤Ã¤ suoraan uusiin projekteihin ja muokata sitÃ¤ tarpeen mukaan.<br />
<span id="more-16"></span><br />
En kÃ¤y tÃ¤ssÃ¤ esimerkissÃ¤ lÃ¤pi pudotusvalikoita, vaan tarkoitus on lÃ¤hinnÃ¤ nÃ¤yttÃ¤Ã¤ miten yksinkertaisen CSS-menun rakentaminen kÃ¤y.</p>
<p>SisÃ¤ltÃ¶</p>
<ul>
<li><a href="#valmistelut">Valmistelut</a></li>
<li><a href="#xhtml">XHTML</a></li>
<li><a href="#css">CSS</a></li>
<li><a href="#lopuksi">Lopuksi</a></li>
</ul>
<h3><a name="valmistelut"></a>Valmistelut</h3>
<p>Aloitetaan siis luomalla menun grafiikat. KÃ¤ytÃ¤n menussani seuraavanlaisia:</p>
<p>button_normal.gif (w=200px, h=40px)<br />
<img src="http://www.timovirtanen.com/tutofiles/cssmenu/button_normal.gif" alt="Painikken grafiikka (normaali)" title="Painikken grafiikka (normaali)" /></p>
<p>button_hover.gif (w=200px, h=40px)<br />
<img src="http://www.timovirtanen.com/tutofiles/cssmenu/button_hover.gif" alt="Painikken grafiikka (hover)" title="Painikken grafiikka (hover)" /></p>
<h3><a name="xhtml"></a>XHTML</h3>
<p>HTML-sivulle kirjoitetaan seuraava:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>ul id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;menu&quot;</span><span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript:;&quot;</span><span style="color: #339933;">&gt;</span>Main <span style="color: #CC0000;">1</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript:;&quot;</span><span style="color: #339933;">&gt;</span>Main <span style="color: #CC0000;">2</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript:;&quot;</span><span style="color: #339933;">&gt;</span>Main <span style="color: #CC0000;">3</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>ul<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Listan muotoon rakennettu menu on hyvÃ¤ ratkaisu sen rakenteen takia. SitÃ¤ on helppo pÃ¤ivittÃ¤Ã¤, koska valikon hierarkia on selkeÃ¤sti hahmotettavissa. Ratkaisu on hyvÃ¤ myÃ¶s saavutettavuuden kannalta, koska myÃ¶s ruudunlukija (<a target="_blank" href="http://en.wikipedia.org/wiki/Screen_reader" title="Screen reader - Wikipedia">Screen reader [en]</a>) osaa kertoa kÃ¤yttÃ¤jÃ¤lleen menussa olevien elementtien (linkkien) suhteet.</p>
<h3><a name="css"></a>CSS</h3>
<p>Menu ei nÃ¤ytÃ¤ kovin kummoiselta ilman CSS-muotoilua (<a target="_blank" href="http://www.timovirtanen.com/tutofiles/cssmenu/nocss.html" title="Menu ilman CSS-muotoilua">menu ilman muotoilua</a>), joten katsotaan seuraavaksi mitÃ¤ asialle voidaan tehdÃ¤.</p>
<p>Aloitetaan mÃ¤Ã¤rittelemÃ¤llÃ¤ itse menun tyylit (fonttiperhe, koko ja tyyli):</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">ul#menu<span style="color: #009900;">&#123;</span>
   display<span style="color: #339933;">:</span>block<span style="color: #339933;">;</span>
   font<span style="color: #339933;">-</span>family<span style="color: #339933;">:</span>Arial<span style="color: #339933;">,</span> Helvetica<span style="color: #339933;">,</span> sans<span style="color: #339933;">-</span>serif<span style="color: #339933;">;</span>
   font<span style="color: #339933;">-</span>size<span style="color: #339933;">:</span>1.1em<span style="color: #339933;">;</span>
   font<span style="color: #339933;">-</span>style<span style="color: #339933;">:</span>normal<span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Oletuksena selaimet lisÃ¤Ã¤vÃ¤t listaelementtien alkuun mustan pallon. TÃ¤mÃ¤ on poistettava.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">ul#menu li<span style="color: #009900;">&#123;</span>
   list<span style="color: #339933;">-</span>style<span style="color: #339933;">:</span>none<span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Seuraavaksi muotoillaan itse linkit.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">ul#menu li a<span style="color: #009900;">&#123;</span>
   display<span style="color: #339933;">:</span>block<span style="color: #339933;">;</span>
   background<span style="color: #339933;">:</span>#6FB200 url<span style="color: #009900;">&#40;</span>button_normal.<span style="color: #660066;">gif</span><span style="color: #009900;">&#41;</span> no<span style="color: #339933;">-</span>repeat top left<span style="color: #339933;">;</span>
   padding<span style="color: #339933;">:</span>10px <span style="color: #CC0000;">0</span> <span style="color: #CC0000;">0</span> 10px<span style="color: #339933;">;</span>
   text<span style="color: #339933;">-</span>decoration<span style="color: #339933;">:</span>none<span style="color: #339933;">;</span>
   width<span style="color: #339933;">:</span>190px<span style="color: #339933;">;</span>
   height<span style="color: #339933;">:</span>30px<span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Anchor- tagi &lt;a&gt; on mÃ¤Ã¤riteltÃ¤vÃ¤ block level- elementiksti, jotta sille voidaan mÃ¤Ã¤rittÃ¤Ã¤ taustakuva, padding, korkeus ja leveys. Muutoin edellÃ¤ mainituilla ominaisuuksilla olisi vaikutusta.</p>
<div class="huom"><strong>HUOM!</strong> Kun mÃ¤Ã¤ritÃ¤t elementille tÃ¤ytteen (padding), se lasketaan mukaan elementin korkeuteen  ja/tai leveyteen. TÃ¤stÃ¤ syystÃ¤ olen mÃ¤Ã¤rittÃ¤nyt elmentin korkeudeksi 30px ja leveydeksi 190px.</div>
<p>Lopuksi mÃ¤Ã¤riteellÃ¤n vielÃ¤ menun interaktiivinen osuus.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">ul#menu li a<span style="color: #339933;">:</span>link<span style="color: #339933;">,</span> ul#menu li a<span style="color: #339933;">:</span>visited<span style="color: #009900;">&#123;</span>
   color<span style="color: #339933;">:</span>#<span style="color: #CC0000;">165800</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
ul#menu li a<span style="color: #339933;">:</span>hover<span style="color: #339933;">,</span> ul#menu li a<span style="color: #339933;">:</span>active<span style="color: #009900;">&#123;</span>
   background<span style="color: #339933;">:</span>#6FB200 url<span style="color: #009900;">&#40;</span>button_hover.<span style="color: #660066;">gif</span><span style="color: #009900;">&#41;</span> no<span style="color: #339933;">-</span>repeat top left<span style="color: #339933;">;</span>
   color<span style="color: #339933;">:</span>#fff<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ensin siis mÃ¤Ã¤ritellÃ¤Ã¤n linkin &#8220;normaalin&#8221; ja &#8220;kÃ¤ytetyn&#8221; tekstin linkin vÃ¤ri ja sen jÃ¤lkeen linkin hover sekÃ¤ aktiivinen tila.</p>
<h3><a name="lopuksi"></a>Lopuksi</h3>
<p>Saata miettiÃ¤, ettÃ¤ menusta ei ole paljon hyÃ¶tyÃ¤, koska sivustosi vaati vaakatasossa olevan menun. <em>Not to worry</em>&#8230; menusta saadaan kÃ¤den kÃ¤Ã¤nteessÃ¤ tehtyÃ¤ vaakaversio. LisÃ¤tÃ¤Ã¤n vain linkin mÃ¤Ã¤rittelyyn float-ominaisuus:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">float<span style="color: #339933;">:</span>left<span style="color: #339933;">;</span></pre></div></div>

<p>Selkeyden vuoksi lisÃ¤sin vielÃ¤ tummat reunat linkkiboxien vasempaan reunaan. NÃ¤in linkit on helpompi erottaa toisistaan.</p>
<p><!--mgimg--> <a target="_blank" href="http://www.timovirtanen.com/tutofiles/cssmenu/index2.html" title="Vaakamenu">CSS- muotoiltu vaakamenu</a></p>
<p><!--mgimg--> <a target="_blank" href="http://www.timovirtanen.com/tutofiles/cssmenu/button.css" title="CSS">Pystymenun CSS</a> <!--e--><!--e-->|<!--e--><!--e--> <!--mgimg--> <a target="_blank" href="http://www.timovirtanen.com/tutofiles/cssmenu/button2.css" title="CSS">Vaakamenun CSS</a></p>
<p>Kuten huomaat, CSS:n avulla sivun elementtien muotoilu kÃ¤y todella helposti. Muutos tehdÃ¤Ã¤n CSS-tiedostoon ja muutos pÃ¤ivittyy koko sivustolle. Helppoa ja yksinkertaista.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2005/12/08/css-menu/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Elementin keskitys CSS:llÃ¤</title>
		<link>http://www.timovirtanen.com/2005/12/08/elementin-keskitys-csslla/</link>
		<comments>http://www.timovirtanen.com/2005/12/08/elementin-keskitys-csslla/#comments</comments>
		<pubDate>Thu, 08 Dec 2005 10:31:33 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=15</guid>
		<description><![CDATA[Moni taulukkotaitosta CSS:Ã¤Ã¤n siirtyvÃ¤ on pulassa divien sijoittamisen kanssa. Yksi yleisimmistÃ¤ pulmista CSS-taitossa on leiskan/elementin keskitys. Muutamia tapoja lÃ¶ytyy asian ratkaisemiseksi, kuten negatiivinen marginaali. KÃ¤ytÃ¤n sitÃ¤ itse tÃ¶issÃ¤ni, joten esittelen sen tÃ¤ssÃ¤. Ja vielÃ¤ vÃ¤Ã¤rinkÃ¤sitysten vÃ¤lttÃ¤miseksi on syytÃ¤ mainita, ettÃ¤ kyse ei ole millÃ¤Ã¤n muotoa omasta innovaatiosta, vaan &#8220;tekniikka&#8221; on jo kauan sitten esitelty ainakin [...]]]></description>
			<content:encoded><![CDATA[<p><img class="icon" src="http://www.timovirtanen.com/pics/icon_css.gif" alt="CSS" title="CSS" />Moni taulukkotaitosta CSS:Ã¤Ã¤n siirtyvÃ¤ on pulassa divien sijoittamisen kanssa. Yksi yleisimmistÃ¤ pulmista CSS-taitossa on leiskan/elementin keskitys. Muutamia tapoja lÃ¶ytyy asian ratkaisemiseksi, kuten negatiivinen marginaali. KÃ¤ytÃ¤n sitÃ¤ itse tÃ¶issÃ¤ni, joten esittelen sen tÃ¤ssÃ¤. Ja vielÃ¤ vÃ¤Ã¤rinkÃ¤sitysten vÃ¤lttÃ¤miseksi on syytÃ¤ mainita, ettÃ¤ kyse ei ole millÃ¤Ã¤n muotoa omasta innovaatiosta, vaan &#8220;tekniikka&#8221; on jo kauan sitten esitelty ainakin <a target="_blank" href="http://bluerobot.com/web/css/center2.html" title="CSS centering: Negative margin">Bluerobotin</a> sivuilla.<br />
<span id="more-15"></span><br />
Eli homma toimii nÃ¤in. Elementin vasen reuna keskiteÃ¤Ã¤n sivulle.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">position<span style="color: #339933;">:</span>absolute<span style="color: #339933;">;</span>
left<span style="color: #339933;">:</span><span style="color: #CC0000;">50</span><span style="color: #339933;">%;</span></pre></div></div>

<p>Sen jÃ¤lkeen asetetaan elementille negatiivinen vasen marginaali, joka on puolet elementin leveydestÃ¤ (oletetaan, ettÃ¤ leveys on 400px).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">margin<span style="color: #339933;">-</span>left<span style="color: #339933;">:-</span>200px<span style="color: #339933;">;</span></pre></div></div>

<p>Eli lopputulos voisi nÃ¤yttÃ¤Ã¤ tÃ¤ltÃ¤:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">#element<span style="color: #009900;">&#123;</span>
	position<span style="color: #339933;">:</span>absolute<span style="color: #339933;">;</span>
	left<span style="color: #339933;">:</span><span style="color: #CC0000;">50</span><span style="color: #339933;">%;</span>
	width<span style="color: #339933;">:</span>400px<span style="color: #339933;">;</span>
	margin<span style="color: #339933;">-</span>left<span style="color: #339933;">:-</span>200px<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2005/12/08/elementin-keskitys-csslla/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>XML:n rakenne ja kielioppi</title>
		<link>http://www.timovirtanen.com/2005/12/05/xmln-kielioppi/</link>
		<comments>http://www.timovirtanen.com/2005/12/05/xmln-kielioppi/#comments</comments>
		<pubDate>Mon, 05 Dec 2005 13:21:04 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=5</guid>
		<description><![CDATA[Jos (x)HTML on sinulle entuudestaan tuttua, XML:n opettelu ei varmasti tuota hankaluuksia. Jos XML on kuitenkin tÃ¤ysin uusi kÃ¤site, aloita lukemalla tÃ¤mÃ¤ artikkeli (XML). Ennen kuin tutustumme tarkemmin itse syntaksiin, on hyvÃ¤ tuntea XML:n perusteet, sen rooli ja miten XML:Ã¤Ã¤ kÃ¤ytetÃ¤Ã¤n informaation varastointiin ja vÃ¤litykseen. XML- terminologian ymmÃ¤rtÃ¤minen on tÃ¤rkeÃ¤Ã¤, mutta vÃ¤hintÃ¤Ã¤n yhtÃ¤ tÃ¤rkeÃ¤Ã¤ on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="icon" src="http://www.timovirtanen.com/pics/icon_xml.gif" alt="javascript" title="javascript" />Jos (x)HTML on sinulle entuudestaan tuttua, XML:n opettelu ei varmasti tuota hankaluuksia. Jos XML on kuitenkin tÃ¤ysin uusi kÃ¤site, aloita lukemalla <a href="http://www.timovirtanen.com/?p=4" title="XML (eXtensible Markup Language)">tÃ¤mÃ¤ artikkeli (XML)</a>.</p>
<p>Ennen kuin tutustumme tarkemmin itse syntaksiin, on hyvÃ¤ tuntea XML:n perusteet, sen rooli ja miten XML:Ã¤Ã¤ kÃ¤ytetÃ¤Ã¤n informaation varastointiin ja vÃ¤litykseen.</p>
<p>XML- terminologian ymmÃ¤rtÃ¤minen on tÃ¤rkeÃ¤Ã¤, mutta vÃ¤hintÃ¤Ã¤n yhtÃ¤ tÃ¤rkeÃ¤Ã¤ on rakenteen huolellinen koostaminen. XML &#8220;yhdistÃ¤Ã¤&#8221; dataa ja jÃ¤rjestelee sen hierarkiseksi kokonaisuudeksi, joten hierarkisesta ajattelutavasta on apua.<br />
<span id="more-5"></span><br />
SisÃ¤ltÃ¶</p>
<ul>
<li><a href="#perusteet">Perusteet</a></li>
<li><a href="#maaritelma">MÃ¤Ã¤rittely (XML declaration)</a></li>
<li><a href="#elementit">Elementit</a></li>
<li><a href="#juurielementti">Juurielementti (root element)</a></li>
<li><a href="#alielementit">Alielementit (subelements)</a></li>
<li><a href="#hierarkia">Hierarkia</a></li>
<li><a href="#tyhjat">TyhjÃ¤t elementit</a></li>
<li><a href="#attribuutit">Attribuutit</a></li>
<li><a href="#CDATA">CDATA</a></li>
<li><a href="#kommentointi">Kommentointi</a></li>
<li><a href="#whitespace">Whitespace</a></li>
</ul>
<h3><a name="perusteet"></a>Perusteet</h3>
<p>Eli miten XML oikeastaan toimii? XML on siis tarkoitettu tiedon varastointiin. Se voi olla staattinen dokumentti, jonka luot kotikoneellasi ja siirrÃ¤ siiten palvelimelle tai se voidaan luoda dynaamisesti serveripuolella kÃ¤yttÃ¤jÃ¤n &#8220;pyyntÃ¶ihin&#8221; perustuen. Aivan kuten (x)HTML, myÃ¶s XML kÃ¤yttÃ¤Ã¤ tageja. Ero nÃ¤iden merkinÃ¤tkielien vÃ¤lille syntyy kuitenkin siitÃ¤, ettÃ¤ HTML:ssÃ¤ kÃ¤ytetÃ¤Ã¤n ennaltamÃ¤Ã¤riteltyjÃ¤ tageja. XML antaa sinulle vapauden luoda tÃ¤ysin oman merkintÃ¤kielen ja juuri tÃ¤mÃ¤ ominaisuus tekee XML:stÃ¤ laajennettavan (extensible). Puhutaan myÃ¶s <em>metakielestÃ¤</em>, koska XML ei vain varastoi tietoa, vaan se myÃ¶s kuvaa sitÃ¤. Laatija on tietysti itse vastuussa tagien nimeÃ¤misestÃ¤ ja hierarkian laatimisesta, joten monessa kohtaa voi mennÃ¤ vikaan. &#8220;Huono&#8221; nimeÃ¤minen ei tarkoita sitÃ¤ ettÃ¤ XML-dokumentti olisi kÃ¤yttÃ¶kelvoton, nÃ¤in vain yksinkertaisesti menetetÃ¤Ã¤n yksi XML:n hienoimmista ominaisuuksista. Seuraavassa esimerkki hyvÃ¤stÃ¤ ja huonosta nimeÃ¤misestÃ¤.</p>
<p>huono:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>elementti_0<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>elementti_1<span style="color: #339933;">&gt;</span>Guns and Roses<span style="color: #339933;">&lt;/</span>elementti_1<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>elementti_2<span style="color: #339933;">&gt;</span>Lies<span style="color: #339933;">&lt;/</span>elementti_2<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>elementti_0<span style="color: #339933;">&gt;</span></pre></div></div>

<p>hyvÃ¤:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>cd <span style="color: #339933;">-</span>kokoelma<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>esittaja<span style="color: #339933;">&gt;</span>Guns and Roses<span style="color: #339933;">&lt;/</span>esittaja<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>albumi<span style="color: #339933;">&gt;</span>Lies<span style="color: #339933;">&lt;/</span>albumi<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>cd<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Mukautettujen tagien tarkoitus on siis kuvat nimenomaista datarakennetta. Jokaista tagiparia kutsutaan <em>elementiksi</em>.</p>
<h3><a name="maaritelma"></a>MÃ¤Ã¤rittely (XML declaration)</h3>
<p>Ennenkuin tietoa jÃ¤rjestelemÃ¤Ã¤n XML-dokumenttiin, se pitÃ¤Ã¤ mÃ¤Ã¤ritellÃ¤ XML-dokumentiksi. Jos tyÃ¶stÃ¤t XML-dokumenttia Flashia varten, tÃ¤mÃ¤ vaihe ei ole vÃ¤lttÃ¤mÃ¤tÃ¶n. Dokumentin mÃ¤Ã¤rittelu on kuitenkin hyvÃ¤ ottaa tavaksi, koska se on helppoa ja toisaalta usein (muut sovellukset) se on vÃ¤lttÃ¤mÃ¤tÃ¶ntÃ¤.</p>
<p>XML Declaration</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">?</span>xml version<span style="color: #339933;">=</span><span style="color: #3366CC;">'1.0'</span> encoding<span style="color: #339933;">=</span><span style="color: #3366CC;">'UTF-8'</span><span style="color: #339933;">?&gt;</span></pre></div></div>

<p>YllÃ¤oleva siis mÃ¤Ã¤rittelee dokumentin XML versio 1.0:ksi (perustuu <a target="_blank" href="http://www.w3c.org" title="W3C - World Wide Web Consortium">W3C</a>:n spesifikaatioon) ja kÃ¤ytetyn merkistÃ¶n enkoodauksen.</p>
<h3><a name="elementit"></a>Elementit</h3>
<p>Elementit sisÃ¤ltÃ¤vÃ¤t XML-dokumentissa olevan datan. Ne kuvaavat sekÃ¤ sisÃ¤ltÃ¶Ã¤, ettÃ¤ rakennetta, toisin kuten HTML:ssÃ¤ kÃ¤ytetyt tagit, jotka vain kertovat selaimelle, miten elementin sisÃ¤ltÃ¤mÃ¤ data tulisi esittÃ¤Ã¤ visuaalisesti.</p>
<p>Jokainen XML-dokumentti sisÃ¤ltÃ¤Ã¤ vÃ¤hintÃ¤Ã¤n yhden elementin, jota kutsutaa juurielementiksi (<em>root element</em>), sekÃ¤ vaihtelevan lukumÃ¤Ã¤rÃ¤n mahdollisia alaelementtejÃ¤ (<em>subelement</em>). Kaikki tieto sijoitetaan elementteihin. Elementtien kÃ¤ytÃ¶Ã¶n ja nimeÃ¤miseen liittyy useita sÃ¤Ã¤ntÃ¶jÃ¤:</p>
<ul>
<li>Kaikki elementit tulee sulkea</li>
<li>Elementin nimi tulee aloittaa jollakin aakkosella. EnsimmÃ¤isen kirjaimen jÃ¤lkeen voidaan kÃ¤yttÃ¤Ã¤ mitÃ¤tahansa yhdistelmÃ¤Ã¤ muodostamalla merkkijono alfanumeerisia merkkejÃ¤, vÃ¤li- ja alaviivoja sekÃ¤ kaksoispisteitÃ¤ kÃ¤yttÃ¤mÃ¤llÃ¤. VÃ¤lilyÃ¶nnin kÃ¤yttÃ¤minen elementin nimessÃ¤ on kiellettyÃ¤.</li>
<li>Jos haluat muodostaa elementin nimen useammasta kuin yhdestÃ¤ sanasta, tulee vÃ¤lilyÃ¶nnit korvata esimerkiksi vÃ¤liviivalla tai alaviivalla.</li>
<li>XML tekee eron isojen ja pienien kirjainten vÃ¤lillÃ¤ (case-sensitive)</li>
<li>Elementtien nimeÃ¤misessÃ¤ kannattaa olla johdonmukainen. Jotta dokumentin lukeminen ja yllÃ¤pitÃ¤minen olisi tulevaisuudessa vaivatonta, tagit tulisi nimetÃ¤ mahdollisimman hyvin sisÃ¤ltÃ¶Ã¤ kuvaaviksi</li>
<li>Vaikka aiemmin mainitsin, ettÃ¤ elementin nimen voi aloittaa millÃ¤ tahansa kirjaimella, huomaa, ettÃ¤ et voi nimetÃ¤ elementtiÃ¤ aloittamalla merkkijonolla &#8220;<em>xml</em>&#8221; . SÃ¤Ã¤ntÃ¶ koskee kaikkia kirjainten &#8220;x&#8221;, &#8220;m&#8221; ja &#8220;l&#8221; eri yhdistelmiÃ¤. TÃ¤mÃ¤ siksi, ettÃ¤ W3C on varannut edellÃ¤mainitut kirjaimet tulevaisuuden laajennuksia varten</li>
</ul>
<h3><a name="juurielementti"></a>Juurielementti (root element)</h3>
<p>Jokainen XML-dokumentti vaatii juurielementin. TÃ¤mÃ¤ elementti sisÃ¤ltÃ¤Ã¤ koko dokumentin, aivan kuten HTML:ssÃ¤ &lt;html&gt;- tagi.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">?</span>xml version<span style="color: #339933;">=</span><span style="color: #3366CC;">'1.0'</span> encoding<span style="color: #339933;">=</span><span style="color: #3366CC;">'UTF-8'</span><span style="color: #339933;">?&gt;</span>
<span style="color: #339933;">&lt;</span>cd <span style="color: #339933;">-</span>kokoelma<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>cd<span style="color: #339933;">&gt;</span></pre></div></div>

<p>TÃ¤ssÃ¤ siis ensimmÃ¤inen hÃ¤ivÃ¤hdys mainitsemastani laajennettavuudesta. Voit nimetÃ¤ juurielementin haluamallasi tavalla sen sijaan, ettÃ¤ kÃ¤yttÃ¤isit HTML:stÃ¤ tuttua &lt;html&gt;- tagia. Elementti kannattaa tietysti nimetÃ¤ niin, ettÃ¤ se kuvaa mahdollisimman hyvin koko sisÃ¤ltÃ¤mÃ¤Ã¤nsÃ¤ datastruktuuria.</p>
<h3><a name="alielementit"></a>Alielementit (subelements)</h3>
<p>Kun juurielementti on luotu voidaan luodan alielementtejÃ¤.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">?</span>xml version<span style="color: #339933;">=</span><span style="color: #3366CC;">'1.0'</span> encoding<span style="color: #339933;">=</span><span style="color: #3366CC;">'UTF-8'</span><span style="color: #339933;">?&gt;</span>
<span style="color: #339933;">&lt;</span>cd <span style="color: #339933;">-</span>kokoelma<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>genre<span style="color: #339933;">&gt;</span>rock<span style="color: #339933;">&lt;/</span>genre<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>genre<span style="color: #339933;">&gt;</span>punk<span style="color: #339933;">&lt;/</span>genre<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>cd<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Juuri luodut &lt;genre&gt;- elementit ovat siis juurielementin (&lt;cd-kokoelma&gt;) alielementtejÃ¤. NÃ¤mÃ¤ elementit on sijoitettu juurielementin sisÃ¤lle (<em>nested</em>) ja ilmaisevat nÃ¤in dokumentin hierarkiaa.</p>
<p>XML on tarkka elementtien sulkemisesta, joten tagien sijoittelussa tulee olla huolellinen. Seuraava olisi mahdollista HTML:ssÃ¤:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>b<span style="color: #339933;">&gt;&lt;</span>i<span style="color: #339933;">&gt;</span>vÃ¤Ã¤rin<span style="color: #339933;">&lt;/</span>i<span style="color: #339933;">&gt;&lt;/</span>b<span style="color: #339933;">&gt;</span></pre></div></div>

<p>XML:ssÃ¤ tageja ei voi kuitenkaan sulkea &#8220;ristiin&#8221;.</p>
<h3><a name="hierarkia"></a>Hierarkia</h3>
<p>XML on rakenteeltaan samankailtainen kuin sukupuu tai vaikkapa tietokoneesi tiedostojÃ¤rjestelmÃ¤. SisÃ¤ltÃ¶ noudattaa isÃ¤ntÃ¤-lapsi-suhdetta (parent-child). Toisinsanoen, alielementti on isÃ¤ntÃ¤elementin (parent) lapsielementti (child).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">?</span>xml version<span style="color: #339933;">=</span><span style="color: #3366CC;">'1.0'</span> encoding<span style="color: #339933;">=</span><span style="color: #3366CC;">'UTF-8'</span><span style="color: #339933;">?&gt;</span>
<span style="color: #339933;">&lt;</span>cd <span style="color: #339933;">-</span>kokoelma<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>genre<span style="color: #339933;">&gt;</span>rock<span style="color: #339933;">&lt;/</span>genre<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>genre<span style="color: #339933;">&gt;</span>punk<span style="color: #339933;">&lt;/</span>genre<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>cd<span style="color: #339933;">&gt;</span></pre></div></div>

<p>EdellÃ¤ mainitussa XML- dokumentin rakenteessa &lt;cd-kokoelma&gt; on isÃ¤ntÃ¤elementti ja &lt;genre&gt;- elementit ovat sen lapsia. Monimutkaisemmassa dokumentissa, jokainen &lt;genre&gt;- elementti voisi sisÃ¤ltÃ¤Ã¤ edelleen alielementtejÃ¤, jolloin &lt;genre&gt; olisi nÃ¤iden isÃ¤ntÃ¤. Juuri tÃ¤mÃ¤ on XML:n luonne. Koko sisÃ¤ltÃ¶ on jÃ¤rjestelty hierarkiseen muotoon.</p>
<p>IsÃ¤ntÃ¤-lapsisuhteen lisÃ¤ksi XML tuntee myÃ¶s sisarus-suhteet. EdellÃ¤ mainitussa XML-dokumentissa &lt;genre&gt;- elementit siis jakavat saman sisarsuhteen, ja ovat kaikki juurielementin (&lt;cd-kokoelma&gt;) lapsia.</p>
<p>ViimekÃ¤dessÃ¤, sukupuu- vertaus kuvaa varsin hyvin sisÃ¤kkÃ¤in asetellun datan luonnetta. Luodessasi lapsielementtejÃ¤, mÃ¤Ã¤rittelet sisÃ¤ltÃ¶Ã¤ pidemmÃ¤lle. IsÃ¤ntÃ¤elementit ovat luonteeltaan aina yleiluontoisempia.</p>
<h3><a name="tyhjat"></a>TyhjÃ¤t elementit</h3>
<p>Elemntit voivat olla myÃ¶s tyhjiÃ¤. TyhjÃ¤ elementti on tarpeen esimerkiksi, kun dokumentti vaatii elementin, mutta sille ei ole parhaillaan sisÃ¤ltÃ¶Ã¤ (tekstiÃ¤ tai alielementtiÃ¤). TyhjÃ¤t elementit voivat sisÃ¤ltÃ¤Ã¤ tietoa, mutta palataan siihen jÃ¤ljelmpÃ¤nÃ¤. TyhjÃ¤n elementin syntaksi on seuraava:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>esittaja<span style="color: #339933;">&gt;&lt;/</span>esittaja<span style="color: #339933;">&gt;</span></pre></div></div>

<p>EdellÃ¤mainittu on varmasti tuttu, mutta siitÃ¤ voidaan kÃ¤yttÃ¤Ã¤ myÃ¶s lyhennettyÃ¤ versiota:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>esittaja <span style="color: #339933;">/&gt;</span></pre></div></div>

<p>VielÃ¤ muutama pÃ¤Ã¤sÃ¤Ã¤ntÃ¤ oikein muodostetusta XML:stÃ¤ (well-formed):</p>
<ul>
<li>Kaikki tagit pitÃ¤Ã¤ sulkea</li>
<li>Dokumentissa voi olla vain yksi juurielementti</li>
<li>Tageja ei voi &#8220;asetella&#8221; limittÃ¤in</li>
</ul>
<h3><a name="attribuutit"></a>Attribuutit</h3>
<p>XML:ssÃ¤ kÃ¤ytetyt attribuutit ovat samanlaisin kuin HTML:sÃ¤kin. Ne ovat pohjimmiltaan vain elementille osoitettuja ominaisuuksia. Otetaan esimerkiksi HTML:stÃ¤ &lt;a&gt;- tagi.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://www.domain.com&quot;</span><span style="color: #339933;">&gt;</span>domain<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Eli attribuutti on &#8220;<em>href</em>&#8220;. TÃ¤smÃ¤lleen samaa muotoa kÃ¤ytetÃ¤Ã¤n XML:ssÃ¤.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>genre <span style="color: #000066;">name</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;punk&quot;</span><span style="color: #339933;">&gt;&lt;/</span>genre<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Attribuutin &#8220;koteloimiseen&#8221; voi kÃ¤yttÃ¤Ã¤ joko heittomerkkiÃ¤ (&#8216;) tai lainausmerkkiÃ¤ (&#8220;).</p>
<p>EdellÃ¤ kÃ¤ytimme seuraavaa esimerkkiÃ¤:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">?</span>xml version<span style="color: #339933;">=</span><span style="color: #3366CC;">'1.0'</span> encoding<span style="color: #339933;">=</span><span style="color: #3366CC;">'UTF-8'</span><span style="color: #339933;">?&gt;</span>
<span style="color: #339933;">&lt;</span>cd <span style="color: #339933;">-</span>kokoelma<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>genre<span style="color: #339933;">&gt;</span>rock<span style="color: #339933;">&lt;/</span>genre<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>genre<span style="color: #339933;">&gt;</span>punk<span style="color: #339933;">&lt;/</span>genre<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>cd<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Sama voitaisiin kirjoittaa kÃ¤yttÃ¤en attribuutteja:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">?</span>xml version<span style="color: #339933;">=</span><span style="color: #3366CC;">'1.0'</span> encoding<span style="color: #339933;">=</span><span style="color: #3366CC;">'UTF-8'</span><span style="color: #339933;">?&gt;</span>
<span style="color: #339933;">&lt;</span>cd <span style="color: #339933;">-</span>kokoelma<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span>genre <span style="color: #000066;">name</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;rock&quot;</span> <span style="color: #339933;">/&gt;</span>
   <span style="color: #339933;">&lt;</span>genre <span style="color: #000066;">name</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;punk&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;/</span>cd<span style="color: #339933;">&gt;</span></pre></div></div>

<h3><a name="CDATA"></a>CDATA</h3>
<p>CDATA tarkoittaa &#8220;<em>character dataa</em>&#8220;. Sen avulla voidaan elementtiin kirjoittaa merkkejÃ¤, jotka on varattu XML:n kÃ¤yttÃ¶Ã¶n (&lt;, &gt;, &amp;, &#8216;, &#8220;). CDATA- osio sisÃ¤ltÃ¤Ã¤ datan, jota XML- sovellukset voivat kÃ¤yttÃ¤Ã¤ sellaisenaan.</p>
<p>HyvÃ¤ esimerkki CDATA:n kÃ¤ytÃ¶stÃ¤ on lisÃ¤tÃ¤ HTML:Ã¤Ã¤ XML- dokumenttiin. Ilman CDATA:a, XML-jÃ¤sennin &#8220;nÃ¤kisi&#8221; jokaisen HTML- tagin elementtinÃ¤, eikÃ¤ sisÃ¤ltÃ¶Ã¤ siis esitettÃ¤isikÃ¤Ã¤n niinkuin oli aluperin tarkoitus.</p>
<p>Kaikki CDATA- esiintymÃ¤t alkavat seuraavasti:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#91;</span>CDATA<span style="color: #009900;">&#91;</span></pre></div></div>

<p>Sen jÃ¤lkeen kirjoitetaan haluttu informaatio ja suljetaan CDATA:</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span></pre></div></div>

<p>Ja vielÃ¤ koko esimerkki:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>linkki<span style="color: #339933;">&gt;</span>
   <span style="color: #339933;">&lt;</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#91;</span>CDATA<span style="color: #009900;">&#91;</span><span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://www.domain.com&quot;</span><span style="color: #339933;">&gt;</span>Domain<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>linkki<span style="color: #339933;">&gt;</span></pre></div></div>

<h3><a name="kommentointi"></a>Kommentointi</h3>
<p>Kommentointi tapahtuu XML:ssÃ¤ tÃ¤ysin samalla tavalla kuin HTML:ssÃ¤kin:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span> TÃ¤hÃ¤n kommentti <span style="color: #339933;">--&gt;</span></pre></div></div>

<h3><a name="whitespace"></a>Whitespace</h3>
<p>Whitespace on termi jolla kuvataan vÃ¤lilyÃ¶ntejÃ¤ (SPACE), rivinvaihtoja (CARRIAGE RETURN) ja sarkainmerkkejÃ¤ (TAB). Whitespace tekee dokumentista luettavan ja siksi sitÃ¤ kannatta kÃ¤yttÃ¤Ã¤ hyvÃ¤ksi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2005/12/05/xmln-kielioppi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kelvollinen DOCTYPE ja Namespace</title>
		<link>http://www.timovirtanen.com/2005/12/05/kelvollinen-doctype-ja-namespace/</link>
		<comments>http://www.timovirtanen.com/2005/12/05/kelvollinen-doctype-ja-namespace/#comments</comments>
		<pubDate>Sun, 04 Dec 2005 22:50:11 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=7</guid>
		<description><![CDATA[SisÃ¤ltÃ¶ MikÃ¤ ihmeen DOCTYPE MikÃ¤ DOCTYPE on sinun tyyppiÃ¤si? DOCTYPE:n jÃ¤lkeen tulee Namespace XHTML- dokumentit alkavat elementeillÃ¤, jotka kertovat selaimelle miten merkintÃ¤Ã¤ tulkitaan ja validointipalveluille miten dokumentti tulee testata. EnsimmÃ¤inen nÃ¤istÃ¤ on DOCTYPE (lyhennys sanoista &#8220;document type&#8221;) mÃ¤Ã¤rittely. TÃ¤mÃ¤ tÃ¤rkeÃ¤ elementti kertoo validointipalvelulle mitÃ¤ XHTML- tai HTML- versiota kÃ¤ytÃ¤t dokumentissasi. Jostain tuntemattomasta syystÃ¤ (,jonka vain [...]]]></description>
			<content:encoded><![CDATA[<p><img class="icon" src="http://www.timovirtanen.com/pics/icon_xhtml.gif" alt="xhtml" title="xhtml" />SisÃ¤ltÃ¶</p>
<ul>
<li><a href="#mikadoctype">MikÃ¤ ihmeen DOCTYPE</a></li>
<li><a href="#sinundoctype">MikÃ¤ DOCTYPE on sinun tyyppiÃ¤si?</a></li>
<li><a href="#namespace">DOCTYPE:n jÃ¤lkeen tulee Namespace</a></li>
</ul>
<p>XHTML- dokumentit alkavat elementeillÃ¤, jotka kertovat selaimelle miten merkintÃ¤Ã¤ tulkitaan ja validointipalveluille miten dokumentti tulee testata. EnsimmÃ¤inen nÃ¤istÃ¤ on DOCTYPE (lyhennys sanoista &#8220;document type&#8221;) mÃ¤Ã¤rittely. TÃ¤mÃ¤ tÃ¤rkeÃ¤ elementti kertoo validointipalvelulle mitÃ¤ XHTML- tai HTML- versiota kÃ¤ytÃ¤t dokumentissasi. Jostain tuntemattomasta syystÃ¤ (,jonka vain W3C:n insinÃ¶Ã¶rit tietÃ¤vÃ¤t) DOCTYPE kirjoitetaan kokonaan ISOILLA kirjaimilla.<br />
<span id="more-7"></span></p>
<h3><a name="mikadoctype"></a>MikÃ¤ ihmeen DOCTYPE</h3>
<p>XHTML sallii suunnittelijoiden/ohjelmoijien hallita monia erityyppisiÃ¤ dokumentteja, joista jokainen on sidottu noudattamaan omia sÃ¤Ã¤ntÃ¶jÃ¤Ã¤n. Jokaisen tyypin sÃ¤Ã¤nnÃ¶t on lueteltu XHTML- spesifikaatioissa, tekstissÃ¤ jota kutsutaan nimellÃ¤  <abbr title="Document Type Definition">DTD</abbr>. Dokumentin tyypin mÃ¤Ã¤ritys kertoo validaattorille ja selaimelle mitÃ¤ DTD:tÃ¤ olet noudattanut tehdessÃ¤si sivua. Toisinsanoen kerrot validaattorille ja selaimelle miten sen tulisi tulkita dokumenttiasi.</p>
<p>XHTML tarjoaa kolme mahdollista DOCTYPE- mÃ¤Ã¤rittelyÃ¤:</p>
<ul>
<li><strong>Transitional</strong></li>
<li><strong>Strict</strong></li>
<li><strong>Frameset</strong></li>
</ul>
<h3><a name="sinundoctype"></a>MikÃ¤ DOCTYPE on sinun tyyppiÃ¤si?</h3>
<p>EdellÃ¤mainituista XHTML 1.0 Transitional on kaikkein lÃ¤hinnÃ¤ perinteistÃ¤ HTML:Ã¤Ã¤. Toisin sanoen, se on ainoa, joka antaa anteeksi esityksellisen merkintÃ¤tavan sekÃ¤ elementit ja atribuutit, joita ei enÃ¤Ã¤ kehoteta kÃ¤yttÃ¤mÃ¤Ã¤n lainkaan.</p>
<p>Target- atribuutti on yksi monista, joka on kulkenut tiensÃ¤ pÃ¤Ã¤hÃ¤n. Jos haluat linkitettyjen sivujen aukeavan uuteen ikkunaan, XHTML 1.0 Transitional on ainoa DTD, joka salli sen.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Vieraile <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://www.domain.com&quot;</span> target<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;_blank&quot;</span><span style="color: #339933;">&gt;</span>domain.<span style="color: #660066;">com</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span> uudessa ikkunassa.</pre></div></div>

<p><!--e--></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Vieraile <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://www.domain.com&quot;</span> target<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;pop&quot;</span><span style="color: #339933;">&gt;</span>domain.<span style="color: #660066;">com</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span> nimetyssÃ¤ ikkunassa.</pre></div></div>

<p>Avataksesi linkin uuteen ikkunaan kÃ¤yttÃ¤essÃ¤si XHTML 1.0 Strict:Ã¤, tulisi sinun kÃ¤yttÃ¤Ã¤ JavaScriptiÃ¤, ja toisaalta sinun tulisi varmistua siitÃ¤, ettÃ¤ linkit toimivat myÃ¶s ympÃ¤ristÃ¶issÃ¤, joissa ei ole JavaScript- tukea. XHTML 1.0 Transitional antaa anteeksi myÃ¶s paljon muuta &#8220;roskamerkintÃ¤Ã¤&#8221;, kuten taustavÃ¤rin mÃ¤Ã¤rittÃ¤minen taulukolle. Toisaalta jos olisit mÃ¤Ã¤ritellyt dokumentin tyypiksi XHTML 1.0 Strict:n ja dokumtti silti sisÃ¤ltÃ¤isi vanhentuneen  &#8220;bgcolor&#8221;- atribuutin, validointipalvelu antaisi tÃ¤stÃ¤ virheilmoituksen ja moderni selain jÃ¤ttÃ¤isi tÃ¤mÃ¤n huomioimatta.</p>
<p>XHTML 1.0 Transitional:n mÃ¤Ã¤rittely:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> <span style="color: #339933;">!</span>DOCTYPE html <span style="color: #003366; font-weight: bold;">PUBLIC</span> <span style="color: #3366CC;">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span>
<span style="color: #3366CC;">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span style="color: #339933;">&gt;</span></pre></div></div>

<p>Dokumenttityyppi tulee dokumenttiin ensimmÃ¤isenÃ¤. Vasta sen jÃ¤lkeen tulee &#8220;perinteiset&#8221; elementit (html, head, title, meta jne.)</p>
<h3><a name="namespace"></a>DOCTYPE:n jÃ¤lkeen tulee Namespace</h3>
<p>Namespace seuraa vÃ¤littÃ¶mÃ¤sti DOCTYPE:Ã¤. Namespace lisÃ¤tÃ¤Ã¤n perinteiseen html- tagiin seuraavasti:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>html xmlns<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://www.w3.org/1999/xhtml&quot;</span> xml<span style="color: #339933;">:</span>lang<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;en&quot;</span> lang<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;en&quot;</span><span style="color: #339933;">&gt;&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Namespace on kokoelma elementtityyppejÃ¤ ja atribuutteja, jotka ovat yhteydessÃ¤ tiettyyn DTD:hen. Kaksi viimeistÃ¤ ehdollista atribuuttia kertovat, ettÃ¤ XML:n versio, jota kÃ¤ytÃ¤t on kirjoitettu englanniksi ja ettÃ¤ itse dokumentti on kirjoitettu myÃ¶s englanniksi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2005/12/05/kelvollinen-doctype-ja-namespace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XHTML vs. HTML</title>
		<link>http://www.timovirtanen.com/2005/12/05/xhtml-vs-html/</link>
		<comments>http://www.timovirtanen.com/2005/12/05/xhtml-vs-html/#comments</comments>
		<pubDate>Sun, 04 Dec 2005 22:05:50 +0000</pubDate>
		<dc:creator>Timo Virtanen</dc:creator>
				<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://www.timovirtanen.com/?p=6</guid>
		<description><![CDATA[Kymmenen syytÃ¤ vaihta XHTML:Ã¤Ã¤n. XHTML on tÃ¤mÃ¤nhetkinen merkintÃ¤standardi, joka korvaa (tulee korvaamaan) HTML. XHTML on suunniteltu toimimaan hyvin yhdessÃ¤ muiden XML-pohjaisten kielien, sovellusten ja protokollien kanssa &#8211; tÃ¤tÃ¤ etua ei ole HTML:ssÃ¤. XHTML on johdonmukaisempi kuin HTML, joten &#8220;toiminta- ja esitysongelmat&#8221; ovat epÃ¤todennÃ¤kÃ¶isempiÃ¤. XHTML 1.0 toimii siltana tulevaisuuden XHTML- versioihin. Vaihtaminen XHTML 2.0:aan on vaivattomampaa. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="icon" src="http://www.timovirtanen.com/pics/icon_xhtml.gif" alt="xhtml" title="xhtml" />Kymmenen syytÃ¤ vaihta <abbr title="eXtensible Hypertext Markup Language">XHTML</abbr>:Ã¤Ã¤n.<br />
<span id="more-6"></span></p>
<ol start="1">
<li><abbr title="eXtensible Hypertext Markup Language">XHTML</abbr> on tÃ¤mÃ¤nhetkinen merkintÃ¤standardi, joka korvaa (tulee korvaamaan) <abbr title="Hypertext Markup Language">HTML</abbr>.</li>
<li>XHTML on suunniteltu toimimaan hyvin yhdessÃ¤ muiden XML-pohjaisten kielien, sovellusten ja protokollien kanssa &#8211; tÃ¤tÃ¤ etua ei ole HTML:ssÃ¤.</li>
<li>XHTML on johdonmukaisempi kuin HTML, joten &#8220;toiminta- ja esitysongelmat&#8221; ovat epÃ¤todennÃ¤kÃ¶isempiÃ¤.</li>
<li>XHTML 1.0 toimii siltana tulevaisuuden XHTML- versioihin. Vaihtaminen <a target="_blank" href="http://www.w3.org/TR/xhtml2/" title="W3C - XHTML&trade; 2.0">XHTML 2.0</a>:aan on vaivattomampaa.</li>
<li>Vanhat selaimet tukevat yhtÃ¤ hyvin XHTML:Ã¤Ã¤ kuin perus- HTML:Ã¤Ã¤. Eli tÃ¤ssÃ¤ suhteessa ei XHMTL tarjoa sen suurempaa etulyÃ¶ntiasemaa, mutta siitÃ¤ ei toisaalta ole myÃ¶skÃ¤Ã¤n haittaa.</li>
<li>Uudet selaimet rakastavat XHTML:Ã¤Ã¤ (erityisesti XHTML 1.0) ja sivun hallinta sen avulla on paljon helpompaa. Uudet selaimet kÃ¤sittelevÃ¤t validia XHTML:Ã¤Ã¤ eri tavalla kuin HTML:Ã¤Ã¤. TÃ¤mÃ¤ tekee lopputuloksesta paljon odotuksenmukaisemman.</li>
<li>XHTML toimii aivan yhtÃ¤ hyvin langattomissa laitteissa, nÃ¤ytÃ¶nlukijoissa ja muissa &#8220;erikoisemmissa&#8221; internetlaitteissa kuin tavallisella desktop- selaimellakin. Useissa tapauksissa tÃ¤mÃ¤ tarkoittaa sitÃ¤, ettÃ¤ saavutat suuremman lukijakunnan pienemmÃ¤llÃ¤ tyÃ¶llÃ¤ ja budjetilla, koska sivusta ei tarvitse luoda monia eri versioita. (Esim. monista HTML- sivuista on olemassa &#8220;langaton&#8221; versio, teksti- versio nÃ¤ytÃ¶nlukijoille ja tulostusystÃ¤vÃ¤llinen sivu, siinÃ¤ missÃ¤ XHTML:Ã¤Ã¤ kÃ¤yttÃ¤vÃ¤ vapautuu moisesta rasitteesta. Monissa tapauksissa yksi XHTML- dokumentti palvelee kaikkia, jos se on muotoiltu huolellisesti, ja sitÃ¤ vartenhan on <abbr title="Cascading Style Sheets">CSS</abbr>.)</li>
<li>XHTML on yksi osa suurta &#8220;standardiperhettÃ¤&#8221; (pitÃ¤Ã¤ sisÃ¤llÃ¤Ã¤n myÃ¶s CSS:n ja W3C:n dokumenttioliomallin &#8211; <abbr title="Document Object Model">DOM</abbr>), jonka avulla voit hallita sivun toimintaa ja ulkoasua laitteesta, jÃ¤rjestelmÃ¤stÃ¤ tai selaimesta riippumatta.</li>
<li>XHTML auttaa sinua pÃ¤Ã¤semÃ¤Ã¤n eroon esityksellisestÃ¤ merkinnÃ¤stÃ¤ (presentational markup), ja sitÃ¤ kautta teet sivuistasi kÃ¤yttÃ¤jÃ¤ystÃ¤vÃ¤llisemmÃ¤t ja sivusi toimivat luotettavammin eri selaimissa. Kirjoittamalla rakenteellista XHTML:Ã¤Ã¤ ja kÃ¤yttÃ¤mÃ¤llÃ¤ CSS:Ã¤Ã¤ tyylien luomiseen, sinun ei enÃ¤Ã¤ tarvitse olla huolissasi siitÃ¤ miten MSIE ja Netscape esittÃ¤vÃ¤t lopullisen tyÃ¶si.</li>
<li>KÃ¤yttÃ¤mÃ¤llÃ¤ XHTML:Ã¤Ã¤ merkintÃ¤kielenÃ¤si saatat ottaa tavaksesi testata sivusi &#8220;validointipalvelussa&#8221;, mikÃ¤ taas saattaa sÃ¤Ã¤stÃ¤Ã¤ aikaasi virheiden etsinnÃ¤ssÃ¤, ja mikÃ¤ tÃ¤rkeintÃ¤ estÃ¤Ã¤ niitÃ¤ edes syntymÃ¤stÃ¤. YleisimpiÃ¤ virheitÃ¤ on jÃ¤ttÃ¤Ã¤ alt- atribuutit pois img- tageista.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.timovirtanen.com/2005/12/05/xhtml-vs-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

