<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                      "../../lib/docbook/docbook-dtd/docbookx.dtd"
[
<!ENTITY preface        SYSTEM "preface.xml">
<!ENTITY gettingstarted SYSTEM "gettingstarted.xml">
<!ENTITY language       SYSTEM "language.xml">
<!ENTITY examples       SYSTEM "examples.xml">
<!ENTITY idioms       SYSTEM "idioms.xml">
<!ENTITY pitfalls       SYSTEM "pitfalls.xml">
<!ENTITY quickreference SYSTEM "quickreference.xml">
<!ENTITY semantics      SYSTEM "semantics.xml">
<!ENTITY implementation SYSTEM "implementation.xml">
]>

<book>
  <bookinfo>
    <title>The AspectJ<superscript>TM</superscript> Programming Guide</title>

    <authorgroup>
      <author>
        <othername>the AspectJ Team</othername>
      </author>
    </authorgroup>
      
    <legalnotice>
      <para>
        Copyright (c) 1998-2001 Xerox Corporation, 
        2002-2003 Palo Alto Research Center, Incorporated.  
        All rights reserved.
      </para>
    </legalnotice>

    <abstract>
      <para>
        This programming guide describes the AspectJ language. A
        companion guide describes the tools which are part of the
        AspectJ development environment.
      </para>

      <para>
        If you are completely new to AspectJ, you should first read
        <xref linkend="starting"/> for a broad overview of programming
        in AspectJ. If you are already familiar with AspectJ, but want a deeper
        understanding, you should read <xref linkend="language"/> and
        look at the examples in the chapter. If you want a more formal
        definition of AspectJ, you should read <xref linkend="semantics"/>.
      </para>
    </abstract>
  </bookinfo>

  &preface;
  &gettingstarted;
  &language;
  &examples;
  &idioms;
  &pitfalls;
  &quickreference;
  &semantics;
  &implementation;

</book>
