tkormann    01/10/24 07:52:37

  Modified:    resources/org/apache/batik/apps/svgbrowser/resources
                        GUI.properties
               sources/org/apache/batik/apps/svgbrowser Application.java
                        JSVGViewerFrame.java Main.java
                        PreferenceDialog.java
               sources/org/apache/batik/bridge DocumentLoader.java
                        URIResolver.java UserAgent.java
                        UserAgentAdapter.java
               sources/org/apache/batik/dom/util DocumentFactory.java
                        SAXDocumentFactory.java
               sources/org/apache/batik/swing/svg JSVGComponent.java
                        SVGUserAgent.java
               sources/org/apache/batik/transcoder
                        XMLAbstractTranscoder.java
               sources/org/apache/batik/transcoder/image
                        ImageTranscoder.java
               sources/org/apache/batik/transcoder/print
                        PrintTranscoder.java
  Log:
  add an option (TranscodingHint, checkbox in the browser...) to toggle the XML
  parser in validation mode.
  
  Revision  Changes    Path
  1.36      +2 -1      
xml-batik/resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties
  
  Index: GUI.properties
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/resources/org/apache/batik/apps/svgbrowser/resources/GUI.properties,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- GUI.properties    2001/10/15 14:40:15     1.35
  +++ GUI.properties    2001/10/24 14:52:35     1.36
  @@ -9,7 +9,7 @@
   # The viewer's GUI resources.
   #
   # Author: [EMAIL PROTECTED]
  -# $Id: GUI.properties,v 1.35 2001/10/15 14:40:15 tkormann Exp $
  +# $Id: GUI.properties,v 1.36 2001/10/24 14:52:35 tkormann Exp $
   #
   
   ViewSource.width = 750
  @@ -371,6 +371,7 @@
   PreferenceDialog.label.show.rendering = Show Rendering
   PreferenceDialog.label.show.debug.trace = Show Debug Trace
   PreferenceDialog.label.selection.xor.mode = Display selection overlay using XOR mode
  +PreferenceDialog.label.is.xml.parser.validating = Use a validating XML parser
   
   PreferenceDialog.label.host = Proxy Host
   PreferenceDialog.label.port = Proxy Port
  
  
  
  1.5       +7 -1      
