<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: xhtml code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 25 Jul 2008 08:11:43 GMT</pubDate>
    <description>DZone Snippets: xhtml code</description>
    <item>
      <title>Disable auto complete in input form</title>
      <link>http://snippets.dzone.com/posts/show/5642</link>
      <description>Disable auto complete in input form.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;&lt;br /&gt;window.onload = function() {&lt;br /&gt;	for(var i = 0, l = document.getElementsByTagName('input').length; i &lt; l; i++) {&lt;br /&gt;		if(document.getElementsByTagName('input').item(i).type == 'text') {&lt;br /&gt;			document.getElementsByTagName('input').item(i).setAttribute('autocomplete', 'off');&lt;br /&gt;		};&lt;br /&gt;	};&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;script&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ab-d.fr"&gt;Source AB-D: &lt;/a&gt;&lt;a href="http://www.ab-d.fr/date/2008-06-14/"&gt;Disable autocomplete in input type="text"&lt;/a&gt;</description>
      <pubDate>Fri, 13 Jun 2008 22:10:57 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5642</guid>
      <author>ki4ngel (Benoit Asselin)</author>
    </item>
    <item>
      <title>A simple XHTML submit form for ProjectX</title>
      <link>http://snippets.dzone.com/posts/show/5354</link>
      <description>Preparing ProjectX API requests through the browser's address bar  can get quite messy, however inputting the request through a simple form makes it much easier to read.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"&lt;br /&gt;  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;&lt;br /&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;&lt;br /&gt;  &lt;head&gt;&lt;br /&gt;    &lt;title&gt;ProjectX API&lt;/title&gt;&lt;br /&gt;    &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&gt;&lt;br /&gt;  &lt;/head&gt;&lt;br /&gt;  &lt;body&gt;&lt;br /&gt;    &lt;h1&gt;ProjectX API form&lt;/h1&gt;&lt;br /&gt;    &lt;p&gt;Enter the Project API XML to send a request to the server.&lt;/p&gt;&lt;br /&gt;    &lt;form action="http://rorbuilder.info/api/projectx.cgi" method="post" id="projectx_form"&gt;&lt;br /&gt;    &lt;fieldset&gt;&lt;legend&gt;xml_project&lt;/legend&gt;&lt;textarea id="xml_project" name="xml_project" cols="104" rows="20"&gt;&lt;/textarea&gt;&lt;/fieldset&gt;&lt;br /&gt;    &lt;div&gt;&lt;button type="submit"&gt;Submit&lt;/button&gt;&lt;/div&gt;&lt;br /&gt;    &lt;/form&gt;&lt;br /&gt;  &lt;p&gt;&lt;br /&gt;    &lt;a href="http://validator.w3.org/check?uri=referer"&gt;&lt;img&lt;br /&gt;        src="http://www.w3.org/Icons/valid-xhtml10"&lt;br /&gt;        alt="Valid XHTML 1.0 Strict" height="31" width="88" style="float:right;  border:0 "/&gt;&lt;/a&gt;&lt;br /&gt;  &lt;/p&gt;&lt;br /&gt;  &lt;p style="clear:float"&gt;last updated: 13th April 2008&lt;/p&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The web page can be seen at http://rorbuilder.info/r/projectx-api/index.html&lt;br /&gt;The following XML request value when submitted should return an XML result containing the results and the method executed.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;project name='whiteboardqueue'&gt;&lt;br /&gt;  &lt;methods&gt;&lt;br /&gt;    &lt;method name='get_user_id'&gt;&lt;br /&gt;      &lt;params/&gt;&lt;br /&gt;    &lt;/method&gt;&lt;br /&gt;  &lt;/methods&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;eg.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;result method="rtn_get_user_id"&gt;&lt;br /&gt;  &lt;get_user_id&gt;36539&lt;/get_user_id&gt;&lt;br /&gt;&lt;/result&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sun, 13 Apr 2008 22:32:48 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5354</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>Selector :target in CSS 3</title>
      <link>http://snippets.dzone.com/posts/show/5155</link>
      <description>&lt;code&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"&lt;br /&gt;	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;&lt;br /&gt;&lt;br /&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;	&lt;title&gt;CSS3 *:target&lt;/title&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;style type="text/css" media="screen"&gt;&lt;br /&gt;	&lt;br /&gt;	h1:hover { text-decoration: underline; } /* CSS 1 et 2 */&lt;br /&gt;	h1:target { background-color: #ff6600; } /* CSS 3 */&lt;br /&gt;	&lt;br /&gt;	&lt;/style&gt;&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;h1 id="title-1"&gt;Title n&#176;1&lt;/h1&gt;&lt;br /&gt;	&lt;p&gt;CSS...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;CSS...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;CSS...&lt;/p&gt;&lt;br /&gt;	&lt;hr /&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;h1 id="title-2"&gt;Title n&#176;2&lt;/h1&gt;&lt;br /&gt;	&lt;p&gt;CSS...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;CSS...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;CSS...&lt;/p&gt;&lt;br /&gt;	&lt;hr /&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;p&gt;&lt;a href="#title-1"&gt;Title n&#176;1&lt;/a&gt; | &lt;a href="#title-2"&gt;Title n&#176;2&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;	&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ab-d.fr/"&gt;Source: AB-D.fr&lt;/a&gt;</description>
      <pubDate>Tue, 19 Feb 2008 20:59:36 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5155</guid>
      <author>ki4ngel (Benoit Asselin)</author>
    </item>
    <item>
      <title>Position : fixed in MSIE6</title>
      <link>http://snippets.dzone.com/posts/show/5132</link>
      <description>&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"&lt;br /&gt;	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;&lt;br /&gt;&lt;br /&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;	&lt;title&gt;"position: fixed" compatible Microsoft Internet Explorer 6&lt;/title&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;	&lt;!-- Code CSS for Firefox, Safari, Opera, Internet Explorer 7... --&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;style type="text/css" media="screen"&gt;&lt;br /&gt;		&lt;br /&gt;	#fixed {&lt;br /&gt;		position: fixed;&lt;br /&gt;		left: 0; top: 0; right: 0;&lt;br /&gt;		width: 100%;&lt;br /&gt;		padding: 10px; background: gray;&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	&lt;/style&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;	&lt;!-- Code CSS for Internet Explorer 6 --&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;!--[if lte IE 6]&gt;&lt;br /&gt;	&lt;style type="text/css" media="screen"&gt;&lt;br /&gt;	&lt;br /&gt;	#fixed {&lt;br /&gt;		position: absolute;&lt;br /&gt;		top: expression((document.documentElement.scrollTop || document.body.scrollTop) + this.offsetHeight - this.offsetHeight);&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	&lt;/style&gt;&lt;br /&gt;	&lt;![endif]--&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;div id="fixed"&gt;DIV in position: fixed;&lt;/div&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;p&gt;Content...&lt;/p&gt;&lt;br /&gt;	&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ab-d.fr/"&gt;Source: Asselin Benoit Developpement, conception de sites internet&lt;/a&gt;</description>
      <pubDate>Mon, 11 Feb 2008 20:39:19 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5132</guid>
      <author>ki4ngel (Benoit Asselin)</author>
    </item>
    <item>
      <title>Converting XHTML to XML</title>
      <link>http://snippets.dzone.com/posts/show/5127</link>
      <description>Based on the code from &lt;a href="http://www.ibm.com/developerworks/library/x-tiptidy.html"&gt;'Convert from HTML to XML with HTML Tidy'&lt;/a&gt;, this code will read an xhtml file and extract text to gallery.xml as instructed by xhtml2xml.xml&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/ruby&lt;br /&gt;  &lt;br /&gt;  require 'tidy'&lt;br /&gt;  require 'projxslt'&lt;br /&gt;  &lt;br /&gt;  FILE_PATH = "../"&lt;br /&gt;  &lt;br /&gt;  class Xhtml2Xml&lt;br /&gt;    def convert()&lt;br /&gt;      project = 'xhtml2xml'&lt;br /&gt;      filein = 'xhtml2xml.xml'&lt;br /&gt;      filehtml = 'gallery.html'&lt;br /&gt;      filexml = 'gallery_xhtml.xml'&lt;br /&gt;      xslfile_temp = 'gallery.xsl'&lt;br /&gt;      xslfile = 'xhtml2xml.xsl'&lt;br /&gt;      fileout = 'gallery.xml'&lt;br /&gt;      tidy_config = 'tidy.txt'&lt;br /&gt;      &lt;br /&gt;      project_path = FILE_PATH + project + '/'&lt;br /&gt;      tidy_config_path = project_path + tidy_config&lt;br /&gt;      filein_path = project_path + filein&lt;br /&gt;      filehtml_path = project_path + filehtml&lt;br /&gt;      filexml_path = project_path + filexml&lt;br /&gt;      xslfile_temp_path = project_path + xslfile_temp&lt;br /&gt;      xslfile_path = project_path + xslfile&lt;br /&gt;      fileout_path = project_path + fileout&lt;br /&gt;      &lt;br /&gt;      Tidy.path = '/usr/lib/libtidy.so'&lt;br /&gt;&lt;br /&gt;      file = File.new(filehtml_path,'r')&lt;br /&gt;      buffer = file.read&lt;br /&gt;      xml = Tidy.open(:show_warnings=&gt;true) do |tidy|&lt;br /&gt;        tidy.options.output_xml = true&lt;br /&gt;        tidy.load_config(tidy_config_path)&lt;br /&gt;        puts tidy.options.show_warnings&lt;br /&gt;        xml = tidy.clean(buffer)&lt;br /&gt;        puts tidy.errors&lt;br /&gt;        puts tidy.diagnostics&lt;br /&gt;        xml&lt;br /&gt;      end&lt;br /&gt;      &lt;br /&gt;      #strip out the html document type declaration and save the file&lt;br /&gt;      html_declaration = xml[/&lt;!([^&gt;]*&gt;){2}/]&lt;br /&gt;      save_file(filexml_path, xml.gsub(html_declaration,'&lt;html&gt;'))    &lt;br /&gt;      transform(filein_path, xslfile_path, xslfile_temp_path)&lt;br /&gt;      transform(filexml_path, xslfile_temp_path, fileout_path)&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    def transform(xml_filepath, xsl_filepath, save_filepath)&lt;br /&gt;      pxsl = Projxslt.new(xml_filepath, xsl_filepath)&lt;br /&gt;      outfile = pxsl.transform&lt;br /&gt;      save_file(save_filepath, outfile)&lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    def save_file(filepath, buffer)&lt;br /&gt;      file = File.new(filepath,'w') &lt;br /&gt;      file.puts buffer&lt;br /&gt;      file.close&lt;br /&gt;    end    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  if __FILE__ == $0&lt;br /&gt;    h2x = Xhtml2Xml.new()&lt;br /&gt;    h2x.convert()&lt;br /&gt;  end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;file: xhtml2xml.xml&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;root element="gallery"&gt;&lt;br /&gt;  &lt;summary&gt;&lt;br /&gt;    &lt;field element="title" xpath="head/title"/&gt;&lt;br /&gt;  &lt;/summary&gt;&lt;br /&gt;  &lt;record xpath="body/center/table/tr/td" element="photo"&gt;&lt;br /&gt;    &lt;field xpath="font/br[3]/preceding-sibling::text()[1]" element="title"&gt;&lt;/field&gt;&lt;br /&gt;    &lt;field xpath="/html/body/table/tr/td[2]/font/br[3]/preceding-sibling::text()[1]" element="date"&gt;&lt;/field&gt;&lt;br /&gt;    &lt;field xpath="font/br[1]/preceding-sibling::text()[1]" element="image"&gt;&lt;/field&gt;&lt;br /&gt;    &lt;field xpath="font/br[2]/preceding-sibling::text()[1]" element="description"&gt;&lt;/field&gt;&lt;br /&gt;  &lt;/record&gt;&lt;br /&gt;&lt;/root&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;file:xhtml2xml.xsl (transforms the file xhtml2xml.xml to file gallery.xsl)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?xml version="1.0"?&gt;&lt;br /&gt;&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"&gt;&lt;br /&gt;  &lt;xsl:template match="root"&gt;&lt;br /&gt;    &lt;xsl:variable name="colon"&gt;&lt;xsl:text&gt;:&lt;/xsl:text&gt;&lt;/xsl:variable&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;xsl:element name="xsl:stylesheet"&gt;&lt;br /&gt;      &lt;xsl:attribute name="xmlns{$colon}xsl"&gt;&lt;br /&gt;        &lt;xsl:text&gt;http://www.w3.org/1999/XSL/Transform&lt;/xsl:text&gt;&lt;br /&gt;      &lt;/xsl:attribute&gt;&lt;br /&gt;      &lt;xsl:attribute name="version"&gt;&lt;br /&gt;        &lt;xsl:text&gt;1.0&lt;/xsl:text&gt;&lt;br /&gt;      &lt;/xsl:attribute&gt;&lt;xsl:text&gt;&lt;br /&gt;      &lt;/xsl:text&gt;&lt;br /&gt;&lt;br /&gt;&lt;xsl:element name="xsl:output"&gt;&lt;br /&gt;  &lt;xsl:attribute name="method"&gt;&lt;br /&gt;    &lt;xsl:text&gt;xml&lt;/xsl:text&gt;&lt;br /&gt;  &lt;/xsl:attribute&gt;&lt;br /&gt;  &lt;xsl:attribute name="indent"&gt;&lt;br /&gt;    &lt;xsl:text&gt;yes&lt;/xsl:text&gt;&lt;br /&gt;  &lt;/xsl:attribute&gt;&lt;br /&gt;&lt;/xsl:element&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt;&lt;br /&gt;&lt;xsl:element name="xsl:template"&gt;&lt;br /&gt;      &lt;xsl:attribute name="match"&gt;&lt;br /&gt;        &lt;xsl:text&gt;html&lt;/xsl:text&gt;&lt;br /&gt;      &lt;/xsl:attribute&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt;      &lt;xsl:element name="{@element}"&gt;&lt;br /&gt;      &lt;xsl:apply-templates select="summary"/&gt;&lt;br /&gt;&lt;br /&gt;      &lt;xsl:element name="xsl{$colon}for-each"&gt;&lt;br /&gt;        &lt;xsl:attribute name="select"&gt;&lt;br /&gt;          &lt;xsl:value-of select="record/@xpath"/&gt;&lt;br /&gt;        &lt;/xsl:attribute&gt;&lt;xsl:text&gt;&lt;br /&gt;    &lt;/xsl:text&gt;              &lt;br /&gt;&lt;br /&gt;  &lt;xsl:for-each select="record/field"&gt;&lt;br /&gt;    &lt;xsl:element name="xsl:variable"&gt;&lt;br /&gt;      &lt;xsl:attribute name="name"&gt;&lt;br /&gt;        &lt;xsl:value-of select="@element"/&gt;&lt;br /&gt;      &lt;/xsl:attribute&gt;&lt;br /&gt;      &lt;xsl:attribute name="select"&gt;&lt;br /&gt;        &lt;xsl:value-of select="@xpath"/&gt;&lt;br /&gt;      &lt;/xsl:attribute&gt;&lt;br /&gt;    &lt;/xsl:element&gt;&lt;xsl:text&gt;&lt;br /&gt;    &lt;/xsl:text&gt;&lt;br /&gt;  &lt;/xsl:for-each&gt;&lt;br /&gt;&lt;xsl:text&gt;&lt;br /&gt;    &lt;/xsl:text&gt;&lt;br /&gt;&lt;br /&gt;        &lt;xsl:element name="{record/@element}"&gt;&lt;br /&gt;       &lt;xsl:for-each select="record/field"&gt;&lt;br /&gt;              &lt;xsl:element name="{@element}"&gt;&lt;xsl:text&gt;&lt;br /&gt;        &lt;/xsl:text&gt;&lt;br /&gt;            &lt;xsl:element name="xsl:value-of"&gt;&lt;br /&gt;              &lt;xsl:attribute name="select"&gt;&lt;xsl:text&gt;normalize-space($&lt;/xsl:text&gt;&lt;br /&gt;                &lt;xsl:value-of select="@element"/&gt;&lt;br /&gt;                &lt;xsl:text&gt;)&lt;/xsl:text&gt;                &lt;br /&gt;              &lt;/xsl:attribute&gt;&lt;br /&gt;          &lt;/xsl:element&gt;  &lt;xsl:text&gt;&lt;br /&gt;      &lt;/xsl:text&gt;&lt;br /&gt;          &lt;/xsl:element&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/xsl:for-each&gt;&lt;br /&gt;&lt;/xsl:element&gt;&lt;xsl:text&gt;&lt;br /&gt;  &lt;/xsl:text&gt;&lt;br /&gt;&lt;/xsl:element&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt; &lt;br /&gt;  &lt;/xsl:element&gt;&lt;br /&gt;&lt;/xsl:element&gt; &lt;!-- template match --&gt;&lt;br /&gt;&lt;/xsl:element&gt; &lt;!-- gallery --&gt;&lt;br /&gt;  &lt;/xsl:template&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;xsl:template match="summary/field"&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt;      &lt;xsl:element name="xsl:element"&gt;&lt;br /&gt;        &lt;xsl:attribute name="name"&gt;&lt;br /&gt;          &lt;xsl:value-of select="@element"/&gt;&lt;br /&gt;        &lt;/xsl:attribute&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt;        &lt;xsl:element name="xsl:value-of"&gt;&lt;br /&gt;          &lt;xsl:attribute name="select"&gt;&lt;br /&gt;            &lt;xsl:value-of select="@xpath"/&gt;&lt;br /&gt;          &lt;/xsl:attribute&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt;        &lt;/xsl:element&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt;      &lt;/xsl:element&gt;&lt;xsl:text&gt;&lt;br /&gt;&lt;/xsl:text&gt;&lt;br /&gt;&lt;/xsl:template&gt;&lt;br /&gt;&lt;/xsl:stylesheet&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;output: gallery.xml (this file is the product of gallery_xhtml.xml and gallery.xsl)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?xml version="1.0"?&gt;&lt;br /&gt;&lt;gallery&gt;&lt;br /&gt;  &lt;title&gt;Journey to Windsor&lt;/title&gt;&lt;br /&gt;  &lt;photo&gt;&lt;br /&gt;    &lt;title&gt;Windsor Castle&lt;/title&gt;&lt;br /&gt;    &lt;date&gt;July 2003&lt;/date&gt;&lt;br /&gt;    &lt;image&gt;dscn0824.jpg&lt;/image&gt;&lt;br /&gt;    &lt;description&gt;&lt;br /&gt;      A bright, red mailbox inside the castle. It seems oddly familiar in an historic setting.&lt;br /&gt;    &lt;/description&gt;&lt;br /&gt;  &lt;/photo&gt;&lt;br /&gt;&lt;/gallery&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sun, 10 Feb 2008 15:35:40 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5127</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>Make a variable CSS</title>
      <link>http://snippets.dzone.com/posts/show/5110</link>
      <description>Page.html&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"&lt;br /&gt;	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;&lt;br /&gt;&lt;br /&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;	&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;title&gt;Variable CSS&lt;/title&gt;&lt;br /&gt;	&lt;link rel="stylesheet" type="text/css" href="style.php" /&gt;&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Title&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="color-1"&gt; Text  Text  Text  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="color-2"&gt; Text  Text  Text  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="color-3"&gt; Text  Text  Text  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Style.php&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;header('Content-Type: text/css');&lt;br /&gt;&lt;br /&gt;$color_0 = '#000000';&lt;br /&gt;$color_1 = '#ff0000';&lt;br /&gt;$color_2 = '#ff3300';&lt;br /&gt;$color_3 = '#ff6600';&lt;br /&gt;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;* { font-family: sans-serif; }&lt;br /&gt;&lt;br /&gt;h1 {&lt;br /&gt;	padding: 5px;&lt;br /&gt;	color: &lt;?= $color_0 ?&gt;;&lt;br /&gt;	border: 5px solid &lt;?= $color_2 ?&gt;;&lt;br /&gt;	background-color: &lt;?= $color_3 ?&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;p.color-1 { color: &lt;?= $color_1 ?&gt;; }&lt;br /&gt;p.color-2 { color: &lt;?= $color_2 ?&gt;; font-weight: bold; }&lt;br /&gt;p.color-3 { color: &lt;?= $color_3 ?&gt;; font-style: italic; }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ab-d.fr"&gt;Source: Asselin Benoit D&#233;veloppement, cr&#233;ation de site internet amiens&lt;/a&gt;</description>
      <pubDate>Wed, 06 Feb 2008 19:02:03 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5110</guid>
      <author>ki4ngel (Benoit Asselin)</author>
    </item>
    <item>
      <title>Scrape an XHTML document using Ruby</title>
      <link>http://snippets.dzone.com/posts/show/5039</link>
      <description>A simple Ruby script to scrape an XHTML file with the selected content being saved to an xml file ready for transformation into an RSS feed.  This example uses the XHTML file from http://newsgang.net/audio/ which is then saved locally as 'thegang.xml'.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/ruby&lt;br /&gt;# file: thegang.rb&lt;br /&gt;&lt;br /&gt;require 'rexml/document'&lt;br /&gt;include REXML&lt;br /&gt;&lt;br /&gt;class TheGang&lt;br /&gt;  def initialize()&lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  def rssify()&lt;br /&gt;    file = File.new('thegang.xml','r')&lt;br /&gt;    doc = Document.new(file)&lt;br /&gt;    rss_doc = Document.new&lt;br /&gt;    root = Element.new('rss')&lt;br /&gt;    rss_doc.add_element(root)&lt;br /&gt;    &lt;br /&gt;    doc.root.elements.each("body/div/ul/li/h2/a") do |node|    &lt;br /&gt;      o_rssitem = Element.new('item')&lt;br /&gt;      o_li = node.parent.parent&lt;br /&gt;      &lt;br /&gt;      o_rsstitle = Element.new('title')&lt;br /&gt;      o_rsstitle.text = node.text.gsub(/[\n,' ']/,'')&lt;br /&gt;      o_rssitem.add_element(o_rsstitle)&lt;br /&gt;      &lt;br /&gt;      o_rsshref_audio = Element.new('href_audio')&lt;br /&gt;      o_rsshref_audio.text = node.attributes.get_attribute('href').to_s.gsub('amp;&amp;','')      &lt;br /&gt;      o_rssitem.add_element(o_rsshref_audio)&lt;br /&gt;      &lt;br /&gt;      o_rsshref = Element.new('href')&lt;br /&gt;      o_rsshref.text = o_rsshref_audio.text.gsub('&amp;amp;from=audio','')      &lt;br /&gt;      o_rssitem.add_element(o_rsshref)&lt;br /&gt;      &lt;br /&gt;      o_rssdate = Element.new('date')&lt;br /&gt;      o_rssdate.text = "#{o_li.elements["p/span[1]"].text} #{o_li.elements["p/span[2]"].text}"&lt;br /&gt;      o_rssitem.add_element(o_rssdate)&lt;br /&gt;      rss_doc.root.add_element(o_rssitem)&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    file = File.new('thegang_rss.xml','w')&lt;br /&gt;    file.puts rss_doc&lt;br /&gt;    file.close&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if __FILE__ == $0&lt;br /&gt;  gang = TheGang.new&lt;br /&gt;  gang.rssify&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;see also: www.dapper.net&lt;br /&gt;&lt;br /&gt;output (extract)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;rss&gt;&lt;br /&gt;  &lt;item&gt;&lt;title&gt;TheGangXII-II&lt;/title&gt;&lt;href_audio&gt;/gangitem/id=6501&amp;amp;from=audio&lt;/href_audio&gt;&lt;href&gt;/gangitem/id=6501&lt;/href&gt;&lt;date&gt;Jan 25&lt;/date&gt;&lt;/item&gt;&lt;br /&gt;  &lt;item&gt;&lt;title&gt;TheGangXII-I&lt;/title&gt;&lt;href_audio&gt;/gangitem/id=6499&amp;amp;from=audio&lt;/href_audio&gt;&lt;href&gt;/gangitem/id=6499&lt;/href&gt;&lt;date&gt;Jan 25&lt;/date&gt;&lt;/item&gt;&lt;br /&gt;  &lt;item&gt;&lt;title&gt;NewsGangLive01.24.08&lt;/title&gt;&lt;href_audio&gt;/gangitem/id=6445&amp;amp;from=audio&lt;/href_audio&gt;&lt;href&gt;/gangitem/id=6445&lt;/href&gt;&lt;date&gt;Jan 24&lt;/date&gt;&lt;/item&gt;&lt;br /&gt;  &lt;item&gt;&lt;title&gt;NewsGangLiveII&lt;/title&gt;&lt;href_audio&gt;/gangitem/id=6377&amp;amp;from=audio&lt;/href_audio&gt;&lt;href&gt;/gangitem/id=6377&lt;/href&gt;&lt;date&gt;Jan 23&lt;/date&gt;&lt;/item&gt;&lt;br /&gt;  ...&lt;br /&gt;&lt;/rss&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sun, 27 Jan 2008 14:09:24 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5039</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>How to detect a browser iPhone ?</title>
      <link>http://snippets.dzone.com/posts/show/4826</link>
      <description>The browser is :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;Mozilla/5.0 (iPhone; U; CPU like Mac OS X; fr) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ab-d.fr/"&gt;Source: ab-d.fr&lt;br /&gt;Internet with iPhone&lt;br /&gt;&lt;/a&gt;</description>
      <pubDate>Thu, 29 Nov 2007 10:34:42 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4826</guid>
      <author>ki4ngel (Benoit Asselin)</author>
    </item>
    <item>
      <title>Running Haml stand-alone</title>
      <link>http://snippets.dzone.com/posts/show/4753</link>
      <description>This Ruby code converts HAML to XHTML. code based on the example given at 'A HAML Server for Web Designers' http://urltea.com/23j8 [wiseheartdesign.com]. &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;require 'haml'&lt;br /&gt;&lt;br /&gt;def parse_haml(string)&lt;br /&gt;  engine = Haml::Engine.new(string)&lt;br /&gt;  engine.render&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;parse_haml("#hello")&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Note: The above code worked on Ubuntu 7.10, and on Gentoo I declared require 'haml/engine' as an alternative to requiring 'rubygems' and 'haml'.</description>
      <pubDate>Wed, 14 Nov 2007 12:12:14 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4753</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>Safari 3 - Resizable Text Fields</title>
      <link>http://snippets.dzone.com/posts/show/4415</link>
      <description>With Safari 3, you can resize the TEXTAREA, but you can control this properties with CSS3.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="30" rows="10" style="resize: both;"&gt;www.AB-D.fr presents the new TEXTAREA&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="30" rows="10" style="resize: horizontal;"&gt;www.AB-D.fr presents the new TEXTAREA&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="30" rows="10" style="resize: vertical;"&gt;www.AB-D.fr presents the new TEXTAREA&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="30" rows="10" style="resize: none;"&gt;www.AB-D.fr presents the new TEXTAREA&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ab-d.fr/"&gt;Links:&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.apple.com/safari/"&gt;http://www.apple.com/safari/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.w3.org/TR/css3-ui/#resize"&gt;http://www.w3.org/TR/css3-ui/#resize&lt;/a&gt;&lt;br /&gt;</description>
      <pubDate>Sun, 12 Aug 2007 07:25:38 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4415</guid>
      <author>ki4ngel (Benoit Asselin)</author>
    </item>
  </channel>
</rss>
