nicolaken    02/05/16 10:04:03

  Modified:    src/scratchpad/src/org/apache/cocoon/transformation/constrained
                        AbstractConstrainedTransformer.java
                        ElementEventAdapter.java XmlTreeConstraint.java
               src/scratchpad/src/org/apache/cocoon/transformation
                        Chart2SvgTransformer.java
               src/scratchpad/webapp/mount/charts sitemap.xmap
  Added:       src/scratchpad/webapp/mount/charts/content/static/bar
                        bar1.xml bar10.xml bar11.xml bar12.xml bar2.xml
                        bar3.xml bar4.xml bar5.xml bar6.xml bar7.xml
                        bar8.xml bar9.xml
               src/scratchpad/src/org/apache/cocoon/transformation
                        WingsTransformer.java
               src/scratchpad/lib krysalis-wings-0.2.0-dev.jar
               src/scratchpad/webapp/mount/charts/content/static/line
                        line1.xml line2.xml line3.xml line4.xml line5.xml
                        line6.xml
               src/scratchpad/webapp/mount/charts/content/static/multi
                        multi1.xml
               src/scratchpad/webapp/mount/charts/content/static/pie
                        pie1.xml pie2.xml pie3.xml pie4.xml pie5.xml
                        pie6.xml pie7.xml
  Log:
  Added wings 0.2 lib based on new codebase and added working examples
  for it.
  This is an innitial commit of the new system; the new Wings Transformer
  was made by Tom Klaasen <[EMAIL PROTECTED]>,
  
  Revision  Changes    Path
  1.3       +55 -7     
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/constrained/AbstractConstrainedTransformer.java
  
  Index: AbstractConstrainedTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/constrained/AbstractConstrainedTransformer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractConstrainedTransformer.java       14 May 2002 20:34:22 -0000      1.2
  +++ AbstractConstrainedTransformer.java       16 May 2002 17:04:02 -0000      1.3
  @@ -44,6 +44,7 @@
   import java.util.Map;
   import java.util.Properties;
   import java.util.ArrayList;
  +import java.util.List;
   import java.util.HashMap;
   import java.util.ListIterator;
   import java.util.TooManyListenersException;
  @@ -70,32 +71,79 @@
    *  code is from the SQLTransformer of Donald Ball.
    *
    *@author     <a href="mailto:[EMAIL PROTECTED]";>Nicola Ken Barozzi</a>
  + *@author     <a href="mailto:[EMAIL PROTECTED]";>Tom Klaasen</a>
    *@created    14 mei 2002
    */
   public abstract class AbstractConstrainedTransformer
                 extends AbstractTransformer {
   
  +     /**  The URI of the namespace this class processes */
        private String my_uri;
  +     /**  The prefix that is used in the XML document to indicate the namespace */
        private String my_prefix = "unknown";
  +     /**
  +      *  The 'name' of the namespace this class processes. FIXME: Seems to be the
  +      *  last path element of the URI -- is that correct?
  +      */
        private String my_name;
  -     private ArrayList myUriOpenElements = new ArrayList();
  -     private ArrayList globalOpenElements = new ArrayList();
  -     private ArrayList globalOpenElementsAttributes = new ArrayList();
  +     /**  A List of open elements in the namespace of this class. */
  +     private List myUriOpenElements = new ArrayList();
  +     /**  A List of all open elements in the XML file that is processed. */
  +     private List globalOpenElements = new ArrayList();
  +     /**
  +      *  A List of the attributes of the open elements in the XML file that is
  +      *  processed.
  +      */
  +     private List globalOpenElementsAttributes = new ArrayList();
  +     /**  The raw representation of the element that was last opened in the XML 
file. */
        private String lastOpenElementRaw = "";
  -     private ArrayList registeredListeners = new ArrayList();
  -     private ArrayList registeredListenerConstraints = new ArrayList();
  -     private StringBuffer current_value =
  -                     new StringBuffer();
  +     /**  The List with the listeners that are interested in the events of this 
class. */
  +     private List registeredListeners = new ArrayList();
  +     /**
  +      *  The constraints of the registered listeners. FIXME: Find out how the
  +      *  relation with the previous List is maintained.
  +      */
  +     private List registeredListenerConstraints = new ArrayList();
  +     /**  FIXME: What's this? */
  +     private StringBuffer current_value = new StringBuffer();
  +     /**
  +      *  The consumer of the SAX events generated by this
  +      *  AbstractConstrainedTransformer.
  +      */
        public XMLConsumer xml_consumer;
  +     /**
  +      *  The lexical handler of the SAX events generated by this
  +      *  AbstractConstrainedTransformer. FIXME: Isn't this always the same as the
  +      *  xml_consumer??
  +      */
        public LexicalHandler lexical_handler;
   
   
  +     /**
  +      *  Initialize: set up the listeners etc.
  +      *
  +      *@param  parameters  The parameters that can be used by this method.
  +      */
        public abstract void init(Parameters parameters);
   
   
  +
  +     /**
  +      *  Retrieve the URI of the namespace this AbstractConstrainedTransformer has
  +      *  to process.
  +      *
  +      *@return    The URI of the namespace this AbstractConstrainedTransformer has
  +      *      to process.
  +      */
        public abstract String getUri();
   
   
  +     /**
  +      *  Retrieve the 'name' of the namespace this class processes. FIXME: Seems to
  +      *  be the last path element of the URI -- is that correct?
  +      *
  +      *@return    The 'name' of the namespace this class processes.
  +      */
        public abstract String getName();
   
   
  
  
  
  1.2       +44 -54    
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/constrained/ElementEventAdapter.java
  
  Index: ElementEventAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/constrained/ElementEventAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ElementEventAdapter.java  8 Apr 2002 08:09:16 -0000       1.1
  +++ ElementEventAdapter.java  16 May 2002 17:04:02 -0000      1.2
  @@ -1,67 +1,57 @@
   /*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -
  + *  ============================================================================
  + *  The Apache Software License, Version 1.1
  + *  ============================================================================
  + *  Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  + *  Redistribution and use in source and binary forms, with or without modifica-
  + *  tion, are permitted provided that the following conditions are met:
  + *  1. Redistributions of  source code must  retain the above copyright  notice,
  + *  this list of conditions and the following disclaimer.
  + *  2. Redistributions in binary form must reproduce the above copyright notice,
  + *  this list of conditions and the following disclaimer in the documentation
  + *  and/or other materials provided with the distribution.
  + *  3. The end-user documentation included with the redistribution, if any, must
  + *  include  the following  acknowledgment:  "This product includes  software
  + *  developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *  Alternately, this  acknowledgment may  appear in the software itself,  if
  + *  and wherever such third-party acknowledgments normally appear.
  + *  4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  + *  used to  endorse or promote  products derived from  this software without
  + *  prior written permission. For written permission, please contact
  + *  [EMAIL PROTECTED]
  + *  5. Products  derived from this software may not  be called "Apache", nor may
  + *  "Apache" appear  in their name,  without prior written permission  of the
  + *  Apache Software Foundation.
  + *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + *  FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + *  APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + *  INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + *  DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + *  OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + *  ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + *  (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *  This software  consists of voluntary contributions made  by many individuals
  + *  on  behalf of the Apache Software  Foundation and was  originally created by
  + *  Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + *  Software Foundation, please see <http://www.apache.org/>.
  + */
   package org.apache.cocoon.transformation.constrained;
   
   import java.util.EventListener;
   import org.xml.sax.SAXException;
   
   /**
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]";>Nicola Ken Barozzi</a> 
  + *@author     <a href="mailto:[EMAIL PROTECTED]";>Nicola Ken Barozzi</a>
  + *@created    15 mei 2002
    */
   public abstract class ElementEventAdapter implements ElementEventListener {
   
  -  public void containerElementEnded(ContainerElementEndEvent e) throws Exception{}
  +     public void containerElementEnded(ContainerElementEndEvent e) throws Exception 
{ }
  +
   
  -  public void elementValueRecieved(ElementValueEvent e) throws Exception{}
  +     public void elementValueRecieved(ElementValueEvent e) throws Exception { }
   
   }
  +
  
  
  
  1.2       +189 -171  
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/constrained/XmlTreeConstraint.java
  
  Index: XmlTreeConstraint.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/constrained/XmlTreeConstraint.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XmlTreeConstraint.java    8 Apr 2002 08:09:16 -0000       1.1
  +++ XmlTreeConstraint.java    16 May 2002 17:04:02 -0000      1.2
  @@ -1,184 +1,202 @@
   /*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -
  + *  ============================================================================
  + *  The Apache Software License, Version 1.1
  + *  ============================================================================
  + *  Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  + *  Redistribution and use in source and binary forms, with or without modifica-
  + *  tion, are permitted provided that the following conditions are met:
  + *  1. Redistributions of  source code must  retain the above copyright  notice,
  + *  this list of conditions and the following disclaimer.
  + *  2. Redistributions in binary form must reproduce the above copyright notice,
  + *  this list of conditions and the following disclaimer in the documentation
  + *  and/or other materials provided with the distribution.
  + *  3. The end-user documentation included with the redistribution, if any, must
  + *  include  the following  acknowledgment:  "This product includes  software
  + *  developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *  Alternately, this  acknowledgment may  appear in the software itself,  if
  + *  and wherever such third-party acknowledgments normally appear.
  + *  4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  + *  used to  endorse or promote  products derived from  this software without
  + *  prior written permission. For written permission, please contact
  + *  [EMAIL PROTECTED]
  + *  5. Products  derived from this software may not  be called "Apache", nor may
  + *  "Apache" appear  in their name,  without prior written permission  of the
  + *  Apache Software Foundation.
  + *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + *  FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + *  APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + *  INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + *  DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + *  OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + *  ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + *  (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *  This software  consists of voluntary contributions made  by many individuals
  + *  on  behalf of the Apache Software  Foundation and was  originally created by
  + *  Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + *  Software Foundation, please see <http://www.apache.org/>.
  + */
   package org.apache.cocoon.transformation.constrained;
   
  -
  -
   import java.util.ArrayList;
  +import java.util.List;
   import java.util.Arrays;
   import java.util.ListIterator;
   
  -
   /**
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]";>Nicola Ken Barozzi</a> 
  + *@author     <a href="mailto:[EMAIL PROTECTED]";>Nicola Ken Barozzi</a>
  + *@created    15 mei 2002
    */
   public class XmlTreeConstraint {
   
  -    private boolean debug=true;
  +     private boolean debug = true;
   
  -    private Boolean   isMyUriRequired;
  -    private ArrayList allowedMyUriStackEnd  = null;
  -    private ArrayList allowedGlobalStackEnd = null;
  -
  -    public XmlTreeConstraint(ArrayList allowedMyUriStackEnd,
  -                             ArrayList allowedGlobalStackEnd,
  -                             Boolean isMyUriRequired) {
  -
  -        this.allowedMyUriStackEnd  = allowedMyUriStackEnd;
  -        this.allowedGlobalStackEnd = allowedGlobalStackEnd;
  -        this.isMyUriRequired       = isMyUriRequired;
  -    }
  -
  -    public XmlTreeConstraint(ArrayList allowedMyUriStackEnd,
  -                             Boolean isMyUriRequired) {
  -        this.allowedMyUriStackEnd = allowedMyUriStackEnd;
  -        this.isMyUriRequired      = isMyUriRequired;
  -    }
  -
  -    public XmlTreeConstraint(ArrayList allowedMyUriStackEnd) {
  -        this.allowedMyUriStackEnd = allowedMyUriStackEnd;
  -    }
  -
  -    public XmlTreeConstraint(String[] allowedMyUriStackEnd,
  -                             String[] allowedGlobalStackEnd,
  -                             boolean isMyUriRequired) {
  -
  -        this.allowedMyUriStackEnd  = new 
ArrayList(Arrays.asList(allowedMyUriStackEnd));
  -        this.allowedGlobalStackEnd = new 
ArrayList(Arrays.asList(allowedGlobalStackEnd));
  -        this.isMyUriRequired       = new Boolean(isMyUriRequired);
  -    }
  -
  -    public XmlTreeConstraint(String[] allowedMyUriStackEnd,
  -                             boolean isMyUriRequired) {
  -        this.allowedMyUriStackEnd = new 
ArrayList(Arrays.asList(allowedMyUriStackEnd));
  -        this.isMyUriRequired      = new Boolean(isMyUriRequired);
  -    }
  -
  -    public XmlTreeConstraint(String[] allowedMyUriStackEnd) {
  -        this.allowedMyUriStackEnd = new 
ArrayList(Arrays.asList(allowedMyUriStackEnd));
  -    }
  -
  -
  -    public boolean isAllowed(Boolean isMyUri, ArrayList myUriStack,
  -                             ArrayList globalStack) {
  -   if(debug){
  -        System.out.println("isMyUri :"+isMyUri+"\nrequired uri "+isMyUriRequired);
  -        System.out.println("myUristack: \n"+myUriStack);
  -        System.out.println("allowedMyUriStackEnd: \n"+allowedMyUriStackEnd);
  -        System.out.println("globalstack: \n"+globalStack);
  -        System.out.println("allowedGlobalStackEnd: \n"+allowedGlobalStackEnd);
  -        }
  -        if (isMyUriRequired != null) {
  -            if (isMyUri == null) {
  -                return false;
  -            }
  -
  -            if (!isMyUriRequired.equals(isMyUri)) {
  -                return false;
  -            }
  -        }
  -
  -        if (allowedMyUriStackEnd != null) {
  -            if (myUriStack == null) {
  -                return false;
  -            }
  -
  -            if (!areEndsEqual(allowedMyUriStackEnd, myUriStack)) {
  -                return false;
  -            }
  -        }
  -
  -        if (allowedGlobalStackEnd != null) {
  -            if (globalStack == null) {
  -                return false;
  -            }
  -
  -            if (!areEndsEqual(allowedGlobalStackEnd, globalStack)) {
  -                return false;
  -            }
  -        }
  -
  -        return true;
  -    }
  -
  -    private boolean areEndsEqual(ArrayList l1, ArrayList l2) {
  -
  -        if (l1.size() > l2.size()) {
  -            if ((!(l1.size() == l2.size()))
  -                    && ((l1.size() < 1) || (l2.size() < 1))) {
  -                return false;
  -            }
  -
  -            //make l1 smaller
  -            ArrayList l3 = l1;
  -
  -            l1 = l2;
  -            l2 = l3;
  -        }
  -
  -        ListIterator iter1 = l1.listIterator(l1.size());
  -        ListIterator iter2 = l2.listIterator(l2.size());
  -
  -        while (iter1.hasPrevious()) {
  -            if (!(((String) iter1.previous().toString())
  -                    .equals(iter2.previous().toString()))) {
  -
  -                //System.out.println("ends are NOT equal.");
  -                return false;
  -            }
  -        }
  -
  -        //System.out.println("ends are equal.");
  -        return true;
  -    }
  +     private Boolean isMyUriRequired;
  +     private List allowedMyUriStackEnd = null;
  +     private List allowedGlobalStackEnd = null;
  +
  +
  +     public XmlTreeConstraint(List allowedMyUriStackEnd,
  +                     List allowedGlobalStackEnd,
  +                     Boolean isMyUriRequired) {
  +
  +             this.allowedMyUriStackEnd = allowedMyUriStackEnd;
  +             this.allowedGlobalStackEnd = allowedGlobalStackEnd;
  +             this.isMyUriRequired = isMyUriRequired;
  +     }
  +
  +
  +     public XmlTreeConstraint(List allowedMyUriStackEnd,
  +                     Boolean isMyUriRequired) {
  +             this.allowedMyUriStackEnd = allowedMyUriStackEnd;
  +             this.isMyUriRequired = isMyUriRequired;
  +     }
  +
  +
  +     public XmlTreeConstraint(List allowedMyUriStackEnd) {
  +             this.allowedMyUriStackEnd = allowedMyUriStackEnd;
  +     }
  +
  +
  +     public XmlTreeConstraint(String[] allowedMyUriStackEnd,
  +                     String[] allowedGlobalStackEnd,
  +                     boolean isMyUriRequired) {
  +
  +             this.allowedMyUriStackEnd = Arrays.asList(allowedMyUriStackEnd);
  +             this.allowedGlobalStackEnd = Arrays.asList(allowedGlobalStackEnd);
  +             this.isMyUriRequired = new Boolean(isMyUriRequired);
  +     }
  +
  +
  +     public XmlTreeConstraint(String[] allowedMyUriStackEnd,
  +                     boolean isMyUriRequired) {
  +             this.allowedMyUriStackEnd = Arrays.asList(allowedMyUriStackEnd);
  +             this.isMyUriRequired = new Boolean(isMyUriRequired);
  +     }
  +
  +
  +     public XmlTreeConstraint(String[] allowedMyUriStackEnd) {
  +             this.allowedMyUriStackEnd = Arrays.asList(allowedMyUriStackEnd);
  +     }
  +
  +
  +     /**
  +      *  Check whether the current element is allowed on this position in the XML
  +      *  tree / SAX stream.
  +      *
  +      *@param  isMyUri      Is the URI of the element the same as the URI of the
  +      *      calling object? <code>true</code> if it is, else <code>false</code>
  +      *@param  myUriStack   The List with elements in the namespace of the calling
  +      *      object.
  +      *@param  globalStack  The List with all elements (thus far) of the XML file
  +      *      being processed.
  +      *@return              <code>true</code> if the element is allowed on this
  +      *      position, <code>false</code> otherwise.
  +      */
  +     public boolean isAllowed(Boolean isMyUri, List myUriStack,
  +                     List globalStack) {
  +             if (debug) {
  +                     System.out.println("isMyUri :" + isMyUri + "\nrequired uri " + 
isMyUriRequired);
  +                     System.out.println("myUristack: \n" + myUriStack);
  +                     System.out.println("allowedMyUriStackEnd: \n" + 
allowedMyUriStackEnd);
  +                     System.out.println("globalstack: \n" + globalStack);
  +                     System.out.println("allowedGlobalStackEnd: \n" + 
allowedGlobalStackEnd);
  +             }
  +             if (isMyUriRequired != null) {
  +                     if (isMyUri == null) {
  +                             return false;
  +                     }
  +
  +                     /*
  +                      *  new code
  +                      */
  +                     if (isMyUriRequired.booleanValue()) {
  +                             if (!isMyUri.booleanValue()) {
  +                                     return false;
  +                             }
  +                     }
  +                     /*
  +                      *  old code -- seems wrong to me (tomK)
  +                      *  if (!isMyUriRequired.equals(isMyUri)) {
  +                      *  return false;
  +                      *  }
  +                      */
  +             }
  +
  +             if (allowedMyUriStackEnd != null) {
  +                     if (myUriStack == null) {
  +                             return false;
  +                     }
  +
  +                     if (!areEndsEqual(allowedMyUriStackEnd, myUriStack)) {
  +                             return false;
  +                     }
  +             }
  +
  +             if (allowedGlobalStackEnd != null) {
  +                     if (globalStack == null) {
  +                             return false;
  +                     }
  +
  +                     if (!areEndsEqual(allowedGlobalStackEnd, globalStack)) {
  +                             return false;
  +                     }
  +             }
  +
  +             return true;
  +     }
  +
  +
  +     private boolean areEndsEqual(List l1, List l2) {
  +
  +             if (l1.size() > l2.size()) {
  +                     if ((!(l1.size() == l2.size()))
  +                                      && ((l1.size() < 1) || (l2.size() < 1))) {
  +                             return false;
  +                     }
  +
  +                     //make l1 the smaller one
  +                     List l3 = l1;
  +
  +                     l1 = l2;
  +                     l2 = l3;
  +             }
  +
  +             ListIterator iter1 = l1.listIterator(l1.size());
  +             ListIterator iter2 = l2.listIterator(l2.size());
  +
  +             while (iter1.hasPrevious()) {
  +                     if (!(((String) iter1.previous().toString())
  +                                     .equals(iter2.previous().toString()))) {
  +
  +                             //System.out.println("ends are NOT equal.");
  +                             return false;
  +                     }
  +             }
  +
  +             //System.out.println("ends are equal.");
  +             return true;
  +     }
   }
  +
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar1.xml
  
  Index: bar1.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>77.6</a></v>
  <v><n></n><a>75.7</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n>1991</n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n>1992</n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>72.6</a></v>
  <v><n>1993</n><a>72.6</a></v>
  </set>
  <set id="2" name="South">
  <v><a>87</a></v>
  <v><a>88.6</a></v>
  <v><a>89.7</a></v>
  <v><a>90.6</a></v>
  <v><a>92.6</a></v>
  <v><a>92.6</a></v>
  <v><a>94.6</a></v>
  <v><a>96.6</a></v>
  <v><a>98.6</a></v>
  <v><a>98.6</a></v>
  <v><a>99.6</a></v>
  <v><a>99.6</a></v>
  <v><a>101</a></v>
  <v><a>103</a></v>
  <v><a>106</a></v>
  <v><a>106</a></v>
  <v><a>109</a></v>
  </set>
  <set id="3" name="West">
  <v><a>90</a></v>
  <v><a>89.6</a></v>
  <v><a>90.7</a></v>
  <v><a>91.6</a></v>
  <v><a>93.6</a></v>
  <v><a>94.6</a></v>
  <v><a>95.6</a></v>
  <v><a>97.6</a></v>
  <v><a>108.6</a></v>
  <v><a>108.6</a></v>
  <v><a>109.6</a></v>
  <v><a>109.6</a></v>
  <v><a>111</a></v>
  <v><a>113</a></v>
  <v><a>116</a></v>
  <v><a>116</a></v>
  <v><a>119</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="barChart" combine="difference" 
style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  <dataset ref-id="2"/>
  <dataset ref-id="3"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar10.xml
  
  Index: bar10.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="Sets">
  <v><n>Set A</n><a>2000</a></v>
  <v><n>Set B</n><a>1000</a></v>
  <v><n>Set C</n><a>3000</a></v>
  <v><n>Set D</n><a>-500</a></v>
  <v><n>Set E</n><a>8000</a></v>
  <v><n>Set F</n><a>5000</a></v>
  <v><n>Set G</n><a>10000</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="750" height="400" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar11.xml
  
  Index: bar11.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="Sets">
  <v><n>Set A</n><a>2000</a></v>
  <v><n>Set B</n><a>1000</a></v>
  <v><n>Set C</n><a>3000</a></v>
  <v><n>Set D</n><a>-500</a></v>
  <v><n>Set E</n><a>8000</a></v>
  <v><n>Set F</n><a>5000</a></v>
  <v><n>Set G</n><a>10000</a></v>
  </set>
  <set id="2" name="Others">
  <v><n>Set A</n><a>-2000</a></v>
  <v><n>Set B</n><a>-1000</a></v>
  <v><n>Set C</n><a>-3000</a></v>
  <v><n>Set D</n><a>500</a></v>
  <v><n>Set E</n><a>-8000</a></v>
  <v><n>Set F</n><a>-5000</a></v>
  <v><n>Set G</n><a>-15000</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="750" height="400" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  <dataset ref-id="2"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar12.xml
  
  Index: bar12.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="Sets">
  <v><n>Set A</n><a>2</a></v>
  <v><n>Set B</n><a>1</a></v>
  <v><n>Set C</n><a>3</a></v>
  <v><n>Set D</n><a>-5</a></v>
  <v><n>Set E</n><a>8</a></v>
  <v><n>Set F</n><a>5</a></v>
  <v><n>Set G</n><a>10</a></v>
  </set>
  <set id="2" name="Others">
  <v><n>Set A</n><a>-2</a></v>
  <v><n>Set B</n><a>-10</a></v>
  <v><n>Set C</n><a>-3</a></v>
  <v><n>Set D</n><a>5</a></v>
  <v><n>Set E</n><a>-8</a></v>
  <v><n>Set F</n><a>-5</a></v>
  <v><n>Set G</n><a>-15</a></v>
  </set>
  <set id="3" name="More">
  <v><n>Set A</n><a>12</a></v>
  <v><n>Set B</n><a>-10</a></v>
  <v><n>Set C</n><a>3</a></v>
  <v><n>Set D</n><a>1</a></v>
  <v><n>Set E</n><a>13</a></v>
  <v><n>Set F</n><a>9</a></v>
  <v><n>Set G</n><a>5</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="750" height="400" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  <dataset ref-id="2"/>
  <dataset ref-id="3"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar2.xml
  
  Index: bar2.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>77.6</a></v>
  <v><n></n><a>75.7</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n>1991</n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n>1992</n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>72.6</a></v>
  <v><n>1993</n><a>72.6</a></v>
  </set>
  <set id="2" name="South">
  <v><a>87</a></v>
  <v><a>88.6</a></v>
  <v><a>89.7</a></v>
  <v><a>90.6</a></v>
  <v><a>92.6</a></v>
  <v><a>92.6</a></v>
  <v><a>94.6</a></v>
  <v><a>96.6</a></v>
  <v><a>98.6</a></v>
  <v><a>98.6</a></v>
  <v><a>99.6</a></v>
  <v><a>99.6</a></v>
  <v><a>101</a></v>
  <v><a>103</a></v>
  <v><a>106</a></v>
  <v><a>106</a></v>
  <v><a>109</a></v>
  </set>
  <set id="3" name="East">
  <v><a>90</a></v>
  <v><a>94.6</a></v>
  <v><a>95.7</a></v>
  <v><a>96.6</a></v>
  <v><a>97.6</a></v>
  <v><a>99.6</a></v>
  <v><a>100.6</a></v>
  <v><a>102.6</a></v>
  <v><a>113.6</a></v>
  <v><a>113.6</a></v>
  <v><a>113.6</a></v>
  <v><a>114.6</a></v>
  <v><a>116</a></v>
  <v><a>117</a></v>
  <v><a>121</a></v>
  <v><a>121</a></v>
  <v><a>127</a></v>
  </set>
  <set id="4" name="West">
  <v><a>95</a></v>
  <v><a>99.6</a></v>
  <v><a>110.7</a></v>
  <v><a>111.6</a></v>
  <v><a>113.6</a></v>
  <v><a>114.6</a></v>
  <v><a>115.6</a></v>
  <v><a>117.6</a></v>
  <v><a>128.6</a></v>
  <v><a>128.6</a></v>
  <v><a>129.6</a></v>
  <v><a>129.6</a></v>
  <v><a>131</a></v>
  <v><a>133</a></v>
  <v><a>136</a></v>
  <v><a>146</a></v>
  <v><a>159</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="barChart" combine="difference" 
style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  <dataset ref-id="2"/>
  <dataset ref-id="3"/>
  <dataset ref-id="4"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar3.xml
  
  Index: bar3.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>77.6</a></v>
  <v><n></n><a>75.7</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n>1991</n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n>1992</n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>72.6</a></v>
  <v><n>1993</n><a>72.6</a></v>
  </set>
  <set id="2" name="South">
  <v><a>87</a></v>
  <v><a>88.6</a></v>
  <v><a>89.7</a></v>
  <v><a>90.6</a></v>
  <v><a>92.6</a></v>
  <v><a>92.6</a></v>
  <v><a>94.6</a></v>
  <v><a>96.6</a></v>
  <v><a>98.6</a></v>
  <v><a>98.6</a></v>
  <v><a>99.6</a></v>
  <v><a>99.6</a></v>
  <v><a>101</a></v>
  <v><a>103</a></v>
  <v><a>106</a></v>
  <v><a>106</a></v>
  <v><a>109</a></v>
  </set>
  <set id="3" name="East">
  <v><a>90</a></v>
  <v><a>94.6</a></v>
  <v><a>95.7</a></v>
  <v><a>96.6</a></v>
  <v><a>97.6</a></v>
  <v><a>99.6</a></v>
  <v><a>100.6</a></v>
  <v><a>102.6</a></v>
  <v><a>113.6</a></v>
  <v><a>113.6</a></v>
  <v><a>113.6</a></v>
  <v><a>114.6</a></v>
  <v><a>116</a></v>
  <v><a>117</a></v>
  <v><a>121</a></v>
  <v><a>121</a></v>
  <v><a>127</a></v>
  </set>
  <set id="4" name="West">
  <v><a>95</a></v>
  <v><a>99.6</a></v>
  <v><a>110.7</a></v>
  <v><a>111.6</a></v>
  <v><a>113.6</a></v>
  <v><a>114.6</a></v>
  <v><a>115.6</a></v>
  <v><a>117.6</a></v>
  <v><a>128.6</a></v>
  <v><a>128.6</a></v>
  <v><a>129.6</a></v>
  <v><a>129.6</a></v>
  <v><a>131</a></v>
  <v><a>133</a></v>
  <v><a>136</a></v>
  <v><a>146</a></v>
  <v><a>159</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="barChart" combine="merge" 
style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  <dataset ref-id="2"/>
  <dataset ref-id="3"/>
  <dataset ref-id="4"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar4.xml
  
  Index: bar4.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>Set A</n><a>80</a></v>
  <v><n>Set B</n><a>77.6</a></v>
  <v><n>Set C</n><a>75.7</a></v>
  <v><n>Set D</n><a>76.6</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="550" height="300" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar5.xml
  
  Index: bar5.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set type="percent" id="1" name="North">
  <v><n>Set A</n><a>80%</a></v>
  <v><n>Set B</n><a>77.6%</a></v>
  <v><n>Set C</n><a>%</a></v>
  <v><n>Set D</n><a>7%</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="550" height="300" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar6.xml
  
  Index: bar6.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>Set A</n><a>80</a></v>
  <v><n>Set B</n><a></a></v>
  <v><n>Set C</n><a>150</a></v>
  <v><n>Set D</n><a>207</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="550" height="300" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar7.xml
  
  Index: bar7.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="Sets">
  <v><n>Set A</n><a>0.02</a></v>
  <v><n>Set B</n><a>0.01</a></v>
  <v><n>Set C</n><a>0.6</a></v>
  <v><n>Set D</n><a>0.43</a></v>
  <v><n>Set E</n><a>0.95</a></v>
  <v><n>Set F</n><a>0.32</a></v>
  <v><n>Set G</n><a>0.45</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="750" height="400" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar8.xml
  
  Index: bar8.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="Sets">
  <v><n>Set A</n><a>20</a></v>
  <v><n>Set B</n><a>-10</a></v>
  <v><n>Set C</n><a>30</a></v>
  <v><n>Set D</n><a>-5</a></v>
  <v><n>Set E</n><a>80</a></v>
  <v><n>Set F</n><a>50</a></v>
  <v><n>Set G</n><a>-10</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="750" height="400" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/bar/bar9.xml
  
  Index: bar9.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="Sets">
  <v><n>Set A</n><a>0.00120</a></v>
  <v><n>Set B</n><a>0.003</a></v>
  <v><n>Set C</n><a>0.002</a></v>
  <v><n>Set D</n><a>0.0005</a></v>
  <v><n>Set E</n><a>0.007</a></v>
  <v><n>Set F</n><a>0.002</a></v>
  <v><n>Set G</n><a>0.006</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="750" height="400" effect="3D">
  <graph type="barChart" style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.3       +49 -38    
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/Chart2SvgTransformer.java
  
  Index: Chart2SvgTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/Chart2SvgTransformer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Chart2SvgTransformer.java 14 May 2002 20:34:22 -0000      1.2
  +++ Chart2SvgTransformer.java 16 May 2002 17:04:02 -0000      1.3
  @@ -1,42 +1,53 @@
   /*
  - *  ============================================================================
  - *  The Apache Software License, Version 1.1
  - *  ============================================================================
  - *  Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  - *  Redistribution and use in source and binary forms, with or without modifica-
  - *  tion, are permitted provided that the following conditions are met:
  - *  1. Redistributions of  source code must  retain the above copyright  notice,
  - *  this list of conditions and the following disclaimer.
  - *  2. Redistributions in binary form must reproduce the above copyright notice,
  - *  this list of conditions and the following disclaimer in the documentation
  - *  and/or other materials provided with the distribution.
  - *  3. The end-user documentation included with the redistribution, if any, must
  - *  include  the following  acknowledgment:  "This product includes  software
  - *  developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  - *  Alternately, this  acknowledgment may  appear in the software itself,  if
  - *  and wherever such third-party acknowledgments normally appear.
  - *  4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  - *  used to  endorse or promote  products derived from  this software without
  - *  prior written permission. For written permission, please contact
  - *  [EMAIL PROTECTED]
  - *  5. Products  derived from this software may not  be called "Apache", nor may
  - *  "Apache" appear  in their name,  without prior written permission  of the
  - *  Apache Software Foundation.
  - *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - *  FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - *  APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - *  INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - *  DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - *  OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - *  ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - *  (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  - *  This software  consists of voluntary contributions made  by many individuals
  - *  on  behalf of the Apache Software  Foundation and was  originally created by
  - *  Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - *  Software Foundation, please see <http://www.apache.org/>.
  - */
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
   package org.apache.cocoon.transformation;
   
   import java.io.IOException;
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/WingsTransformer.java
  
  Index: WingsTransformer.java
  ===================================================================
  /*
  
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
      used to  endorse or promote  products derived from  this software without
      prior written permission. For written permission, please contact
      [EMAIL PROTECTED]
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation and was  originally created by
   Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
   Software Foundation, please see <http://www.apache.org/>.
  
  */
  
  package org.apache.cocoon.transformation;
  
  import org.w3c.dom.*;
  import org.krysalis.wings.*;
  
  /**
   *  A transformer to render charts. Uses the Krysalis Wings XCML charting engine.<p>
   *
   *  The component in the pipeline before this one, has to generate SAX-events
   *  that comply the Krysalis Wings XCML charting format. Output is a stream of SVG 
SAX events.
   *
   *@author     <a href="mailto:[EMAIL PROTECTED]";>Tom Klaasen</a>
   *@created    16 mei 2002
   */
  public class WingsTransformer extends AbstractDOMTransformer {
        protected Document transform(Document doc) {
                WingsRenderer gr = new WingsRenderer();
                gr.setLogger(new 
org.apache.avalon.framework.logger.LogKitLogger(getLogger()));
                gr.setFontInfo("sansserif", 12);
                Document svgdoc = gr.renderToSVG(doc);
                return svgdoc;
        }
  }
  
  
  
  1.1                  xml-cocoon2/src/scratchpad/lib/krysalis-wings-0.2.0-dev.jar
  
        <<Binary file>>
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/line/line1.xml
  
  Index: line1.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>77.6</a></v>
  <v><n></n><a>75.7</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n>1991</n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n>1992</n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>72.6</a></v>
  <v><n>1993</n><a>72.6</a></v>
  </set>
  <set id="2" name="South">
  <v><a>87</a></v>
  <v><a>88.6</a></v>
  <v><a>89.7</a></v>
  <v><a>90.6</a></v>
  <v><a>92.6</a></v>
  <v><a>92.6</a></v>
  <v><a>94.6</a></v>
  <v><a>96.6</a></v>
  <v><a>98.6</a></v>
  <v><a>98.6</a></v>
  <v><a>99.6</a></v>
  <v><a>99.6</a></v>
  <v><a>101</a></v>
  <v><a>103</a></v>
  <v><a>106</a></v>
  <v><a>106</a></v>
  <v><a>109</a></v>
  </set>
  <set id="3" name="West">
  <v><a>90</a></v>
  <v><a>89.6</a></v>
  <v><a>90.7</a></v>
  <v><a>91.6</a></v>
  <v><a>93.6</a></v>
  <v><a>94.6</a></v>
  <v><a>95.6</a></v>
  <v><a>97.6</a></v>
  <v><a>108.6</a></v>
  <v><a>108.6</a></v>
  <v><a>109.6</a></v>
  <v><a>109.6</a></v>
  <v><a>111</a></v>
  <v><a>113</a></v>
  <v><a>116</a></v>
  <v><a>116</a></v>
  <v><a>119</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="lineChart" combine="compare" 
style="border:false;config:/default/lineChart.xml">
  <dataset ref-id="1"/>
  <dataset ref-id="2"/>
  <dataset ref-id="3"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/line/line2.xml
  
  Index: line2.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>8</a></v>
  <v><n></n><a>10</a></v>
  <v><n></n><a>12</a></v>
  <v><n></n><a>13</a></v>
  <v><n></n><a>15</a></v>
  <v><n>1991</n><a>20</a></v>
  <v><n></n><a>21</a></v>
  <v><n></n><a>23</a></v>
  <v><n></n><a>25</a></v>
  <v><n></n><a>40</a></v>
  <v><n></n><a>45</a></v>
  <v><n>1992</n><a>30</a></v>
  <v><n></n><a>35</a></v>
  <v><n></n><a>41</a></v>
  <v><n></n><a>42</a></v>
  <v><n></n><a>47</a></v>
  <v><n>1993</n><a>55</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="lineChart" combine="compare" 
style="border:false;config:/default/greenLineChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/line/line3.xml
  
  Index: line3.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>130</a></v>
  <v><n></n><a>150</a></v>
  <v><n></n><a>180</a></v>
  <v><n></n><a>190</a></v>
  <v><n>1991</n><a>160</a></v>
  <v><n></n><a>150</a></v>
  <v><n></n><a>145</a></v>
  <v><n></n><a>140</a></v>
  <v><n></n><a>146</a></v>
  <v><n></n><a>150</a></v>
  <v><n>1992</n><a>170</a></v>
  <v><n></n><a>210</a></v>
  <v><n></n><a>220</a></v>
  <v><n></n><a>250</a></v>
  <v><n></n><a>300</a></v>
  <v><n>1993</n><a>350</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="lineChart" combine="compare" 
style="border:false;config:/default/lineChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/line/line4.xml
  
  Index: line4.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n>1991</n><a>70</a></v>
  <v><n>1992</n><a>170</a></v>
  <v><n>1993</n><a>80</a></v>
  <v><n>1993</n><a>95</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="lineChart" combine="compare" 
style="border:false;config:/default/blueLineChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/line/line5.xml
  
  Index: line5.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>30</a></v>
  <v><n></n><a>10</a></v>
  <v><n>1991</n><a>-20</a></v>
  <v><n></n><a>-60</a></v>
  <v><n></n><a>-80</a></v>
  <v><n>1992</n><a>-50</a></v>
  <v><n></n><a>-40</a></v>
  <v><n></n><a>-10</a></v>
  <v><n>1993</n><a>20</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="lineChart" style="border:false;config:/default/lineChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/line/line6.xml
  
  Index: line6.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>-80</a></v>
  <v><n></n><a>-30</a></v>
  <v><n></n><a>-10</a></v>
  <v><n>1991</n><a>-20</a></v>
  <v><n></n><a>-60</a></v>
  <v><n></n><a>-80</a></v>
  <v><n>1992</n><a>-50</a></v>
  <v><n></n><a>-40</a></v>
  <v><n></n><a>-10</a></v>
  <v><n>1993</n><a>-20</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="lineChart" style="border:false;config:/default/lineChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/multi/multi1.xml
  
  Index: multi1.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>77.6</a></v>
  <v><n></n><a>75.7</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n>1991</n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>75.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n></n><a>74.6</a></v>
  <v><n>1992</n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>72.6</a></v>
  <v><n>1993</n><a>72.6</a></v>
  </set>
  <set id="2" name="South">
  <v><a>87</a></v>
  <v><a>88.6</a></v>
  <v><a>89.7</a></v>
  <v><a>90.6</a></v>
  <v><a>92.6</a></v>
  <v><a>92.6</a></v>
  <v><a>94.6</a></v>
  <v><a>96.6</a></v>
  <v><a>98.6</a></v>
  <v><a>98.6</a></v>
  <v><a>99.6</a></v>
  <v><a>99.6</a></v>
  <v><a>101</a></v>
  <v><a>103</a></v>
  <v><a>106</a></v>
  <v><a>106</a></v>
  <v><a>109</a></v>
  </set>
  <set id="3" name="West">
  <v><a>90</a></v>
  <v><a>89.6</a></v>
  <v><a>90.7</a></v>
  <v><a>91.6</a></v>
  <v><a>93.6</a></v>
  <v><a>94.6</a></v>
  <v><a>95.6</a></v>
  <v><a>97.6</a></v>
  <v><a>108.6</a></v>
  <v><a>108.6</a></v>
  <v><a>109.6</a></v>
  <v><a>109.6</a></v>
  <v><a>111</a></v>
  <v><a>113</a></v>
  <v><a>116</a></v>
  <v><a>116</a></v>
  <v><a>119</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="barChart" combine="difference" 
style="border:false;config:/default/barChart.xml">
  <dataset ref-id="1"/>
  <dataset ref-id="2"/>
  <dataset ref-id="3"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/pie/pie1.xml
  
  Index: pie1.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>80</a></v>
  <v><n></n><a>77.6</a></v>
  <v><n></n><a>75.7</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n></n><a>76.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>73.6</a></v>
  <v><n></n><a>72.6</a></v>
  <v><n>1993</n><a>72.6</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="pieChart" 
style="legendSpace:2;border:false;config:/default/pieChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/pie/pie2.xml
  
  Index: pie2.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; style="config:/default/pieChart.xml" 
lang="de">
  <title>embeddedPieChart</title>
  <data>
  <set type="percent" id="1">
  <v>
  <a>100,0%</a>
  </v>
  <v>
  <a>0,0%</a>
  </v>
  </set>
  </data>
  <ggroup>
  <gset height="150" width="350">
  <graph style="legendSpace:4.3" effect="3D" type="embeddedPieChart">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/pie/pie3.xml
  
  Index: pie3.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>AAAAAAA</n><a>3</a></v>
  <v><n>BBBBBBB</n><a>47.6</a></v>
  <v><n>CCCC</n><a>55.7</a></v>
  <v><n>DDDDD</n><a>26.6</a></v>
  <v><n>EEEEE</n><a>70</a></v>
  <v><n>FFFF</n><a>3</a></v>
  <v><n>G</n><a>6</a></v>
  <v><n>HHHHHHH</n><a>7.6</a></v>
  <v><n>IIIII</n><a>2.6</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="pieChart" 
style="legendSpace:2;border:false;config:/default/pieChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/pie/pie4.xml
  
  Index: pie4.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>10</a></v>
  <v><n></n><a>7.6</a></v>
  <v><n></n><a>5</a></v>
  <v><n></n><a>6</a></v>
  <v><n></n><a>26</a></v>
  <v><n></n><a>73</a></v>
  <v><n></n><a>73</a></v>
  <v><n></n><a>72</a></v>
  <v><n>1993</n><a>72</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="pieChart" 
style="legendSpace:2;border:false;config:/default/pieChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/pie/pie5.xml
  
  Index: pie5.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1990</n><a>8</a></v>
  <v><n>1991</n><a>77.6</a></v>
  <v><n>1992</n><a>5.7</a></v>
  <v><n>1993</n><a>6.6</a></v>
  <v><n>1994</n><a>76.6</a></v>
  <v><n>1995</n><a>3.6</a></v>
  <v><n>1996</n><a>3.6</a></v>
  <v><n>1997</n><a>72.6</a></v>
  <v><n>1998</n><a>2.6</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350pt" height="200pt" effect="3D">
  <graph type="pieChart" 
style="legendSpace:0.15in;border:false;config:/default/pieChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/pie/pie6.xml
  
  Index: pie6.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1</n><a>80</a></v>
  <v><n>2</n><a>77.6</a></v>
  <v><n>3</n><a>5.072</a></v>
  <v><n>4</n><a>6.564</a></v>
  <v><n>5</n><a>3.324</a></v>
  <v><n>6</n><a>2.275</a></v>
  <v><n>7</n><a>3.6</a></v>
  <v><n>8</n><a>72.6</a></v>
  <v><n>9</n><a>72.6</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="pieChart" 
style="legendSpace:2;border:false;config:/default/pieChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.1                  
xml-cocoon2/src/scratchpad/webapp/mount/charts/content/static/pie/pie7.xml
  
  Index: pie7.xml
  ===================================================================
  <xcml xmlns="http://xml.apache.org/2001/xcml"; country="EN" lang="en" 
style="border:false;">
  <title>test</title>
  <data>
  <set id="1" name="North">
  <v><n>1</n><a>4.01</a></v>
  <v><n>2</n><a>6.04</a></v>
  <v><n>3</n><a>5.16</a></v>
  <v><n>4</n><a>76.6</a></v>
  <v><n>5</n><a>76.6</a></v>
  <v><n>6</n><a>73.6</a></v>
  <v><n>7</n><a>73.6</a></v>
  <v><n>8</n><a>2.55</a></v>
  </set>
  </data>
  <ggroup>
  <gset width="350" height="200" effect="3D">
  <graph type="pieChart" 
style="legendSpace:2;border:false;config:/default/pieChart.xml">
  <dataset ref-id="1"/>
  </graph>
  </gset>
  </ggroup>
  </xcml>
  
  
  
  
  1.3       +20 -0     xml-cocoon2/src/scratchpad/webapp/mount/charts/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/charts/sitemap.xmap,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- sitemap.xmap      14 May 2002 20:34:23 -0000      1.2
  +++ sitemap.xmap      16 May 2002 17:04:03 -0000      1.3
  @@ -7,6 +7,7 @@
     
     <map:transformers default="xslt">
      <map:transformer label="transformed" name="chart2svg" 
src="org.apache.cocoon.transformation.Chart2SvgTransformer"/>
  +   <map:transformer name="wings" 
src="org.apache.cocoon.transformation.WingsTransformer" />
     </map:transformers>
     
     <map:readers default="resource"/>
  @@ -44,6 +45,25 @@
       <map:transform src="stylesheets/simple-samples2html.xsl"/>
       <map:serialize/>
      </map:match>
  +   
  +   <map:match pattern="*/*.xml">
  +             <map:generate src="content/static/{1}/{2}.xml" />
  +             <map:transform type="wings" />
  +             <map:serialize type="xml" />
  +   </map:match>
  +   
  +   <map:match pattern="*/*.svg">
  +             <map:generate src="content/static/{1}/{2}.xml" />
  +             <map:transform type="wings" />
  +             <map:serialize type="svgxml" />
  +   </map:match>
  +
  +   <map:match pattern="*/*.jpg">
  +             <map:generate src="content/static/{1}/{2}.xml" />
  +             <map:transform type="wings" />
  +             <map:serialize type="svg2jpeg" />
  +   </map:match>   
  +   
      
      <map:match pattern="*chart.xml">
       <map:generate src="content/static/{1}chart.xml"/>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to