<?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>Jes.Gs v2.0 &#187; xml</title>
	<atom:link href="http://www.jes.gs/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jes.gs</link>
	<description>The Portfolio and Blog of Minneapolis Web Designer Jessica C. Green</description>
	<lastBuildDate>Sat, 21 Jan 2012 19:56:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PHP and XML: LightGallery</title>
		<link>http://www.jes.gs/general/php-and-xml-lightgallery/</link>
		<comments>http://www.jes.gs/general/php-and-xml-lightgallery/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 03:47:00 +0000</pubDate>
		<dc:creator>Jess G.</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://dumpster-fairy.com/?p=247</guid>
		<description><![CDATA[Light-weight Image Gallery script powered by PHP and XML.]]></description>
			<content:encoded><![CDATA[<p>LightGallery is a new light-weight gallery script that I wrote as an answer to &#8220;weightier&#8221; scripts like Gallery and Coppermine. LightGallery does not require MySQL to run; however it <em>does</em> require <strong>PHP 5</strong> and the <strong>GD library</strong>.<span id="more-247"></span> A short example of LightGallery in action can be seen <a href="http://dumpster-fairy.com/gallery/">here</a>. You can also download the script <a href="http://www.jes.gs/wp-content/uploads/2009/03/gallery.zip">here</a>.</p>
<p>How to use LightGallery? First off, start by inserting this code at the top of any page you&#8217;d like to display your gallery:</p>
<p>Followed by:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$path</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/path/to/my/images/folder'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$thmb_size</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'thumb-height thumb-width'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$gallery</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Gallery<span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #339933;">,</span> <span style="color: #000088;">$thmb_size</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$gallery</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Output</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><code>$path</code> is obviously the full path pointing to the directory where your images reside. Replace <strong>thumb-height</strong> and <strong>thumb-width</strong> with the desired height and width of your thumbnail. The beauty of LightGallery is that it is one PHP Class that can be used as many times as need be. If you need to create a new gallery, all you have to do is create a new directory, upload your images to that directory and create a new Gallery object with <code>$path</code> set to that path.</p>
<p><strong>Some limitations include</strong>:<br />
The gallery directory has to be one level below the root directory where <code>gallery.php</code> resides. Another limitation is that LightGallery uses jQuery and ThickBox and ThickBox is hard-coded into LightGallery, though I plan to change that at a later date.</p>
<p><strong>Tips</strong>:<br />
If you want your thumbnails to display tool-tips and have captions in ThickBox, edit the <code>album.xml</code> file that is created in the directory where your images reside. Specifically edit the  and  tags so that they contain your desired title and description. Another planned edition to LightGallery is a single-user backend to allow easy editing of titles, descriptions and possibly deletion of images.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jes.gs/general/php-and-xml-lightgallery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP and XML: A Quick Introduction</title>
		<link>http://www.jes.gs/htmlcss/php-and-xml-a-quick-introduction/</link>
		<comments>http://www.jes.gs/htmlcss/php-and-xml-a-quick-introduction/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 18:00:45 +0000</pubDate>
		<dc:creator>Jess G.</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://dumpster-fairy.com/?p=236</guid>
		<description><![CDATA[A quick and dirty intro to using PHP to manipulate XML.]]></description>
			<content:encoded><![CDATA[<p>A quick and dirty intro to using PHP to manipulate XML. Very useful to know since there are probably situations where MySQL might be unavailable or just impractical and XML can make a great replacement, especially in small/light-weight applications.<br />
<span id="more-236"></span><br />
The first place we start is by looking at PHP&#8217;s <a href="http://us3.php.net/manual/en/book.dom.php">DOM extension</a>; read through the Introduction and Installation/Configuration sections before continuing.<br />
Now we&#8217;ll access the <a href="http://us3.php.net/manual/en/class.domdocument.php">DOMDocument</a> class. Starting out, this will probably be the class that gets used the most but as things progress, you&#8217;ll find yourself making use of the other classes available.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$xmldoc</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DOMDocument<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// create a new DOMDocument object.</span></pre></div></div>

<p>Yep, it&#8217;s that simple. Now here comes the fun part. This scenario is going to assume that we&#8217;re just creating a new XML object.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">formatOutput</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Nicely formats output with indentation and extra space.</span>
&nbsp;
<span style="color: #000088;">$root</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">createElement</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'xml'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//create a root element for your XML output</span>
<span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">appendChild</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$root</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Now, we're going to create a few child elements to go with it</span>
<span style="color: #000088;">$child1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">createElement</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'child_one'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Child One'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$root</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">appendChild</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$child1</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$child2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">createElement</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'child_two'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Child Two'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$root</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">appendChild</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$child2</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">saveXML</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//output to screen...</span></pre></div></div>

<p>Pretty simple and straightforward. Now, if we want to save to a file, we do this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'my-xml-file.xml'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>If we want to open and write to a file:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$xmldoc</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DOMDocument<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// create a new DOMDocument object.</span>
<span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'my-xml-file.xml'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">formatOutput</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$root</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">documentElement</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Conviently allows direct access to the root element.</span>
&nbsp;
<span style="color: #000088;">$b</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">createElement</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'another_one'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'another child'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$root</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">appendChild</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$b</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$xmldoc</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'my-xml-file.xml'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Very quick and straightforward. I hope this helps anyone who was wondering how to use XML and PHP together.</p>
<p>For more information see:</p>
<ul>
<li><a href="http://us3.php.net/manual/en/refs.xml.php">PHP Manual: XML Manipulation</a></li>
<li><a href="http://www.kirupa.com/web/index.htm (scroll down for PHP section)">Kirupa.com: PHP and XML</a></li>
<li><a href="http://www.ibm.com/developerworks/library/x-xmlphp1.html">IBM.com: XML for PHP Developers, Part 1 (three-part series)</a></li>
<li><a href="http://www.dynamicdrive.com/forums/showthread.php?t=14165">DynamicDrive Forums: Read and Write XML with PHP</a> (forum-post, this is what got me started)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jes.gs/htmlcss/php-and-xml-a-quick-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

