dynamic DTD support

git-svn-id: svn://10.0.0.236/trunk@5278 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rickg
1998-07-10 05:35:23 +00:00
parent 45923e2e1b
commit 837fc0806e
56 changed files with 6482 additions and 468 deletions

View File

@@ -47,6 +47,7 @@ CScanner::CScanner(eParseMode aMode) : mBuffer("") {
mNetStream=0;
mFileStream=0;
mIncremental=PR_TRUE;
mOwnsStream=PR_TRUE;
}
/**
@@ -64,6 +65,7 @@ CScanner::CScanner(const char* aFilename,eParseMode aMode) : mBuffer("") {
mParseMode=aMode;
mNetStream=0;
mIncremental=PR_FALSE;
mOwnsStream=PR_TRUE;
#if defined(XP_UNIX) && (defined(IRIX) || defined(MKLINUX))
/* XXX: IRIX does not support ios::binary */
mFileStream=new fstream(aFilename,ios::in);
@@ -72,6 +74,24 @@ CScanner::CScanner(const char* aFilename,eParseMode aMode) : mBuffer("") {
#endif
}
/**
* Use this constructor if you want i/o to be file based.
*
* @update gess 5/12/98
* @param aMode represents the parser mode (nav, other)
* @return
*/
CScanner::CScanner(fstream& aStream,eParseMode aMode) : mBuffer("") {
mOffset=0;
mMarkPos=-1;
mTotalRead=0;
mParseMode=aMode;
mNetStream=0;
mIncremental=PR_FALSE;
mOwnsStream=PR_FALSE;
mFileStream=&aStream;
}
/**
* Use this constructor if you want i/o to be based on a
* non-incremental netstream.
@@ -91,6 +111,7 @@ CScanner::CScanner(nsIURL* aURL,eParseMode aMode) : mBuffer("") {
mIncremental=PR_FALSE;
mNetStream=aURL->Open(&error);
gURLRef=aURL->GetSpec();
mOwnsStream=PR_FALSE;
}
@@ -104,7 +125,8 @@ CScanner::CScanner(nsIURL* aURL,eParseMode aMode) : mBuffer("") {
CScanner::~CScanner() {
if(mFileStream) {
mFileStream->close();
delete mFileStream;
if(mOwnsStream)
delete mFileStream;
}
else if(mNetStream) {
mNetStream->Close();
@@ -354,7 +376,7 @@ PRInt32 CScanner::PutBack(PRUnichar aChar) {
* @param
* @return error status
*/
PRInt32 CScanner::SkipWhite(void) {
PRInt32 CScanner::SkipWhitespace(void) {
static nsAutoString chars(" \n\r\t");
return SkipOver(chars);
}