home *** CD-ROM | disk | FTP | other *** search
/ Online Today 2000 January / Onto0100.iso / pc / JAVA / MSJAVX86.EXE / xmldso.cab / XML4IE3.cab / com / ms / xml / parser / Entity.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-10-10  |  2.8 KB  |  128 lines

  1. package com.ms.xml.parser;
  2.  
  3. import com.ms.xml.om.ElementImpl;
  4. import com.ms.xml.util.Name;
  5. import com.ms.xml.util.QualifiedName;
  6. import com.ms.xml.util.XMLOutputStream;
  7. import java.io.IOException;
  8. import java.io.StringBufferInputStream;
  9.  
  10. public class Entity extends ElementImpl {
  11.    static Name nameENTITY = Name.create("ENTITY");
  12.    static Name nameXML = Name.create("XML");
  13.    static Name nameSpaceID = Name.create("//XML/NAMESPACE");
  14.    Name name;
  15.    String url;
  16.    String pubid;
  17.    String text;
  18.    char cdata;
  19.    Name ndata;
  20.    int line;
  21.    int column;
  22.    boolean par;
  23.    boolean sys;
  24.    boolean parsed;
  25.  
  26.    char getChar(int var1) {
  27.       return this.text == null ? this.cdata : this.text.charAt(var1);
  28.    }
  29.  
  30.    void setNDATA(Name var1) {
  31.       this.ndata = var1;
  32.    }
  33.  
  34.    EntityReader getReader(EntityReader var1) {
  35.       return new EntityReader(new StringBufferInputStream(this.text), this.line, this.column, var1, this);
  36.    }
  37.  
  38.    public void save(XMLOutputStream var1) throws IOException {
  39.       var1.writeIndent();
  40.       this.saveEntity(var1);
  41.       var1.writeNewLine();
  42.    }
  43.  
  44.    void setURL(String var1) {
  45.       this.url = var1;
  46.       this.sys = true;
  47.    }
  48.  
  49.    String getURL() {
  50.       return this.url;
  51.    }
  52.  
  53.    Entity(Name var1, boolean var2) {
  54.       super(QualifiedName.create(nameENTITY, nameXML), 7);
  55.       this.name = var1;
  56.       this.par = var2;
  57.       this.parsed = false;
  58.    }
  59.  
  60.    Entity(Name var1, boolean var2, String var3) {
  61.       this(var1, var2);
  62.       this.setText(var3);
  63.       this.setPosition(0, 0);
  64.    }
  65.  
  66.    Entity(Name var1, boolean var2, int var3) {
  67.       this(var1, var2);
  68.       this.cdata = (char)var3;
  69.       this.setText((String)null);
  70.       this.setPosition(0, 0);
  71.    }
  72.  
  73.    void setPosition(int var1, int var2) {
  74.       this.line = var1;
  75.       this.column = var2;
  76.    }
  77.  
  78.    public Name getName() {
  79.       return this.name;
  80.    }
  81.  
  82.    public void saveEntity(XMLOutputStream var1) throws IOException {
  83.       var1.writeChars("<!ENTITY ");
  84.       if (this.par) {
  85.          var1.writeChars("% ");
  86.       }
  87.  
  88.       var1.writeQualifiedName(this.name, (Name)null);
  89.       var1.writeChars(" ");
  90.       if (this.url != null) {
  91.          if (this.pubid == null) {
  92.             var1.writeChars("SYSTEM ");
  93.          } else {
  94.             var1.writeChars("PUBLIC ");
  95.             var1.writeQuotedString(this.pubid);
  96.             var1.write(32);
  97.          }
  98.  
  99.          var1.writeQuotedString(this.url.toString());
  100.          if (this.ndata != null) {
  101.             var1.writeChars(" NDATA ");
  102.             var1.writeQualifiedName(this.ndata, QualifiedName.getNameSpace(this.name));
  103.          }
  104.       } else if (this.text != null) {
  105.          var1.writeQuotedString(this.text);
  106.       }
  107.  
  108.       var1.write(62);
  109.    }
  110.  
  111.    int getLength() {
  112.       if (this.cdata > 0) {
  113.          return -1;
  114.       } else {
  115.          return this.text == null ? 0 : this.text.length();
  116.       }
  117.    }
  118.  
  119.    public void setText(String var1) {
  120.       this.text = var1;
  121.       this.sys = false;
  122.    }
  123.  
  124.    public String getText() {
  125.       return this.text;
  126.    }
  127. }
  128.