<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- CVS: $Id$ -->
<samples xmlns:xlink="http://www.w3.org/1999/xlink" name="LinkRewriter Block Samples">
  <group name="Back">
    <sample name="Back" href="../..">to Cocoon Samples main page</sample>
    <sample name="Back" href="..">to Cocoon Blocks Samples main page</sample>
  </group>

  <group name="LinkRewriter Demos">
    <sample name="sitedemo" href="sitedemo/welcome">
      a demo with one page, 'welcome', with links that will have ..'s
      progressively added for each directory 'welcome' is in.  Eg, try
      <link href="sitedemo/welcome">welcome</link>, <link
      href="sitedemo/foo/welcome">foo/welcome</link>, <link
      href="sitedemo/foo/bar/welcome">foo/bar/welcome</link> and watch the
      links change.
    </sample>
    <sample name="bookdemo" href="bookdemo/index.html">
      a demonstration of using a book.xml file to resolve links between pages.
    </sample>
  </group>
  <group name="Docs">
    <sample name="See Also" href="http://xml.apache.org/forrest/linking.html">
      page on the Forrest site.
    </sample>
  </group>

 <!--
  <group name="Documentation">
    <sample name="Docs" href="../../docs/index">
    The Cocoon documentation.
   </sample>
    <sample name="Tutorial" href="tutorial/home.html">
    A tutorial on Cocoon.
   </sample>
    <sample name="List of docs" href="../../docs/doclist.html">
    Generated list of all documentation (aggregates each book.xml)
   </sample>
    <sample name="Slides" href="slides/slides">
    An old, but still relevant, presentation of Cocoon 1 shown at
    ApacheCon 2000 (an example of complex XSLT usage).
   </sample>
    <sample name="Search the docs" href="search/welcome">
    Search into the Cocoon documentation using Apache Lucene.
   </sample>
    <sample name="Check links" href="linkstatus/">
    Verify that there are no broken hyperlinks in the Cocoon documentation.
   </sample>
  </group>
  <group name="JSP with Cocoon">
    <sample name="JSP samples" href="jsp/">
    JSP usage with Cocoon
   </sample>
 </group>
 -->
</samples>
