deweese     2003/03/13 11:03:19

  Modified:    .        build.xml
               lib/build stylebook-1.0-b3_xalan-2.jar
               resources/org/apache/batik/dom/svg/resources
                        dtdids.properties
               sources/org/apache/batik/dom/svg SAXSVGDocumentFactory.java
               xdocs    book.xml
  Log:
  1) DocBook/StyleBook works again.
  2) Batik now skips reading the SVG DTD unless validation is turned on.
  
  Revision  Changes    Path
  1.125     +5 -1      xml-batik/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-batik/build.xml,v
  retrieving revision 1.124
  retrieving revision 1.125
  diff -u -r1.124 -r1.125
  --- build.xml 5 Mar 2003 22:12:41 -0000       1.124
  +++ build.xml 13 Mar 2003 19:03:18 -0000      1.125
  @@ -120,6 +120,10 @@
         <include name="stylebook*.jar"/>
         <include name="xalan*.jar"/>
       </fileset>
  +    <fileset dir="lib">
  +      <include name="xerces*.jar"/>
  +      <include name="xml-apis.jar"/>
  +    </fileset>
     </path>
   
   
  
  
  
  1.2       +184 -206  xml-batik/lib/build/stylebook-1.0-b3_xalan-2.jar
  
        <<Binary file>>
  
  
  1.6       +15 -0     
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- dtdids.properties 19 Nov 2002 08:00:13 -0000      1.5
  +++ dtdids.properties 13 Mar 2003 19:03:19 -0000      1.6
  @@ -13,6 +13,21 @@
       -//W3C//DTD SVG 1.1 Basic//EN\
       -//W3C//DTD SVG 1.1 Tiny//EN
   
  +#
  +# The skippablePublicIds property represents the list of SVG DTD's we
  +# can safely skip if we are not validating.  Since SVG may move to
  +# schema you shouldn't count on any entities from these files anyways.
  +#
  +skippablePublicIds = \
  +    -//W3C//DTD SVG 1.0//EN\
  +    -//W3C//DTD SVG 20010904//EN\
  +    -//W3C//DTD SVG 20001102//EN\
  +    -//W3C//DTD SVG 20000802//EN\
  +    -//W3C//DTD SVG 20000303 Stylable//EN\
  +    -//W3C//DTD SVG 1.1//EN\
  +    -//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
  
  
  
  1.19      +30 -6     
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.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- SAXSVGDocumentFactory.java        12 Nov 2002 12:32:06 -0000      1.18
  +++ SAXSVGDocumentFactory.java        13 Mar 2003 19:03:19 -0000      1.19
  @@ -11,6 +11,7 @@
   import java.io.InputStream;
   import java.io.IOException;
   import java.io.Reader;
  +import java.io.ByteArrayInputStream;
   
   import java.net.MalformedURLException;
   import java.net.URL;
  @@ -51,6 +52,11 @@
       public static final String KEY_PUBLIC_IDS = "publicIds";
   
       /**
  +     * Key used for public identifiers
  +     */
  +    public static final String KEY_SKIPPABLE_PUBLIC_IDS = "skippablePublicIds";
  +
  +    /**
        * Key used for system identifiers
        */
       public static final String KEY_SYSTEM_ID = "systemId.";
  @@ -72,6 +78,11 @@
       protected static String dtdids;
   
       /**
  +     * The DTD public IDs we know we can skip.
  +     */
  +    protected static String skippable_dtdids;
  +
  +    /**
        * The ResourceBunder for the public and system ids
        */
       protected static ResourceBundle rb;
  @@ -297,15 +308,28 @@
       public InputSource resolveEntity(String publicId, String systemId)
           throws SAXException {
           try {
  -            if (dtdids == null) {
  -                rb = ResourceBundle.getBundle(DTDIDS,
  -                                              Locale.getDefault());
  +            if (rb == null)
  +                rb = ResourceBundle.getBundle(DTDIDS, Locale.getDefault());
  +
  +            if (dtdids == null)
                   dtdids = rb.getString(KEY_PUBLIC_IDS);
  -            }
  +
  +            if (skippable_dtdids == null)
  +                skippable_dtdids = rb.getString(KEY_SKIPPABLE_PUBLIC_IDS);
  +
               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));
  +                }
  +
                   if (dtdids.indexOf(publicId) != -1) {
                       String localSystemId = 
  -                        rb.getString(KEY_SYSTEM_ID + publicId.replace(' ', '_'));
  +                        rb.getString(KEY_SYSTEM_ID + 
  +                                     publicId.replace(' ', '_'));
   
                       if (localSystemId != null && !"".equals(localSystemId)){
                           return new InputSource
  
  
  
  1.12      +1 -1      xml-batik/xdocs/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/xml-batik/xdocs/book.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  
  
  

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

Reply via email to