/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* The representation of an SGML DTD. This is produced by the DTDParser.
* The resulting DTD object describes a document syntax and is needed
* to parse HTML documents using the Parser. It contains a list of
* elements and their attributes as well as a list of entities defined
* in the DTD.
*
* @see Element
* @see AttributeList
* @see ContentModel
* @see DTDParser
* @see Parser
* @author Arthur van Hoff
*/
public
// Hash from name to Integer
// Vector of all names
/**
* Create a new DTD.
*/
super(name);
}
/**
* Save to a stream as a Java class. Instantiating this class will
* reproduce a (virtually) identical DTD.
*/
}
}
}
}
private void buildNamesTable() {
// Do even if not isGeneral(). That way, exclusions and inclusions
// will definitely have their element.
}
}
getNameId(s);
}
}
}
}
//
// The the id of a name from the list of names
//
if (o != null) {
}
int i = namesVector.size();
return (short) i;
}
/**
* Save an entity to a stream.
*/
int num = 0;
num++;
}
}
}
}
}
/**
* Save an element to a stream.
*/
byte flags = 0;
flags |= 0x01;
}
flags |= 0x02;
}
// Exclusions
} else {
short num = 0;
num++;
}
}
}
}
}
// Inclusions
} else {
short num = 0;
num++;
}
}
}
}
}
// Attributes
{
short numAtts = 0;
numAtts++;
}
} else {
}
} else {
}
}
}
}
}
/**
* Save a content model to a stream. This does a
* recursive decent of the entire model.
*/
}
}
/**
* Generate a class representing this DTD.
*/
return;
}
try {
} catch (IOException e) {
}
try {
} catch (IOException ex) {
}
}
}