<?xml version="1.0" encoding="UTF-8"?>
<technologies>
  <technology type="Ajax">
    <document>
      <location>examples/ajax/HEAD.txt</location>
      <description>HEAD name/value pairs</description>
    </document>
    <document>
      <location>examples/ajax/xhr.html</location>
      <description>A collection of functions used to perform Ajax calls.  Based on a skeletal Ajax module by John Resig, author of the jQuery JavaScript library, it has since by augmented and expanded as needed.</description>
    </document>
  </technology>

  <technology type="CSS">
    <document>
      <location>examples/css/attribute_selectors.html</location>
      <description>Highlights various CSS2.1 attribute selectors</description>
    </document>
    <document>
      <location>examples/css/counters.txt</location>
      <description>Use CSS counters to increment any elements and custom number (or letter) infinite nested lists</description>
    </document>
    <document>
      <location>examples/css/CSS Bugs.doc</location>
      <description>A list of CSS bugs and their fixes</description>
    </document>
    <document>
      <location>examples/css/CSS Definitions.doc</location>
      <description>Miscellaneous CSS definitions</description>
    </document>
    <document>
      <location>examples/css/CSS Floating.doc</location>
      <description>All about floating elements with CSS</description>
    </document>
    <document>
      <location>examples/css/CSS Hacks.doc</location>
      <description>A list of CSS hacks and filters</description>
    </document>
    <document>
      <location>examples/css/CSS Lists.doc</location>
      <description>All about CSS and lists</description>
    </document>
    <document>
      <location>examples/css/hasLayout.html</location>
      <description>Explains IE's layout concept with an example</description>
    </document>
    <document>
      <location>examples/css/Inline Elements.doc</location>
      <description>All about replaced and nonreplaced inline elements</description>
    </document>
    <document>
      <location>examples/css/CSS Positioning.doc</location>
      <description>All about positioning elements with CSS</description>
    </document>
    <document>
      <location>examples/css/specificity.html</location>
      <description>Specificity and targeting HTML elements using the cascade.</description>
    </document>
    <document>
      <location>examples/css/Styling The Body Tag.doc</location>
      <description>Styling the HTML tag to force the BODY tag to behave like a DIV</description>
    </document>
    <document>
      <location>examples/css/CSS Table Layout.doc</location>
      <description>All about CSS and table layout</description>
    </document>
    <document>
      <location>examples/css/CSS Terms and Properties.doc</location>
      <description>Notes on miscellaneous terms and properties</description>
    </document>
    <document>
      <location>examples/css/reset.txt</location>
      <description>reset.css by Eric Meyer</description>
    </document>
  </technology>
  
  <technology type="Computer Science">
    <document>
      <location>examples/computer-science/how_a_program_runs.html</location>
      <description>How a program runs.</description>
    </document>
  </technology>

  <technology type="Encoding">
    <document>
      <location>examples/encoding/base64_encoding.html</location>
      <description>Learn all about Base64 encoding and data URIs.</description>
    </document>
    <document>
      <location>examples/encoding/basic_authentication.html</location>
      <description>Basic HTTP Authentication</description>
    </document>
  </technology>

  <technology type="HTML">
    <document>
      <location>examples/html/ie_conditional_comments.txt</location>
      <description>IE conditional comments</description>
    </document>
    <document>
      <location>examples/html/microformats.html</location>
      <description>An example of microformats</description>
    </document>
    <document>
      <location>examples/html/strict_doctype.txt</location>
      <description>A Strict DOCTYPE and partial header</description>
    </document>
  </technology>

  <technology type="HTTP">
    <document>
      <location>examples/http/http_compression.html</location>
      <description>An explanation and example of mod_gzip and mod_deflate.</description>
    </document>
    <document>
      <location>examples/http/ssh_tunneling.html</location>
      <description>Learn how to set up SSH tunneling and a Squid proxy server.</description>
    </document>
  </technology>

  <technology type="JavaScript" list="subgroup">
    <item app="Browser Bugs">
      <document>
        <location>examples/javascript/browser-bugs/ie_opera_index_bug.txt</location>
        <description>Internet Explorer and Opera 'index' as attribute value bug.</description>
      </document>
    </item>
    <item app="Client-side">
      <document>
        <location>examples/javascript/client-side/addLoadEvent.txt</location>
        <description>A function that allows for unlimited onload event handlers.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/blur.html</location>
        <description>A blur method that can be used for both links and inputs and is great for attaching event handlers on-the-fly.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/cleanWhitespace.txt</location>
        <description>A function that strips out whitespace from a document.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/closeTooltip.html</location>
        <description>Close a tooltip by clicking anywhere in the document.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/getting_value_from_radios.html</location>
        <description>How to determine which radio button was selected from a group.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/Handler.html</location>
        <description>David Flanagan's Handler module :: portable event-handler registration functions.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/id_name_confusion_in_ie.html</location>
        <description>id and Name attribute confusion in IE when using document.getElementById().</description>
      </document>
      <document>
        <location>examples/javascript/client-side/coords.txt</location>
        <description>A collection of functions that determines the mouse coordinates in the document. Thanks to John Resig.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/createElem.html</location>
        <description>A function that creates DOM element nodes on the fly.  Also, can optionally set ID and CLASS attributes and values. Multiple versions.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/getStyle.txt</location>
        <description>A function that retrieves the computed style value of a CSS property.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/getElementsByClassName.txt</location>
        <description>A function that creates a pseudo-array collection of the specified class name.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/removeElementsByClassName.txt</location>
        <description>A function that removes a specified class name from the document.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/getElementById.txt</location>
        <description>Prototype's document.getElementById() shortcut.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/innerHTML.doc</location>
        <description>A description and example of the innerHTML property.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/innerHTML_safari.html</location>
        <description>Safari and innerHTML bug.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/insertAfter.txt</location>
        <description>A function that allows for the insertion of a DOM element after the specified element. Thanks to Jeremy Keith.</description>
      </document>
      <document>
        <location>examples/javascript/client-side/cookie_swap.html</location>
        <description>Using cookies to swap class names</description>
      </document>
      <document>
        <location>examples/javascript/client-side/cookie_swap_alt.html</location>
        <description>This examples uses an anonymous function that is invoked as the browsers parse the document and before it invokes its onload event handler</description>
      </document>
      <document>
        <location>examples/javascript/client-side/targetBlank.txt</location>
        <description>A function that replaces the deprecated "target='_blank'".</description>
      </document>
      <document>
        <location>examples/javascript/client-side/removeChildren.txt</location>
        <description>A function that allows the developer to remove all the children from a parent node in one fell swoop. Cool!</description>
      </document>
      <document>
        <location>examples/javascript/client-side/xslt.html</location>
        <description>JavaScript and XSLT processing.</description>
      </document>
    </item>
    <item app="Core">
      <document>
        <location>examples/javascript/core/__proto__.html</location>
        <description>Discusses the hidden __proto__ link.</description>
      </document>
      <document>
        <location>examples/javascript/core/Arithmetic Unary Operators.doc</location>
        <description>All about JavaScript unary operators.</description>
      </document>
      <document>
        <location>examples/javascript/core/Array.prototype.html</location>
        <description>augmenting Array.prototype</description>
      </document>
      <document>
        <location>examples/javascript/core/boolean_test.txt</location>
        <description>A function that tests if two values are Booleans.</description>
      </document>
      <document>
        <location>examples/javascript/core/capFirstLetter.txt</location>
        <description>Capitalize the first letter of each word in a given string.</description>
      </document>
      <document>
        <location>examples/javascript/core/custom_error_handling.html</location>
        <description>Exceptions and custom error handling</description>
      </document>
      <document>
        <location>examples/javascript/core/for_loops_and_closure.html</location>
        <description>An example of using a closure to ensure that a function is passed its correct value in a FOR loop.</description>
      </document>
      <document>
        <location>examples/javascript/core/Function.prototype.html</location>
        <description>augmenting Function.prototype</description>
      </document>
      <document>
        <location>examples/javascript/core/inheritance.html</location>
        <description>Inheritance in JavaScript.</description>
      </document>
      <document>
        <location>examples/javascript/core/logger.html</location>
        <description>An example of how to build a custom logger.</description>
      </document>
      <document>
        <location>examples/javascript/core/object_as_array.html</location>
        <description>An example of an object behaving as an array.</description>
      </document>
      <document>
        <location>examples/javascript/core/RegExp.exec.html</location>
        <description>The powerful RegExp.exec() method.</description>
      </document>
      <document>
        <location>examples/javascript/core/setting_the_date.html</location>
        <description>Using the native JavaScript Date object to set a date one day in the future.</description>
      </document>
      <document>
        <location>examples/javascript/core/replace.html</location>
        <description>The String object's replace method and an example of how it can be used as a client-side HTML generator.</description>
      </document>
      <document>
        <location>examples/javascript/core/counter.txt</location>
        <description>A closure that acts as a counter.</description>
      </document>
      <document>
        <location>examples/javascript/core/invoker.html</location>
        <description>A function that allows for invoking multiple functions at once, such as when initializing an application on page load.</description>
      </document>
      <document>
        <location>examples/javascript/core/Hungarian_notation.txt</location>
        <description>My version of Hungarian notation in which the name of a variable indicates its type or intended use.</description>
      </document>
      <document>
        <location>examples/javascript/core/makeClass.html</location>
        <description>John Resig's makeClass() method explained.</description>
      </document>
      <document>
        <location>examples/javascript/core/millennium_problem.html</location>
        <description>A description of the millenium problem when using the Date object. Thanks to QuirksMode.</description>
      </document>
      <document>
        <location>examples/javascript/core/pass_by_value.html</location>
        <description>JavaScript passes function parameters by value.</description>
      </document>
      <document>
        <location>examples/javascript/core/range.html</location>
        <description>A function inspired by Ruby's range method.</description>
      </document>
      <document>
        <location>examples/javascript/core/sort.txt</location>
        <description>Custom functions that return case-insensitive alphabetical sorts and 'true' numeric sorts</description>
      </document>
      <document>
        <location>examples/javascript/core/String.prototype.html</location>
        <description>augmenting String.prototype</description>
      </document>
    </item>
    <item app="Design Patterns">
      <document>
        <location>examples/javascript/design-patterns/bind.html</location>
        <description>Function Binding: Create a function that calls another function in a particular context with specific arguments.</description>
      </document>
      <document>
        <location>examples/javascript/design-patterns/curry.html</location>
        <description>Function Currying: Create functions that have one or more arguments already set.</description>
      </document>
      <document>
        <location>examples/javascript/design-patterns/Composite.html</location>
        <description>The Composite design pattern.</description>
      </document>
      <document>
        <location>examples/javascript/design-patterns/Decorator.html</location>
        <description>The Decorator design pattern.</description>
      </document>
    </item>
    <item app="Inheritance Patterns">
      <document>
        <location>examples/javascript/inheritance-patterns/jslite.html</location>
        <description>The jsLite inheritance pattern.</description>
      </document>
      <document>
        <location>examples/javascript/inheritance-patterns/mootools.html</location>
        <description>The MooTools inheritance pattern.</description>
      </document>
    </item>
    <item app="Optimization">
      <document>
        <location>examples/javascript/optimization/function_decompilation.html</location>
        <description>Function decompliation: inspecting the textual body of a function with a regular expression.</description>
      </document>
      <document>
        <location>examples/javascript/optimization/loops.html</location>
        <description>Optimization strategies for loops.</description>
      </document>
      <document>
        <location>examples/javascript/optimization/memoization.html</location>
        <description>An example of memoization using a property of a function.</description>
      </document>
    </item>
    <item app="Server-side">
      <document>
        <location>examples/javascript/server-side/long_polling_with_nodejs.html</location>
        <description>Long Polling (Comet) with node.js.</description>
      </document>
    </item>
  </technology>

  <technology type="Linux">
    <document>
      <location>examples/linux/patchfile.html</location>
      <description>Making a patch file and applying it against another file.</description>
    </document>
    <document>
      <location>examples/linux/tar_cheatsheet.html</location>
      <description>tar Cheat Sheet</description>
    </document>
  </technology>

  <technology type="PHP">
    <document>
      <location>examples/php/exceptions.html</location>
      <description>PHP5's Exception handling.</description>
    </document>
    <document>
      <location>examples/php/file_upload.html</location>
      <description>Uploading files using PHP.</description>
    </document>
    <document>
      <location>examples/php/proxy.txt</location>
      <description>Basic PHP proxy using cURL.</description>
    </document>
  </technology>

  <technology type="CSS Layout" list="subgroup">
    <item app="Server-side-driven Menu">
      <document>
        <location content="demonstration">examples/css-layout/server-side-driven-menu/index.html</location>
        <description>Classic drag &amp; drop behavior</description>
      </document>
      <document>
        <location content="readme">examples/css-layout/server-side-driven-menu/readme.html</location>
        <description>READ ME</description>
      </document>
      <document>
        <location content="stylesheet">examples/css-layout/server-side-driven-menu/main.css</location>
        <description>The stylesheet</description>
      </document>
    </item>
    <item app="Layout via Absolute Positioning">
      <document>
        <location content="demonstration">examples/css-layout/layout_via_absolute_positioning.html</location>
        <description>Layout a page using absolute positioning</description>
      </document>
    </item>
  </technology>

  <technology type="DHTML" list="subgroup">
    <item app="Drag and Drop">
      <document>
        <location content="demonstration">examples/dhtml/drag-drop/index.html</location>
        <description>Classic drag &amp; drop behavior</description>
      </document>
      <document>
        <location content="javascript">examples/dhtml/drag-drop/code/drag_drop.txt</location>
        <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Scroll Menu">
      <document content="Demonstration">
        <location content="demonstration">examples/dhtml/scroll-menu/index.html</location>
        <description>A cool scroll menu, inspired by the accordion menu.</description>
      </document>
      <document>
        <location content="javascript">examples/dhtml/scroll-menu/code/scroll-menu.txt</location>
        <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Sliding Menu">
      <document content="Demonstration">
        <location content="demonstration">examples/dhtml/sliding-menu/index.html</location>
        <description>The sliding menu resides off-screen and then slides into view</description>
      </document>
      <document>
        <location content="javascript">examples/dhtml/sliding-menu/code/sliding_menu.txt</location>
        <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Splash Screen">
      <document content="Demonstration">
        <location content="demonstration">examples/dhtml/splash-screen/index.html</location>
        <description>The splash screen behaves better in FF</description>
      </document>
      <document>
        <location content="javascript">examples/dhtml/splash-screen/code/splash_screen.txt</location>
        <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Text Copy">
      <document>
        <location content="demonstration">examples/dhtml/textcopy.html</location>
        <description>Ever wonder how to type into a form and have it duplicated in another? Here's how!</description>
      </document>
    </item>
    <item app="Yellow Fade Technique">
      <document>
        <location content="demonstration">examples/dhtml/yellow-fade/index.html</location>
        <description>The Yellow Fade Technique inspired by 37signals</description>
      </document>
      <document>
    <location content="javascript">examples/dhtml/yellow-fade/code/yellow_fade.txt</location>
    <description>The JavaScript code</description>
	  </document>
	</item>
  </technology>
  
  <technology type="Games" list="subgroup">
    <item app="Greater Than">
      <document>
        <location content="demonstration">examples/games/greater-than/index.html</location>
        <description>Choose two cards at a time. If the second card's value is greater than the first, then you don't lose a point. Win fabulous prizes!</description>
      </document>
      <document>
        <location content="stylesheet">examples/games/greater-than/code/greater_than_css.txt</location>
        <description>The stylesheet</description>
      </document>
      <document>
        <location content="javascript">examples/games/greater-than/code/greater_than_js.txt</location>
        <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Memory">
      <document>
        <location content="demonstration">examples/games/memory/index.html</location>
        <description>The classic game of memory</description>
      </document>
      <document>
        <location content="stylesheet">examples/games/memory/code/memory_css.txt</location>
        <description>The stylesheet</description>
      </document>
      <document>
        <location content="javascript">examples/games/memory/code/memory_js.txt</location>
        <description>The JavaScript code</description>
      </document>
    </item>
  </technology>
      
  <technology type="Tutorials" list="subgroup">
    <item app="Context">
      <document>
        <location content="tutorial">examples/tutorials/context.doc</location>
        <description>Context and the &quot;this&quot; variable in JavaScript</description>
      </document>
    </item>
    <item app="ECMAScript">
      <document>
        <location content="tutorial">examples/tutorials/ecmascript.html</location>
        <description>Ever wonder about the relationship between JavaScript and ECMAScript? So did I!</description>
        </document>
    </item>
    <item app="Events">
      <document>
        <location content="tutorial">examples/tutorials/Events/events.doc</location>
        <description>All about JavaScript events and how to bind them to DOM elements</description>
        </document>
    </item>
    <item app="OOP">
      <document>
        <location content="tutorial">examples/tutorials/OOP/OOP.doc</location>
        <description>Object-oriented programming (OOP) with JavaScript</description>
          </document>
          <document>
            <location content="demonstration">examples/tutorials/OOP/OOP.html</location>
        <description>See it in action</description>
          </document>
          <document>
            <location content="javascript">examples/tutorials/OOP/OOP.txt</location>
        <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Primitive Types and Reference Types">
       <document>
         <location content="tutorial">examples/tutorials/primitive_vs_reference_types.doc</location>
         <description>JavaScript data types: primitive versus reference</description>
       </document>
    </item>
    <item app="(More) Primitive Types and Reference Types">
      <document>
        <location content="tutorial">examples/tutorials/reference_types.html</location>
        <description>Can't get enough about primitive types and reference types? Neither can I!</description>
     </document>
   </item>
  <item app="Scope">
  <document>
    <location content="tutorial">examples/tutorials/scope.doc</location>
    <description>Scope in JavaScript</description>
     </document>
    </item>
    <item app="Select and Option Elements">
      <document>
        <location content="tutorial">examples/tutorials/select-option/select_and_options.doc</location>
        <description>How to dynamically create select lists, remove a particular option, and more.</description>
         </document>
    </item>
      </technology>
      
      <technology type="Widgets" list="subgroup">
    <item app="Accordion">
      <document>
        <location content="demonstration">examples/widgets/Accordion/index.html</location>
        <description>A nifty DHTML script that mimics a windowshade being drawn/opened</description>
      </document>
      <document>
        <location content="stylesheet">examples/widgets/Accordion/code/accordion_css.txt</location>
        <description>The stylesheet</description>
      </document>
      <document>
        <location content="javascript">examples/widgets/Accordion/code/accordion_js.txt</location>
    <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Disabler">
      <document>
        <location content="demonstration">examples/widgets/Disabler/index.html</location>
        <description>Three different examples of disabling buttons</description>
      </document>
    </item>
    <item app="Scrubber">
      <document>
        <location content="demonstration">examples/widgets/Scrubber/index.html</location>
        <description>An object-oriented, fully configurable JavaScript validation script</description>
      </document>
      <document>
        <location content="stylesheet">examples/widgets/Scrubber/code/scrubber_css.txt</location>
	    <description>The stylesheet</description>
      </document>
      <document>
        <location content="javascript">examples/widgets/Scrubber/code/Scrubber.txt</location>
    <description>The Scrubber class</description>
      </document>
      <document>
        <location content="javascript">examples/widgets/Scrubber/code/validate.txt</location>
    <description>The configuration script</description>
      </document>
      <document>
        <location content="javascript">examples/widgets/Scrubber/code/housekeeping.txt</location>
    <description>Setup and helper functions</description>
      </document>
    </item>
    <item app="Sliding Doors">
      <document>
        <location content="demonstration">examples/widgets/Sliding-Doors/index.html</location>
        <description>Sliding Doors, lifted from A List Apart.</description>
      </document>
      <document>
        <location content="stylesheet">examples/widgets/Sliding-Doors/code/sliding_doors_css.txt</location>
    <description>The stylesheet</description>
      </document>
      <document>
        <location content="javascript">examples/widgets/Sliding-Doors/code/sliding_doors_js.txt</location>
    <description>The JavaScript code</description>
      </document>
    </item>
    <item app="Tooltip">
      <document>
        <location content="demonstration">examples/widgets/Tooltip/index.html</location>
        <description>Tooltip provides cross-browser contextual help</description>
      </document>
      <document>
        <location content="readme">examples/widgets/Tooltip/readme.html</location>
    <description>READ ME</description>
      </document>
      <document>
        <location content="stylesheet">examples/widgets/Tooltip/code/tooltip_css.txt</location>
    <description>The stylesheet</description>
      </document>
      <document>
        <location content="javascript">examples/widgets/Tooltip/code/tooltip_js.txt</location>
    <description>The JavaScript code</description>
      </document>
      <document>
        <location content="additional">examples/widgets/Tooltip/code/toolbox.txt</location>
    <description>The Toolbox, the repository for each Tooltip</description>
      </document>
    </item>
  </technology>
</technologies>

