You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by vh...@apache.org on 2002/11/12 13:32:06 UTC

cvs commit: xml-batik/sources/org/apache/batik/dom/svg SAXSVGDocumentFactory.java

vhardy      2002/11/12 04:32:06

  Modified:    sources/org/apache/batik/dom/svg SAXSVGDocumentFactory.java
  Log:
  Now support arbitrary public ids / system ids. This file was missing from previous commit
  
  Revision  Changes    Path
  1.18      +27 -7     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.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- SAXSVGDocumentFactory.java	24 Jul 2002 11:50:25 -0000	1.17
  +++ SAXSVGDocumentFactory.java	12 Nov 2002 12:32:06 -0000	1.18
  @@ -46,6 +46,16 @@
       implements SVGDocumentFactory {
   
       /**
  +     * Key used for public identifiers
  +     */
  +    public static final String KEY_PUBLIC_IDS = "publicIds";
  +
  +    /**
  +     * Key used for system identifiers
  +     */
  +    public static final String KEY_SYSTEM_ID = "systemId.";
  +
  +    /**
        * The dtd public IDs resource bundle class name.
        */
       protected final static String DTDIDS =
  @@ -62,6 +72,11 @@
       protected static String dtdids;
   
       /**
  +     * The ResourceBunder for the public and system ids
  +     */
  +    protected static ResourceBundle rb;
  +
  +    /**
        * Creates a new SVGDocumentFactory object.
        * @param parser The SAX2 parser classname.
        */
  @@ -283,15 +298,20 @@
           throws SAXException {
           try {
               if (dtdids == null) {
  -                ResourceBundle rb;
                   rb = ResourceBundle.getBundle(DTDIDS,
                                                 Locale.getDefault());
  -                dtdids = rb.getString("publicIds");
  +                dtdids = rb.getString(KEY_PUBLIC_IDS);
               }
  -            if (publicId != null && dtdids.indexOf(publicId) != -1) {
  -                return new InputSource
  -                    (getClass().getResource
  -                     ("resources/svg10.dtd").toString());
  +            if (publicId != null){
  +                if (dtdids.indexOf(publicId) != -1) {
  +                    String localSystemId = 
  +                        rb.getString(KEY_SYSTEM_ID + publicId.replace(' ', '_'));
  +
  +                    if (localSystemId != null && !"".equals(localSystemId)){
  +                        return new InputSource
  +                            (getClass().getResource(localSystemId).toString());
  +                    }
  +                }
               }
           } catch (MissingResourceException e) {
               throw new SAXException(e);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org