Like SAX2's InputSource
class,
this interface is an abstraction of all the different things
(streams, files, byte arrays, sockets, URLs, etc.) from which
 an XML document can be read.
Java Binding:
package org.w3c.dom.ls;
public interface LSInput {
  public Reader getCharacterStream();
  public void setCharacterStream(Reader in);
  public InputStream getByteStream();
  public void        setByteStream(InputStream in);
  public String getStringData();
  public void   setStringData(String stringData);
  public String getSystemId();
  public void   setSystemId(String systemId);
  public String getPublicId();
  public void   setPublicId(String publicId);
  public String getBaseURI();
  public void   setBaseURI(String baseURI);
  public String getEncoding();
  public void   setEncoding(String encoding);
  public boolean getCertifiedText(); // known to be in NFC
  public void    setCertifiedText(boolean certifiedText);
}