venu        2003/12/01 03:56:45

  Modified:    java/src/org/apache/xerces/xinclude XIncludeHandler.java
  Log:
  Basic implementation of setting Accept, Accept-Charset,Accetp-Language as per [1].
  Not yet complete.
  [1]http://www.w3.org/TR/2003/WD-xinclude-20031110
  
  Revision  Changes    Path
  1.10      +37 -3     
xml-xerces/java/src/org/apache/xerces/xinclude/XIncludeHandler.java
  
  Index: XIncludeHandler.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/xinclude/XIncludeHandler.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XIncludeHandler.java      1 Dec 2003 04:49:56 -0000       1.9
  +++ XIncludeHandler.java      1 Dec 2003 11:56:45 -0000       1.10
  @@ -61,7 +61,8 @@
   import java.util.Stack;
   import java.util.StringTokenizer;
   import java.util.Vector;
  -
  +import java.net.*;
  +import java.io.*;
   import org.apache.xerces.impl.Constants;
   import org.apache.xerces.impl.XMLEntityManager;
   import org.apache.xerces.impl.XMLErrorReporter;
  @@ -138,6 +139,9 @@
   
       public final static String XINCLUDE_DEFAULT_CONFIGURATION =
           "org.apache.xerces.parsers.XIncludeParserConfiguration";
  +    public final static String HTTP_ACCEPT = "Accept";
  +    public final static String HTTP_ACCEPT_LANGUAGE = "Accept-Language";
  +    public final static String HTTP_ACCEPT_CHARSET = "Accept-Charset";
   
       public final static String XINCLUDE_NS_URI =
           "http://www.w3.org/2003/XInclude".intern();
  @@ -1091,7 +1095,6 @@
           //       this ties in with the above IURI section, but I suspect Java 
already does it
           String href = attributes.getValue(XINCLUDE_ATTR_HREF);
           String parse = attributes.getValue(XINCLUDE_ATTR_PARSE);
  -
           if (href == null) {
               reportFatalError("HrefMissing");
           }
  @@ -1130,7 +1133,6 @@
                       href,
                       fCurrentBaseURI.getExpandedSystemId());
           }
  -
           if (parse.equals(XINCLUDE_PARSE_XML)) {
               // Instead of always creating a new configuration, the first one can be 
reused
               if (fChildConfig == null) {
  @@ -1157,6 +1159,8 @@
                   newHandler.setParent(this);
                   newHandler.setDocumentHandler(this.getDocumentHandler());
               }
  +                     //disabled for now.
  +                     //setHttpProperties(includedSource,attributes);
   
               // set all features on parserConfig to match this parser configuration
               copyFeatures(fSettings, fChildConfig);
  @@ -1206,6 +1210,8 @@
               includedSource.setEncoding(encoding);
   
               XIncludeTextReader reader = null;
  +                     //disabled for now.
  +                     //setHttpProperties(includedSource,attributes);
               try {
                   if (fIsXML11) {
                       reader = new XInclude11TextReader(includedSource, this);
  @@ -2106,4 +2112,32 @@
               }
           }
       }
  +
  +     /**
  +             Set the Accept,Accept-Language,Accept-CharSet 
  +     */
  +     protected void setHttpProperties(XMLInputSource source,XMLAttributes 
attributes){
  +             try{
  +                     String httpAcceptLang = 
attributes.getValue(HTTP_ACCEPT_LANGUAGE);
  +                     String httpAccept = attributes.getValue(HTTP_ACCEPT);
  +                     String httpAcceptchar = 
attributes.getValue(HTTP_ACCEPT_CHARSET);
  +                     InputStream stream = source.getByteStream();
  +                     if (stream == null) {
  +                     URL location = new URL(source.getSystemId());
  +                     URLConnection connect = location.openConnection();
  +                             if (connect instanceof HttpURLConnection) {
  +                                     if( httpAcceptLang !=null && 
!httpAcceptLang.equals(""))
  +                                             
connect.setRequestProperty(HTTP_ACCEPT_LANGUAGE,httpAcceptLang);
  +                                     if( httpAccept !=null && 
!httpAccept.equals(""))
  +                                             
connect.setRequestProperty(HTTP_ACCEPT,httpAccept);
  +                                     if( httpAcceptchar !=null && 
!httpAcceptchar.equals(""))
  +                                             
connect.setRequestProperty(HTTP_ACCEPT_CHARSET,httpAcceptchar);
  +              }
  +                             stream = connect.getInputStream(); 
  +                             source.setByteStream(stream);
  +                     }
  +             }catch(Exception ex){
  +                     ex.printStackTrace();
  +             }
  +     }
   }
  
  
  

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

Reply via email to