deweese     2003/03/13 11:29:27

  Modified:    resources/org/apache/batik/dom/svg/resources
                        dtdids.properties
               sources/org/apache/batik/dom/svg SAXSVGDocumentFactory.java
  Log:
  Need to provide xlink and svg namespace decl on svg elements.
  
  Revision  Changes    Path
  1.7       +17 -9     
xml-batik/resources/org/apache/batik/dom/svg/resources/dtdids.properties
  
  Index: dtdids.properties
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/resources/org/apache/batik/dom/svg/resources/dtdids.properties,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- dtdids.properties 13 Mar 2003 19:03:19 -0000      1.6
  +++ dtdids.properties 13 Mar 2003 19:29:27 -0000      1.7
  @@ -13,6 +13,16 @@
       -//W3C//DTD SVG 1.1 Basic//EN\
       -//W3C//DTD SVG 1.1 Tiny//EN
   
  +systemId.-//W3C//DTD_SVG_1.0//EN = resources/svg10.dtd
  +systemId.-//W3C//DTD_SVG_20010904//EN = resources/svg10.dtd
  +systemId.-//W3C//DTD_SVG_20001102//EN = resources/svg10.dtd
  +systemId.-//W3C//DTD_SVG_20000802//EN = resources/svg10.dtd
  +systemId.-//W3C//DTD_SVG_20000303_Stylable//EN = resources/svg10.dtd
  +
  +systemId.-//W3C//DTD_SVG_1.1//EN = resources/svg11-flat.dtd
  +systemId.-//W3C//DTD_SVG_1.1_Basic//EN = resources/svg11-basic-flat.dtd
  +systemId.-//W3C//DTD_SVG_1.1_Tiny//EN = resources/svg11-tiny-flat.dtd
  +
   #
   # The skippablePublicIds property represents the list of SVG DTD's we
   # can safely skip if we are not validating.  Since SVG may move to
  @@ -28,12 +38,10 @@
       -//W3C//DTD SVG 1.1 Basic//EN\
       -//W3C//DTD SVG 1.1 Tiny//EN
   
  -systemId.-//W3C//DTD_SVG_1.0//EN = resources/svg10.dtd
  -systemId.-//W3C//DTD_SVG_20010904//EN = resources/svg10.dtd
  -systemId.-//W3C//DTD_SVG_20001102//EN = resources/svg10.dtd
  -systemId.-//W3C//DTD_SVG_20000802//EN = resources/svg10.dtd
  -systemId.-//W3C//DTD_SVG_20000303_Stylable//EN = resources/svg10.dtd
  -
  -systemId.-//W3C//DTD_SVG_1.1//EN = resources/svg11-flat.dtd
  -systemId.-//W3C//DTD_SVG_1.1_Basic//EN = resources/svg11-basic-flat.dtd
  -systemId.-//W3C//DTD_SVG_1.1_Tiny//EN = resources/svg11-tiny-flat.dtd
  +#
  +#  This is an absolutely minimal DTD for SVG 1.0/1.1
  +#  It just defines the svg and xlink namespaces.
  +skipDTD = \
  +<!ELEMENT svg (desc|title|metadata|defs)*> \
  +<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/2000/svg"; \
  +              xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"; >
  
  
  
  1.20      +18 -5     
xml-batik/sources/org/apache/batik/dom/svg/SAXSVGDocumentFactory.java
  
  Index: SAXSVGDocumentFactory.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/dom/svg/SAXSVGDocumentFactory.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- SAXSVGDocumentFactory.java        13 Mar 2003 19:03:19 -0000      1.19
  +++ SAXSVGDocumentFactory.java        13 Mar 2003 19:29:27 -0000      1.20
  @@ -11,7 +11,7 @@
   import java.io.InputStream;
   import java.io.IOException;
   import java.io.Reader;
  -import java.io.ByteArrayInputStream;
  +import java.io.StringReader;
   
   import java.net.MalformedURLException;
   import java.net.URL;
  @@ -57,6 +57,11 @@
       public static final String KEY_SKIPPABLE_PUBLIC_IDS = "skippablePublicIds";
   
       /**
  +     * Key used for the skippable DTD substitution
  +     */
  +    public static final String KEY_SKIP_DTD = "skipDTD";
  +
  +    /**
        * Key used for system identifiers
        */
       public static final String KEY_SYSTEM_ID = "systemId.";
  @@ -83,6 +88,11 @@
       protected static String skippable_dtdids;
   
       /**
  +     * The DTD content to use when skipping
  +     */
  +    protected static String skip_dtd;
  +
  +    /**
        * The ResourceBunder for the public and system ids
        */
       protected static ResourceBundle rb;
  @@ -316,14 +326,17 @@
   
               if (skippable_dtdids == null)
                   skippable_dtdids = rb.getString(KEY_SKIPPABLE_PUBLIC_IDS);
  +            if (skip_dtd == null)
  +                skip_dtd = rb.getString(KEY_SKIP_DTD);
   
               if (publicId != null){
                   if (!isValidating && 
                       (skippable_dtdids.indexOf(publicId) != -1)) {
                       // We are not validating and this is a DTD we can
  -                    // safely skip so do it...
  -                    byte [] bytes = new byte[0];
  -                    return new InputSource(new ByteArrayInputStream(bytes));
  +                    // safely skip so do it...  Here we provide just enough
  +                    // of the DTD to keep stuff running (set svg and
  +                    // xlink namespaces).
  +                    return new InputSource(new StringReader(skip_dtd));
                   }
   
                   if (dtdids.indexOf(publicId) != -1) {
  
  
  

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

Reply via email to