<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "./dtd/document-v10.dtd">

<!--

   Copyright 2002  The Apache Software Foundation 

   Licensed 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.

-->
<!-- ========================================================================= -->
<!-- author vincent.hardy@sun.com                                              -->
<!-- version $Id$ -->      
<!-- ========================================================================= -->
<document>
  <header>
    <title>Batik Demo</title>
    <authors>
      <person name="Vincent Hardy" email="vincent.hardy@sun.com"/>
    </authors>
  </header>

  <body>
    <s1 title="Trying The Batik Squiggle Browser">
        <p>
            You can experiment with the Batik browser by clicking on one of the following links.
            Note that you need to install <link href="http://java.sun.com/products/javawebstart/">Java(tm) Web Start</link> on your system
            to run these demos.
        </p>

        <ul>
            <li><link href="http://nagoya.apache.org/batik_1.1/batikNagoya.jnlp">SVG Demos</link>.  An on-line demo of the Batik SVG Browser showing various demos</li>
            <li><link href="http://nagoya.apache.org/batik_1.1/batikNagoyaFontsDemo.jnlp">SVG Fonts Demo</link>. An on-line demo of the Batik SVG Browser showing SVG Fonts at work"</li>
        </ul>

            <note>This version of the Batik browser is running from your browser and is subject to the same
            restrictions as an applet. For example, it does not have the ability to load SVG files from arbitrary
            locations. However, it does offer all the main features that the viewer has to offer, as explained in 
            the <link href="svgviewer.html">Browser tutorial</link>.</note>

    </s1>
  </body>
</document>
