cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stef...@locus.apache.org
Subject cvs commit: xml-cocoon/src/org/apache/cocoon/parser XercesParser.java
Date Fri, 21 Jul 2000 23:39:56 GMT
stefano     00/07/21 16:39:56

  Modified:    src/org/apache/cocoon/parser XercesParser.java
  Log:
  Xerces requires fully resolved URIs as SystemID
  
  Revision  Changes    Path
  1.10      +18 -3     xml-cocoon/src/org/apache/cocoon/parser/XercesParser.java
  
  Index: XercesParser.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/parser/XercesParser.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XercesParser.java	2000/05/18 21:51:37	1.9
  +++ XercesParser.java	2000/07/21 23:39:55	1.10
  @@ -1,4 +1,4 @@
  -/*-- $Id: XercesParser.java,v 1.9 2000/05/18 21:51:37 stefano Exp $ --
  +/*-- $Id: XercesParser.java,v 1.10 2000/07/21 23:39:55 stefano Exp $ --
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -63,7 +63,7 @@
    * This class implements an XML parser using the Apache Xerces XML parser.
    *
    * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
  - * @version $Revision: 1.9 $ $Date: 2000/05/18 21:51:37 $
  + * @version $Revision: 1.10 $ $Date: 2000/07/21 23:39:55 $
    */
   
   public class XercesParser extends AbstractParser implements Status {
  @@ -81,10 +81,25 @@
           parser.setFeature("http://apache.org/xml/features/dom/create-entity-ref-nodes",
false);
           parser.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", true);
           parser.setFeature("http://apache.org/xml/features/allow-java-encodings", true);
  -        parser.parse(input);
  +        parser.parse(resolveSystemId(input));
           return parser.getDocument();
       }
   
  +    /*
  +     * Make sure the SystemID is fully resolved as the SAX2 spec recommends.
  +     */
  +    private InputSource resolveSystemId(InputSource input) {
  +        String id = input.getSystemId();
  +        if (id != null) {
  +            id = id.replace('\\','/');
  +            if ((id.indexOf("://") < 0) && (!id.startsWith("file:"))) {
  +                id = "file:" + id;
  +            }
  +            input.setSystemId(id);
  +        }
  +        return input;
  +    }
  +    
       /**
        * Creates an empty DOM tree.
        */
  
  
  

Mime
View raw message