xml-batik/sources/org/apache/batik/apps/svgbrowser/Application.java
  
  Index: Application.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/Application.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Application.java  2001/10/15 11:08:36     1.4
  +++ Application.java  2001/10/24 14:52:35     1.5
  @@ -14,7 +14,7 @@
    * This interface represents a SVG viewer application.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: Application.java,v 1.4 2001/10/15 11:08:36 tkormann Exp $
  + * @version $Id: Application.java,v 1.5 2001/10/24 14:52:35 tkormann Exp $
    */
   public interface Application {
   
  @@ -42,6 +42,12 @@
        * Returns the XML parser class name.
        */
       String getXMLParserClassName();
  +
  +    /**
  +     * Returns true if the XML parser must be in validation mode, false
  +     * otherwise.
  +     */
  +    boolean isXMLParserValidating();
   
       /**
        * Shows the preference dialog.
  
  
  
  1.63      +9 -1      
xml-batik/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java
  
  Index: JSVGViewerFrame.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- JSVGViewerFrame.java      2001/10/15 15:34:32     1.62
  +++ JSVGViewerFrame.java      2001/10/24 14:52:35     1.63
  @@ -157,7 +157,7 @@
    * This class represents a SVG viewer swing frame.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: JSVGViewerFrame.java,v 1.62 2001/10/15 15:34:32 tkormann Exp $
  + * @version $Id: JSVGViewerFrame.java,v 1.63 2001/10/24 14:52:35 tkormann Exp $
    */
   public class JSVGViewerFrame
       extends    JFrame
  @@ -1739,6 +1739,14 @@
           public String getXMLParserClassName() {
               return application.getXMLParserClassName();
           }
  +
  +     /**
  +      * Returns true if the XML parser must be in validation mode, false
  +      * otherwise.
  +      */
  +     public boolean isXMLParserValidating() {
  +         return application.isXMLParserValidating();
  +     }
   
           /**
            * Returns this user agent's CSS media.
  
  
  
  1.21      +13 -2     xml-batik/sources/org/apache/batik/apps/svgbrowser/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/Main.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- Main.java 2001/10/15 11:08:36     1.20
  +++ Main.java 2001/10/24 14:52:35     1.21
  @@ -45,7 +45,7 @@
    * This class contains the main method of an SVG viewer.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: Main.java,v 1.20 2001/10/15 11:08:36 tkormann Exp $
  + * @version $Id: Main.java,v 1.21 2001/10/24 14:52:35 tkormann Exp $
    */
   public class Main implements Application {
   
  @@ -145,7 +145,9 @@
                        "");
           defaults.put(PreferenceDialog.PREFERENCE_KEY_CSS_MEDIA,
                        "screen");
  -
  +        defaults.put(PreferenceDialog.PREFERENCE_KEY_IS_XML_PARSER_VALIDATING,
  +                     Boolean.FALSE);
  +     
           try {
               preferenceManager = new XMLPreferenceManager("preferences.xml",
                                                            defaults);
  @@ -364,6 +366,15 @@
        */
       public String getXMLParserClassName() {
           return XMLResourceDescriptor.getXMLParserClassName();
  +    }
  +
  +    /**
  +     * Returns true if the XML parser must be in validation mode, false
  +     * otherwise.
  +     */
  +    public boolean isXMLParserValidating() {
  +        return preferenceManager.getBoolean
  +            (PreferenceDialog.PREFERENCE_KEY_IS_XML_PARSER_VALIDATING);
       }
   
       /**
  
  
  
  1.10      +19 -2     
xml-batik/sources/org/apache/batik/apps/svgbrowser/PreferenceDialog.java
  
  Index: PreferenceDialog.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/PreferenceDialog.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- PreferenceDialog.java     2001/10/15 09:42:55     1.9
  +++ PreferenceDialog.java     2001/10/24 14:52:35     1.10
  @@ -55,7 +55,7 @@
    * Dialog that displays user preferences.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Hardy</a>
  - * @version $Id: PreferenceDialog.java,v 1.9 2001/10/15 09:42:55 tkormann Exp $
  + * @version $Id: PreferenceDialog.java,v 1.10 2001/10/24 14:52:35 tkormann Exp $
    */
   public class PreferenceDialog extends JDialog 
       implements GridBagConstants {
  @@ -122,6 +122,9 @@
       public static final String LABEL_SELECTION_XOR_MODE
           = "PreferenceDialog.label.selection.xor.mode";
   
  +    public static final String LABEL_IS_XML_PARSER_VALIDATING
  +        = "PreferenceDialog.label.is.xml.parser.validating";
  +
       public static final String LABEL_HOST
           = "PreferenceDialog.label.host";
   
  @@ -162,6 +165,9 @@
       
       public static final String PREFERENCE_KEY_LANGUAGES
           = "preference.key.languages";
  +    
  +    public static final String PREFERENCE_KEY_IS_XML_PARSER_VALIDATING
  +        = "preference.key.is.xml.parser.validating";
   
       public static final String PREFERENCE_KEY_USER_STYLESHEET
           = "preference.key.user.stylesheet";
  @@ -221,6 +227,8 @@
   
       protected JCheckBox selectionXorMode;
   
  +    protected JCheckBox isXMLParserValidating;
  +
       protected JTextField host, port;
   
       protected CSSMediaPanel cssMediaPanel;
  @@ -281,6 +289,8 @@
           
showDebugTrace.setSelected(model.getBoolean(PREFERENCE_KEY_SHOW_DEBUG_TRACE));
           
selectionXorMode.setSelected(model.getBoolean(PREFERENCE_KEY_SELECTION_XOR_MODE));
   
  +        
isXMLParserValidating.setSelected(model.getBoolean(PREFERENCE_KEY_IS_XML_PARSER_VALIDATING));
  +
           //
           // Initialize the proxy options
           //
  @@ -313,9 +323,10 @@
                            enableDoubleBuffering.isSelected());
           model.setBoolean(PREFERENCE_KEY_SHOW_DEBUG_TRACE,
                            showDebugTrace.isSelected());
  -
           model.setBoolean(PREFERENCE_KEY_SELECTION_XOR_MODE,
                         selectionXorMode.isSelected());
  +        model.setBoolean(PREFERENCE_KEY_IS_XML_PARSER_VALIDATING,
  +                      isXMLParserValidating.isSelected());
   
           model.setString(PREFERENCE_KEY_PROXY_HOST,
                           host.getText());
  @@ -485,14 +496,19 @@
               = new JCheckBox(Resources.getString(LABEL_ENABLE_DOUBLE_BUFFERING));
           showDebugTrace
               = new JCheckBox(Resources.getString(LABEL_SHOW_DEBUG_TRACE));
  +
           selectionXorMode
               = new JCheckBox(Resources.getString(LABEL_SELECTION_XOR_MODE));
   
  +        isXMLParserValidating
  +            = new JCheckBox(Resources.getString(LABEL_IS_XML_PARSER_VALIDATING));
  +
           p.add(showRendering,    0, 0, 1, 1, WEST, HORIZONTAL, 1, 0);
           p.add(autoAdjustWindow, 0, 1, 1, 1, WEST, HORIZONTAL, 1, 0);
           p.add(enableDoubleBuffering, 0, 2, 1, 1, WEST, HORIZONTAL, 1, 0);
           p.add(showDebugTrace,   0, 3, 1, 1, WEST, HORIZONTAL, 1, 0);
           p.add(selectionXorMode,   0, 4, 1, 1, WEST, HORIZONTAL, 1, 0);
  +        p.add(isXMLParserValidating,   0, 5, 1, 1, WEST, HORIZONTAL, 1, 0);
   
           p.setBorder(BorderFactory.createCompoundBorder
                       (BorderFactory.createTitledBorder
  @@ -543,6 +559,7 @@
           defaults.put(PREFERENCE_KEY_LANGUAGES, "fr");
           defaults.put(PREFERENCE_KEY_SHOW_RENDERING, Boolean.TRUE);
           defaults.put(PREFERENCE_KEY_SELECTION_XOR_MODE, Boolean.FALSE);
  +        defaults.put(PREFERENCE_KEY_IS_XML_PARSER_VALIDATING, Boolean.FALSE);
           defaults.put(PREFERENCE_KEY_AUTO_ADJUST_WINDOW, Boolean.TRUE);
           defaults.put(PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING, Boolean.TRUE);
           defaults.put(PREFERENCE_KEY_SHOW_DEBUG_TRACE, Boolean.TRUE);
  
  
  
  1.11      +2 -3      xml-batik/sources/org/apache/batik/bridge/DocumentLoader.java
  
  Index: DocumentLoader.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/DocumentLoader.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DocumentLoader.java       2001/04/23 12:19:34     1.10
  +++ DocumentLoader.java       2001/10/24 14:52:35     1.11
  @@ -30,7 +30,7 @@
    * maintaining a cache.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: DocumentLoader.java,v 1.10 2001/04/23 12:19:34 tkormann Exp $
  + * @version $Id: DocumentLoader.java,v 1.11 2001/10/24 14:52:35 tkormann Exp $
    */
   public class DocumentLoader {
   
  @@ -66,6 +66,7 @@
           this.userAgent = userAgent;
           documentFactory = new SAXSVGDocumentFactory
               (userAgent.getXMLParserClassName(), true);
  +     documentFactory.setValidating(userAgent.isXMLParserValidating());
       }
   
       /**
  @@ -80,8 +81,6 @@
           }
           DocumentState state = (DocumentState)cacheMap.get(uri);
           if (state == null) {
  -            //System.out.println("loading: "+uri);
  -            // load the document
               Document document = documentFactory.createDocument(uri);
               DefaultSVGContext ctx
                   = (DefaultSVGContext)((SVGOMDocument)document).getSVGContext();
  
  
  
  1.13      +2 -1      xml-batik/sources/org/apache/batik/bridge/URIResolver.java
  
  Index: URIResolver.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/URIResolver.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- URIResolver.java  2001/10/18 12:30:22     1.12
  +++ URIResolver.java  2001/10/24 14:52:36     1.13
  @@ -28,7 +28,7 @@
    * This class is used to resolve the URI that can be found in a SVG document.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: URIResolver.java,v 1.12 2001/10/18 12:30:22 hillion Exp $
  + * @version $Id: URIResolver.java,v 1.13 2001/10/24 14:52:36 tkormann Exp $
    */
   public class URIResolver {
       /**
  @@ -66,6 +66,7 @@
        */
       public Element getElement(String uri, Element ref)
           throws MalformedURLException, IOException {
  +
           Node n = getNode(uri, ref);
           if (n == null) {
               return null;
  
  
  
  1.18      +24 -18    xml-batik/sources/org/apache/batik/bridge/UserAgent.java
  
  Index: UserAgent.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/UserAgent.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- UserAgent.java    2001/10/08 15:49:37     1.17
  +++ UserAgent.java    2001/10/24 14:52:36     1.18
  @@ -24,7 +24,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Christophe Jolif</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: UserAgent.java,v 1.17 2001/10/08 15:49:37 hillion Exp $
  + * @version $Id: UserAgent.java,v 1.18 2001/10/24 14:52:36 tkormann Exp $
    */
   public interface UserAgent {
   
  @@ -32,90 +32,96 @@
       /**
        * Returns the event dispatcher to use.
        */
  -    public EventDispatcher getEventDispatcher();
  +    EventDispatcher getEventDispatcher();
   
       /**
        * Returns the default size of the viewport.
        */
  -    public Dimension2D getViewportSize();
  +    Dimension2D getViewportSize();
   
       /**
        * Displays an error resulting from the specified Exception.
        */
  -    public void displayError(Exception ex);
  +    void displayError(Exception ex);
   
       /**
        * Displays a message in the User Agent interface.
        */
  -    public void displayMessage(String message);
  +    void displayMessage(String message);
   
       /**
        * Returns the pixel to mm factor.
        */
  -    public float getPixelToMM();
  +    float getPixelToMM();
   
       /**
        * Returns the language settings.
        */
  -    public String getLanguages();
  +    String getLanguages();
   
       /**
        * Returns the user stylesheet uri.
        * @return null if no user style sheet was specified.
        */
  -    public String getUserStyleSheetURI();
  +    String getUserStyleSheetURI();
   
       /**
        * Opens a link.
        * @param elt The activated link element.
        */
  -    public void openLink(SVGAElement elt);
  +    void openLink(SVGAElement elt);
   
       /**
        * Informs the user agent to change the cursor.
        * @param cursor the new cursor
        */
  -    public void setSVGCursor(Cursor cursor);
  +    void setSVGCursor(Cursor cursor);
   
       /**
        * Returns the class name of the XML parser.
        */
  -    public String getXMLParserClassName();
  +    String getXMLParserClassName();
   
       /**
  +     * Returns true if the XML parser must be in validation mode, false
  +     * otherwise.
  +     */
  +    boolean isXMLParserValidating();
  +
  +    /**
        * Returns the <code>AffineTransform</code> currently
        * applied to the drawing by the UserAgent.
        */
  -    public AffineTransform getTransform();
  +    AffineTransform getTransform();
   
       /**
        * Returns this user agent's CSS media.
        */
  -    public String getMedia();
  +    String getMedia();
   
       /**
        * Returns the location on the screen of the
        * client area in the UserAgent.
        */
  -    public Point getClientAreaLocationOnScreen();
  +    Point getClientAreaLocationOnScreen();
   
       /**
        * Tells whether the given feature is supported by this
        * user agent.
        */
  -    public boolean hasFeature(String s);
  +    boolean hasFeature(String s);
   
       /**
        * Tells whether the given extension is supported by this
        * user agent.
        */
  -    public boolean supportExtension(String s);
  +    boolean supportExtension(String s);
   
       /**
        * Lets the bridge tell the user agent that the following
        * extension is supported by the bridge.
        */
  -    public void registerExtension(BridgeExtension ext);
  +    void registerExtension(BridgeExtension ext);
   
       /**
        * Notifies the UserAgent that the input element 
  @@ -124,5 +130,5 @@
        * &lt;title&gt; elements in a UserAgent-dependant
        * way.
        */
  -    public void handleElement(Element elt, Object data);
  +    void handleElement(Element elt, Object data);
   }
  
  
  
  1.5       +8 -1      xml-batik/sources/org/apache/batik/bridge/UserAgentAdapter.java
  
  Index: UserAgentAdapter.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/UserAgentAdapter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- UserAgentAdapter.java     2001/10/08 15:49:37     1.4
  +++ UserAgentAdapter.java     2001/10/24 14:52:36     1.5
  @@ -31,7 +31,7 @@
    * the creation of UserAgent instances.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thomas DeWeese</a>
  - * @version $Id: UserAgentAdapter.java,v 1.4 2001/10/08 15:49:37 hillion Exp $
  + * @version $Id: UserAgentAdapter.java,v 1.5 2001/10/24 14:52:36 tkormann Exp $
    */
   public class UserAgentAdapter implements UserAgent {
       protected Set FEATURES = new HashSet();
  @@ -106,6 +106,13 @@
        */
       public String getXMLParserClassName() {
           return XMLResourceDescriptor.getXMLParserClassName();
  +    }
  +
  +    /**
  +     * Returns <tt>false</tt>. The XML parser is not in validation mode.
  +     */
  +    public boolean isXMLParserValidating() {
  +        return false;
       }
   
       /**
  
  
  
  1.7       +14 -1     xml-batik/sources/org/apache/batik/dom/util/DocumentFactory.java
  
  Index: DocumentFactory.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/dom/util/DocumentFactory.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DocumentFactory.java      2001/02/13 19:45:16     1.6
  +++ DocumentFactory.java      2001/10/24 14:52:36     1.7
  @@ -18,9 +18,22 @@
    * This interface represents an object which can build a Document.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: DocumentFactory.java,v 1.6 2001/02/13 19:45:16 hillion Exp $
  + * @version $Id: DocumentFactory.java,v 1.7 2001/10/24 14:52:36 tkormann Exp $
    */
   public interface DocumentFactory {
  +
  +    /**
  +     * Sets whether or not the XML stream has to be validate, depending on the
  +     * specified parameter.
  +     *
  +     * @param isValidating true implies the XML stream will be validated
  +     */
  +    void setValidating(boolean isValidating);
  +
  +    /**
  +     * Returns true if the XML stream has to be validated, false otherwise.
  +     */
  +    boolean isValidating();
   
       /**
        * Creates a Document instance.
  
  
  
  1.4       +47 -6     
xml-batik/sources/org/apache/batik/dom/util/SAXDocumentFactory.java
  
  Index: SAXDocumentFactory.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/dom/util/SAXDocumentFactory.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SAXDocumentFactory.java   2001/02/13 19:45:17     1.3
  +++ SAXDocumentFactory.java   2001/10/24 14:52:36     1.4
  @@ -27,6 +27,7 @@
   import org.xml.sax.InputSource;
   import org.xml.sax.Locator;
   import org.xml.sax.SAXException;
  +import org.xml.sax.SAXParseException;
   import org.xml.sax.XMLReader;
   import org.xml.sax.ext.LexicalHandler;
   import org.xml.sax.helpers.DefaultHandler;
  @@ -37,7 +38,7 @@
    * from an URI using SAX2.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: SAXDocumentFactory.java,v 1.3 2001/02/13 19:45:17 hillion Exp $
  + * @version $Id: SAXDocumentFactory.java,v 1.4 2001/10/24 14:52:36 tkormann Exp $
    */
   public class SAXDocumentFactory
       extends    DefaultHandler
  @@ -90,6 +91,11 @@
       protected boolean inDTD;
   
       /**
  +     * Whether the parser is in validating mode.
  +     */
  +    protected boolean isValidating;
  +
  +    /**
        * Whether the document element has been parsed.
        */
       protected boolean documentElementParsed;
  @@ -145,8 +151,8 @@
        * @param is The document input stream.
        * @exception IOException if an error occured while reading the document.
        */
  -    public Document createDocument(String ns, String root, String uri, InputStream 
is)
  -        throws IOException {
  +    public Document createDocument(String ns, String root, String uri, 
  +                                InputStream is) throws IOException {
           InputSource inp = new InputSource(is);
           inp.setSystemId(uri);
           return createDocument(ns, root, uri, inp);
  @@ -188,13 +194,14 @@
               parser.setEntityResolver(this);
               parser.setErrorHandler(this);
   
  -            parser.setFeature("http://xml.org/sax/features/namespaces";, false);
  +            parser.setFeature("http://xml.org/sax/features/namespaces";, 
  +                           false);
               parser.setFeature("http://xml.org/sax/features/namespace-prefixes";,
                                 true);
  -
  +         parser.setFeature("http://xml.org/sax/features/validation";,
  +                           isValidating);
            parser.setProperty("http://xml.org/sax/properties/lexical-handler";,
                               this);
  -
               parser.parse(is);
        } catch (SAXException e) {
               Exception ex = e.getException();
  @@ -225,6 +232,24 @@
       }
   
       /**
  +     * Sets whether or not the XML parser will validate the XML document
  +     * depending on the specified parameter.
  +     *
  +     * @param isValidating indicates that the XML parser will validate the XML
  +     * document 
  +     */
  +    public void setValidating(boolean isValidating) {
  +     this.isValidating = isValidating;
  +    }
  +
  +    /**
  +     * Returns true if the XML parser validates the XML stream, false otherwise.
  +     */
  +    public boolean isValidating() {
  +     return isValidating;
  +    }
  +
  +    /**
        * <b>SAX</b>: Implements {@link
        * org.xml.sax.ContentHandler#startDocument()}.
        */
  @@ -338,6 +363,22 @@
                }
            }
        }
  +    }
  +
  +    /**
  +     * <b>SAX</b>: Implements {@link
  +     * org.xml.sax.ErrorHandler#error(SAXParseException)}.
  +     */
  +    public void error(SAXParseException ex) throws SAXException {
  +     throw ex;
  +    }
  +
  +    /**
  +     * <b>SAX</b>: Implements {@link
  +     * org.xml.sax.ErrorHandler#warning(SAXParseException)}.
  +     */
  +    public void warning(SAXParseException ex) throws SAXException {
  +     throw ex;
       }
   
       /**
  
  
  
  1.28      +12 -1     xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java
  
  Index: JSVGComponent.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- JSVGComponent.java        2001/10/08 15:49:38     1.27
  +++ JSVGComponent.java        2001/10/24 14:52:36     1.28
  @@ -152,7 +152,7 @@
    * building/rendering a document (invalid XML file, missing attributes...).</p>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: JSVGComponent.java,v 1.27 2001/10/08 15:49:38 hillion Exp $
  + * @version $Id: JSVGComponent.java,v 1.28 2001/10/24 14:52:36 tkormann Exp $
    */
   public class JSVGComponent extends JGVTComponent {
   
  @@ -910,6 +910,17 @@
               return "org.apache.crimson.parser.XMLReaderImpl";
           }
   
  +     /**
  +      * Returns true if the XML parser must be in validation mode, false
  +      * otherwise depending on the SVGUserAgent.
  +      */
  +     public boolean isXMLParserValidating() {
  +            if (svgUserAgent != null) {
  +                return svgUserAgent.isXMLParserValidating();
  +            }
  +            return false;
  +     }
  +     
           /**
            * Returns the <code>AffineTransform</code> currently
            * applied to the drawing by the UserAgent.
  
  
  
  1.6       +7 -1      xml-batik/sources/org/apache/batik/swing/svg/SVGUserAgent.java
  
  Index: SVGUserAgent.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/svg/SVGUserAgent.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGUserAgent.java 2001/10/08 15:49:38     1.5
  +++ SVGUserAgent.java 2001/10/24 14:52:36     1.6
  @@ -15,7 +15,7 @@
    * a JSVGComponent.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: SVGUserAgent.java,v 1.5 2001/10/08 15:49:38 hillion Exp $
  + * @version $Id: SVGUserAgent.java,v 1.6 2001/10/24 14:52:36 tkormann Exp $
    */
   public interface SVGUserAgent {
       
  @@ -55,6 +55,12 @@
        * Returns the class name of the XML parser.
        */
       String getXMLParserClassName();
  +
  +    /**
  +     * Returns true if the XML parser must be in validation mode, false
  +     * otherwise.
  +     */
  +    boolean isXMLParserValidating();
   
       /**
        * Returns this user agent's CSS media.
  
  
  
  1.10      +33 -4     
xml-batik/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java
  
  Index: XMLAbstractTranscoder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLAbstractTranscoder.java        2001/05/07 23:49:52     1.9
  +++ XMLAbstractTranscoder.java        2001/10/24 14:52:36     1.10
  @@ -15,6 +15,7 @@
   
   import org.apache.batik.dom.util.DocumentFactory;
   import org.apache.batik.dom.util.SAXDocumentFactory;
  +import org.apache.batik.transcoder.keys.BooleanKey;
   import org.apache.batik.transcoder.keys.DOMImplementationKey;
   import org.apache.batik.transcoder.keys.StringKey;
   
  @@ -41,14 +42,16 @@
    * </ul>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: XMLAbstractTranscoder.java,v 1.9 2001/05/07 23:49:52 tkormann Exp $
  + * @version $Id: XMLAbstractTranscoder.java,v 1.10 2001/10/24 14:52:36 tkormann Exp 
$
    */
   public abstract class XMLAbstractTranscoder extends AbstractTranscoder {
   
       /**
        * Constructs a new <tt>XMLAbstractTranscoder</tt>.
        */
  -    protected XMLAbstractTranscoder() {}
  +    protected XMLAbstractTranscoder() {
  +     hints.put(KEY_XML_PARSER_VALIDATING, Boolean.FALSE);
  +    }
   
       /**
        * Transcodes the specified XML input in the specified output. All
  @@ -76,7 +79,7 @@
                   (String)hints.get(KEY_DOCUMENT_ELEMENT);
               DOMImplementation domImpl =
                   (DOMImplementation)hints.get(KEY_DOM_IMPLEMENTATION);
  -
  +         
               if (parserClassname == null) {
                   parserClassname = XMLResourceDescriptor.getXMLParserClassName();
               }
  @@ -97,6 +100,9 @@
               }
               // parse the XML document
               DocumentFactory f = createDocumentFactory(domImpl, parserClassname);
  +         boolean b =
  +             ((Boolean)hints.get(KEY_XML_PARSER_VALIDATING)).booleanValue();
  +         f.setValidating(b);
               try {
                   if (input.getInputStream() != null) {
                       document = f.createDocument(namespaceURI,
  @@ -143,7 +149,7 @@
        */
       protected DocumentFactory createDocumentFactory(DOMImplementation domImpl,
                                                       String parserClassname) {
  -        return new SAXDocumentFactory(domImpl, parserClassname);
  +     return new SAXDocumentFactory(domImpl, parserClassname);
       }
   
       /**
  @@ -185,6 +191,29 @@
        */
       public static final TranscodingHints.Key KEY_XML_PARSER_CLASSNAME
           = new StringKey();
  +
  +    /**
  +     * The validation mode of the XML parser.
  +     * <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Key: </TH>
  +     * <TD VALIGN="TOP">KEY_XML_PARSER_VALIDATING</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Value: </TH>
  +     * <TD VALIGN="TOP">Boolean</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Default: </TH>
  +     * <TD VALIGN="TOP">false</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Required: </TH>
  +     * <TD VALIGN="TOP">No</TD></TR>
  +     * <TR>
  +     * <TH VALIGN="TOP" ALIGN="RIGHT"><P ALIGN="RIGHT">Description: </TH>
  +     * <TD VALIGN="TOP">Specify the validation mode of the XML parser.</TD></TR>
  +     * </TABLE>
  +     */
  +    public static final TranscodingHints.Key KEY_XML_PARSER_VALIDATING
  +        = new BooleanKey();
   
       /**
        * Document element key.
  
  
  
  1.32      +10 -1     
xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java
  
  Index: ImageTranscoder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- ImageTranscoder.java      2001/10/19 09:09:32     1.31
  +++ ImageTranscoder.java      2001/10/24 14:52:36     1.32
  @@ -102,7 +102,7 @@
    * millimeter conversion factor.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: ImageTranscoder.java,v 1.31 2001/10/19 09:09:32 tkormann Exp $
  + * @version $Id: ImageTranscoder.java,v 1.32 2001/10/24 14:52:36 tkormann Exp $
    */
   public abstract class ImageTranscoder extends XMLAbstractTranscoder {
   
  @@ -397,6 +397,15 @@
               }
           }
   
  +     /**
  +      * Returns true if the XML parser must be in validation mode, false
  +      * otherwise.
  +      */
  +     public boolean isXMLParserValidating() {
  +         return ((Boolean)ImageTranscoder.this.hints.get
  +                 (KEY_XML_PARSER_VALIDATING)).booleanValue();
  +     }
  +     
           /**
            * Returns this user agent's CSS media.
            */
  
  
  
  1.17      +17 -4     
xml-batik/sources/org/apache/batik/transcoder/print/PrintTranscoder.java
  
  Index: PrintTranscoder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/transcoder/print/PrintTranscoder.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- PrintTranscoder.java      2001/10/08 15:49:38     1.16
  +++ PrintTranscoder.java      2001/10/24 14:52:37     1.17
  @@ -109,7 +109,7 @@
    * </ul>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Hardy</a>
  - * @version $Id: PrintTranscoder.java,v 1.16 2001/10/08 15:49:38 hillion Exp $
  + * @version $Id: PrintTranscoder.java,v 1.17 2001/10/24 14:52:37 tkormann Exp $
    */
   public class PrintTranscoder extends XMLAbstractTranscoder
       implements Printable {
  @@ -824,19 +824,32 @@
            * <tt>TranscodingHints</tt> or null if any.
            */
           public String getUserStyleSheetURI() {
  -            return (String)PrintTranscoder.this.hints.get(KEY_USER_STYLESHEET_URI);
  +            return (String)PrintTranscoder.this.hints.get
  +             (KEY_USER_STYLESHEET_URI);
           }
   
           /**
            * Returns the XML parser to use from the TranscodingHints.
            */
           public String getXMLParserClassName() {
  -            if (PrintTranscoder.this.hints.containsKey(KEY_XML_PARSER_CLASSNAME)) {
  -                return 
(String)PrintTranscoder.this.hints.get(KEY_XML_PARSER_CLASSNAME);
  +            if (PrintTranscoder.this.hints.containsKey
  +             (KEY_XML_PARSER_CLASSNAME)) {
  +
  +                return (String)PrintTranscoder.this.hints.get
  +                 (KEY_XML_PARSER_CLASSNAME);
               } else {
                   return XMLResourceDescriptor.getXMLParserClassName();
               }
           }
  +
  +     /**
  +      * Returns true if the XML parser must be in validation mode, false
  +      * otherwise.
  +      */
  +     public boolean isXMLParserValidating() {
  +         return ((Boolean)PrintTranscoder.this.hints.get
  +                 (KEY_XML_PARSER_VALIDATING)).booleanValue();
  +     }
   
           /**
            * Returns this user agent's CSS media.
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to