<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="page.xml"?>
<!--
    Document   : web.xml
    Created on : 02 August 2004, 21:37
    Author     : owen
    Description:
        Purpose of the document follows.
-->

<page name="web">
  <title>Owen Rees: Opinions about the web</title>
  <h2>On correct HTML</h2>
  <p>This is an opportunity to display some 'attitude'. I believe that web pages should be written
    to conform to the HTML standards. I also believe that most pages should be designed to let
    readers get the information they want quickly and easily. This page is relatively plain, not
    just because I don't want to waste time on the cute tricks I am quite able to use, but also
    because those tricks have no place on a page of this nature. There are plenty of sites that
    offer advice on style for web pages, but one of the best places to start is <a
      href="http://www.w3.org/">the World Wide Web Consortium (W3C)</a>. Anyone writing serious
    pages (rather than writing for fun as I am now) should study and follow the advice there,
    especially things like the accessibilty guidelines. They also have a <a
      href="http://validator.w3.org/">validator</a> that you can use to make sure that your HTML is
    not broken syntactically. If you want a laugh, look at <a
      href="http://www.webpagesthatsuck.com/">"web pages that suck"</a> which collects examples of
    pages illustrating poor design choices. Many of the pages listed there show that the authors are
    skilled in the technology, but have little idea how to apply that skill to good effect.</p>
  <h2>Tools and Resources</h2>
  <p>I created these pages using XML and XSLT, Eclipse as the editor and Ant do the build. The ones
      <a href="web.html">served as HTML</a> were processed by Saxon 8, an XSLT 2 processor. The ones
      <a href="web.xml">served as XML</a> are linked to <a href="page.xml">an XSLT transform</a>
    that your browser applies to the XML. The navigation menu is generated by the XSLT based on <a
      href="menu.xml">an XML description</a>. The same input XML is used for both versions, only the
    XSLT differs. Applying a transform to the XML makes it possible to generate <a
      href="web.xml?style=hmenu">a different style</a> and despite the relatively similar appearance
    at the moment, both the page structure and the CSS are different. The tricky bit here is
    arranging that the XSLT can detect the style that has been requested.</p>
  <p>This page creation system is quite easy if you already know how to use all those tools, but I
    would not suggest it as a good way for a beginner to start. I used NetBeans as the editor for a
    while, but did not like the 'upgraded' version so switched to using Eclipse.</p>
  <p>One problem with the XML and client side XSLT approach is that you can't use the usual
    validators to check arbitrary XML. <a href="test-xhtml.xml">Here</a> is a little test to see if
    the validators will validate XHTML, but since it is XML have browsers process it through client
    side XSLT.</p>
  <p>A previous version of these pages was created with <a href="http://www.chami.com/html-kit/"
      >HTML-Kit</a>. I like it because it has <cite>tidy</cite>, the HTML cleanup tool integrated
    with it.</p>
  <p>Here are some sites I have found useful for information about HTML:</p>
  <ul>
    <li>
      <p><a href="http://www.w3.org/MarkUp/">W3C HTML page</a>, the home of the HTML
      specifications.</p>
    </li>
    <li>
      <p><a href="http://www.htmlhelp.com/">Web Design Group</a> have a definition that is sometimes
        easier to follow.</p>
    </li>
    <li>
      <p><a href="http://www.htmlcodetutorial.com/">HTML Code Tutorial</a> includes information
        about various non-standard elements, but does not always point out which elements are
        deprecated in newer versions of HTML.</p>
    </li>
  </ul>
  <p>I also like style sheets - this page uses a style sheet to control the colours and the layout,
    including the menu with its "pop-up" effect (if your browser supports it). Here are some sites
    with useful CSS resources:</p>
  <ul>
    <li>
      <p><a href="http://www.w3.org/Style/CSS/">W3C CSS page</a>, the home of the CSS
        specifications.</p>
    </li>
    <li>
      <p><a href="http://www.bluerobot.com/">BlueRobot.com</a>: home of the Layout Reservoir</p>
    </li>
    <li>
      <p><a href="http://glish.com/css/home.asp">glish.com</a>: CSS Layout Techniques: for Fun and
        Profit</p>
    </li>
    <li>
      <p><a href="http://www.alistapart.com/stories/practicalcss/">A List Apart</a>: practical CSS
        tips, tricks &amp; techniques.</p>
    </li>
    <li>
      <p><a href="http://www.meyerweb.com/eric/css/edge/">css/edge</a>: a playground and a proving
        ground for CSS. This is where I got the ideas and techniques for the popups on the menu.</p>
    </li>
  </ul>
  <p>Other useful resources about the web:</p>
  <ul>
    <li class="mourning">
      <p>Alan Flavell had a site with many excellent and well researched resources - <i>Things to do
          with the WWW</i> but it was shut down after Alan died on 30th November 2006. We have lost
        someone who knew what he was talking about, a quality that is unfortunately all too rare,
        and he will be missed.</p>
      <p>There is some hope that the web pages on which he published so much valuable information
        will be made available again soon.</p>
    </li>
    <li>
      <p><a href="http://hsivonen.iki.fi/doctype/">Activating the Right Layout Mode Using the
          Doctype Declaration</a> by Henri Sivonen - a very useful guide to how browsers respond to
        different Doctype declarations. Thre is also some excellent advice about just doing it right
        for new pages.</p>
    </li>
    <li>
      <p><a href="http://gutfeldt.ch/matthias/articles/doctypeswitch.html"> Doctype switching and
          standards compliance: An overview</a> by Matthias Gutfeldt has not been updated as
        recently as Henri Sivonen's page (previous item) but contains more links to other
      resources.</p>
    </li>
  </ul>
  <!--<p>I have been doing some <a href=
          "csspositioning.html">experiments with CSS
          positioning</a>.</p>-->
  <p>A place I find useful for questions, answers and general discussion about web authoring is the
    newsgroup <a href="news:uk.net.web.authoring">uk.net.web.authoring</a>. There are quite a few
    other newsgroups on the topic, but I find them a bit too busy and noisy for my taste.</p>
  <h2>Some Experiments and examples</h2>
  <p>From time to time I may add some experiments and examples here.</p>
  <p>Some <a xref="characters">experiments with character and entity references</a>.</p>
  <p>Here is a <a href="3colfloat.html">page with 3 variable width columns</a> generated by CSS
    using floated divs.</p>
  <p>And here is a page with <a xref="web3col1">fixed width left and right columns</a>.</p>
  <p>Here is a page with <a xref="webcss3ff3-5">tests of CSS 3</a> and maybe other Firefox 3.5
    features.</p>
  <h2>Did you know...</h2>
  <p>Web browsers do not always do what you expect. Here are some exercises for your browser to
    illustrate the point.</p>
  <p>Does an <a href="#target">internal link</a> that is a bare fragment identifier make the page
    reload? It is not supposed to. <a name="target">This is the target</a> of the internal link on
    this page.</p>
  <p>Here are two copies of the same page, served as <a href="webtest.txt">a plain text page</a> and
      <a href="webtest.html">an HTML page</a>, but does your browser respect the distinction?</p>
  <referer/>
</page>
