summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--HTMLparser.c149
-rw-r--r--Makefile.am64
-rw-r--r--SAX.c21
-rw-r--r--configure.in2
-rw-r--r--encoding.c21
-rw-r--r--include/libxml/parser.h17
-rw-r--r--include/libxml/tree.h2
-rw-r--r--parser.c546
-rw-r--r--parser.h17
-rw-r--r--result/HTML/Down.html.sax37
-rw-r--r--result/HTML/autoclose.html.sax11
-rw-r--r--result/HTML/autoclose2.html.sax11
-rw-r--r--result/HTML/autoclose3.html.sax20
-rw-r--r--result/HTML/doc2.htm24
-rw-r--r--result/HTML/doc2.htm.err3
-rw-r--r--result/HTML/doc2.htm.sax71
-rw-r--r--result/HTML/doc3.htm888
-rw-r--r--result/HTML/doc3.htm.err93
-rw-r--r--result/HTML/doc3.htm.sax2927
-rw-r--r--result/HTML/entities.html6
-rw-r--r--result/HTML/entities.html.err12
-rw-r--r--result/HTML/entities.html.sax0
-rw-r--r--result/HTML/fp40.htm.sax0
-rw-r--r--result/HTML/liclose.html.sax38
-rw-r--r--result/HTML/reg1.html.sax36
-rw-r--r--result/HTML/reg2.html.sax41
-rw-r--r--result/HTML/reg3.html.sax45
-rw-r--r--result/HTML/reg4.html.sax43
-rw-r--r--result/HTML/test2.html.sax145
-rw-r--r--result/HTML/test3.html.sax230
-rw-r--r--result/HTML/wired.html.err48
-rw-r--r--result/HTML/wired.html.sax0
-rw-r--r--test/HTML/doc2.htm30
-rw-r--r--test/HTML/doc3.htm851
-rw-r--r--test/HTML/entities.html5
-rw-r--r--testHTML.c104
-rw-r--r--testSAX.c19
-rw-r--r--tree.c59
-rw-r--r--tree.h2
-rw-r--r--valid.c22
-rw-r--r--xmllint.c4
42 files changed, 6565 insertions, 118 deletions
diff --git a/ChangeLog b/ChangeLog
index 9babfb06..add96c7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+Sat Aug 12 16:42:37 EDT 2000 Daniel Veillard <Daniel.Veillard@w3.org>
+
+ * parser.[ch]: added xmlGetFeaturesList() xmlGetFeature()
+ and xmlAddFeature()
+ * tree.[ch]: added xmlAddChildList()
+ * xmllint.c: MAP_FAILED macro test
+ * parser.h: added xmlParseCtxtExternalEntity()
+ * valid.c: applied bug fixes removed warning
+ * tree.c: added CDATA block to elements content
+ * testSAX.c: cleanup of output
+ * testHTML.c: added SAX testing
+ * encoding.c: better error recovery
+ * SAX.c, parser.c: fixed one of the external entity processing
+ of the OASis testsuite
+ * Makefile.am: added HTML SAX regression tests
+ * configure.in: bumped to 2.2.2
+ * test/HTML/ result/HTML: added a few of HTML tests, and added the
+ SAX results
+
Fri Aug 4 11:21:50 PDT 2000 Daniel Veillard <Daniel.Veillard@w3.org>
* configure.in: patch for HP compiler
diff --git a/HTMLparser.c b/HTMLparser.c
index 0877f4cc..49684633 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -2168,53 +2168,76 @@ htmlParseExternalID(htmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
void
htmlParseComment(htmlParserCtxtPtr ctxt) {
xmlChar *buf = NULL;
- int len = 0;
+ int len;
int size = HTML_PARSER_BUFFER_SIZE;
- register xmlChar s, r, q;
+ int q, ql;
+ int r, rl;
+ int cur, l;
+ xmlParserInputState state;
/*
* Check that there is a comment right here.
*/
- if ((CUR != '<') || (NXT(1) != '!') ||
+ if ((RAW != '<') || (NXT(1) != '!') ||
(NXT(2) != '-') || (NXT(3) != '-')) return;
+ state = ctxt->instate;
+ ctxt->instate = XML_PARSER_COMMENT;
+ SHRINK;
+ SKIP(4);
buf = (xmlChar *) xmlMalloc(size * sizeof(xmlChar));
if (buf == NULL) {
fprintf(stderr, "malloc of %d byte failed\n", size);
+ ctxt->instate = state;
return;
}
- q = r = '-'; /* 0 or '-' to cover our ass against <!--> and <!---> ? !!! */
- SKIP(4);
- s = CUR;
-
- while (IS_CHAR(s) &&
- ((s != '>') || (r != '-') || (q != '-'))) {
- if (len + 1 >= size) {
+ q = CUR_CHAR(ql);
+ NEXTL(ql);
+ r = CUR_CHAR(rl);
+ NEXTL(rl);
+ cur = CUR_CHAR(l);
+ len = 0;
+ while (IS_CHAR(cur) &&
+ ((cur != '>') ||
+ (r != '-') || (q != '-'))) {
+ if (len + 5 >= size) {
size *= 2;
buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
if (buf == NULL) {
fprintf(stderr, "realloc of %d byte failed\n", size);
+ ctxt->instate = state;
return;
}
}
- buf[len++] = s;
- NEXT;
+ COPY_BUF(ql,buf,len,q);
q = r;
- r = s;
- s = CUR;
+ ql = rl;
+ r = cur;
+ rl = l;
+ NEXTL(l);
+ cur = CUR_CHAR(l);
+ if (cur == 0) {
+ SHRINK;
+ GROW;
+ cur = CUR_CHAR(l);
+ }
}
- buf[len - 2] = 0;
- if (!IS_CHAR(s)) {
+ buf[len] = 0;
+ if (!IS_CHAR(cur)) {
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
- ctxt->sax->error(ctxt->userData, "Comment not terminated \n<!--%.50s\n", buf);
+ ctxt->sax->error(ctxt->userData,
+ "Comment not terminated \n<!--%.50s\n", buf);
+ ctxt->errNo = XML_ERR_COMMENT_NOT_FINISHED;
ctxt->wellFormed = 0;
+ xmlFree(buf);
} else {
NEXT;
- if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL)) {
+ if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
+ (!ctxt->disableSAX))
ctxt->sax->comment(ctxt->userData, buf);
- }
+ xmlFree(buf);
}
- xmlFree(buf);
+ ctxt->instate = state;
}
/**
@@ -2472,10 +2495,36 @@ htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
handler = xmlFindCharEncodingHandler((const char *) encoding);
if (handler != NULL) {
xmlSwitchToEncoding(ctxt, handler);
+ ctxt->charset = XML_CHAR_ENCODING_UTF8;
} else {
ctxt->errNo = XML_ERR_UNSUPPORTED_ENCODING;
}
}
+
+ if ((ctxt->input->buf != NULL) &&
+ (ctxt->input->buf->encoder != NULL) &&
+ (ctxt->input->buf->raw != NULL) &&
+ (ctxt->input->buf->buffer != NULL)) {
+ int nbchars;
+ int processed;
+
+ /*
+ * convert as much as possible to the parser reading buffer.
+ */
+ processed = ctxt->input->cur - ctxt->input->base;
+ xmlBufferShrink(ctxt->input->buf->buffer, processed);
+ nbchars = xmlCharEncInFunc(ctxt->input->buf->encoder,
+ ctxt->input->buf->buffer,
+ ctxt->input->buf->raw);
+ if (nbchars < 0) {
+ if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
+ ctxt->sax->error(ctxt->userData,
+ "htmlCheckEncoding: encoder error\n");
+ ctxt->errNo = XML_ERR_INVALID_ENCODING;
+ }
+ ctxt->input->base =
+ ctxt->input->cur = ctxt->input->buf->buffer->content;
+ }
}
}
@@ -2956,7 +3005,6 @@ htmlParseContent(htmlParserCtxtPtr ctxt) {
void
htmlParseElement(htmlParserCtxtPtr ctxt) {
- const xmlChar *openTag = CUR_PTR;
xmlChar *name;
xmlChar *currentNode = NULL;
htmlElemDescPtr info;
@@ -3030,8 +3078,9 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
NEXT;
} else {
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
- ctxt->sax->error(ctxt->userData, "Couldn't find end of Start Tag\n%.30s\n",
- openTag);
+ ctxt->sax->error(ctxt->userData,
+ "Couldn't find end of Start Tag %s\n",
+ name);
ctxt->wellFormed = 0;
/*
@@ -3183,6 +3232,15 @@ htmlParseDocument(htmlParserCtxtPtr ctxt) {
SKIP_BLANKS;
/*
+ * Parse possible comments before any content
+ */
+ while ((CUR == '<') && (NXT(1) == '!') &&
+ (NXT(2) == '-') && (NXT(3) == '-')) {
+ htmlParseComment(ctxt);
+ SKIP_BLANKS;
+ }
+
+ /*
* Time to start parsing the tree itself
*/
htmlParseContent(ctxt);
@@ -3468,8 +3526,14 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
avail = in->buf->buffer->use - (in->cur - in->base);
if ((avail == 0) && (terminate)) {
htmlAutoClose(ctxt, NULL);
- if (ctxt->nameNr == 0)
+ if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) {
+ /*
+ * SAX: end of the document processing.
+ */
ctxt->instate = XML_PARSER_EOF;
+ if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
+ ctxt->sax->endDocument(ctxt->userData);
+ }
}
if (avail < 1)
goto done;
@@ -3600,14 +3664,19 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
}
break;
case XML_PARSER_EPILOG:
- SKIP_BLANKS;
if (in->buf == NULL)
avail = in->length - (in->cur - in->base);
else
avail = in->buf->buffer->use - (in->cur - in->base);
- if (avail < 2)
+ if (avail < 1)
goto done;
cur = in->cur[0];
+ if (IS_BLANK(cur)) {
+ htmlParseCharData(ctxt, 0);
+ goto done;
+ }
+ if (avail < 2)
+ goto done;
next = in->cur[1];
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
@@ -3769,7 +3838,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
#endif
break;
}
- case XML_PARSER_CONTENT:
+ case XML_PARSER_CONTENT: {
+ long cons;
/*
* Handle preparsed entities and charRef
*/
@@ -3806,6 +3876,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
goto done;
cur = in->cur[0];
next = in->cur[1];
+ cons = ctxt->nbChars;
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if ((!terminate) &&
@@ -3860,7 +3931,19 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
#endif
htmlParseCharData(ctxt, 0);
}
+ if (cons == ctxt->nbChars) {
+ if (ctxt->node != NULL) {
+ if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
+ ctxt->sax->error(ctxt->userData,
+ "detected an error in element content\n");
+ ctxt->wellFormed = 0;
+ NEXT;
+ }
+ break;
+ }
+
break;
+ }
case XML_PARSER_END_TAG:
if (avail < 2)
goto done;
@@ -3947,8 +4030,14 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
done:
if ((avail == 0) && (terminate)) {
htmlAutoClose(ctxt, NULL);
- if (ctxt->nameNr == 0)
+ if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) {
+ /*
+ * SAX: end of the document processing.
+ */
ctxt->instate = XML_PARSER_EOF;
+ if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
+ ctxt->sax->endDocument(ctxt->userData);
+ }
}
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: done %d\n", ret);
@@ -4231,10 +4320,12 @@ htmlSAXParseFile(const char *filename, const char *encoding, htmlSAXHandlerPtr s
void *userData) {
htmlDocPtr ret;
htmlParserCtxtPtr ctxt;
+ htmlSAXHandlerPtr oldsax = NULL;
ctxt = htmlCreateFileParserCtxt(filename, encoding);
if (ctxt == NULL) return(NULL);
if (sax != NULL) {
+ oldsax = ctxt->sax;
ctxt->sax = sax;
ctxt->userData = userData;
}
@@ -4243,7 +4334,7 @@ htmlSAXParseFile(const char *filename, const char *encoding, htmlSAXHandlerPtr s
ret = ctxt->myDoc;
if (sax != NULL) {
- ctxt->sax = NULL;
+ ctxt->sax = oldsax;
ctxt->userData = NULL;
}
htmlFreeParserCtxt(ctxt);
diff --git a/Makefile.am b/Makefile.am
index 3f4b0038..367d004f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -99,6 +99,7 @@ testall : tests SVGtests SAXtests XPathtests XMLenttests
tests: XMLtests HTMLtests Validtests
HTMLtests : testHTML
+ @(rm -f .memdump ; touch .memdump)
@echo "##"
@echo "## HTML regression tests"
@echo "##"
@@ -107,16 +108,71 @@ HTMLtests : testHTML
if [ ! -d $$i ] ; then \
if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
echo New test file $$name ; \
- $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
+ testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
else \
echo Testing $$name ; \
- $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \
+ testHTML $$i > result.$$name 2> error.$$name ; \
+ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
diff $(srcdir)/result/HTML/$$name result.$$name ; \
- diff $(srcdir)/result/HTML/$$name.err error.$$name ; \
- $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
+ diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
+ testHTML result.$$name > result2.$$name 2>error.$$name ; \
diff result.$$name result2.$$name ; \
rm result.$$name result2.$$name error.$$name ; \
fi ; fi ; done)
+ @echo "##"
+ @echo "## Push HTML regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/HTML/* ; do \
+ name=`basename $$i`; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
+ echo New test file $$name ; \
+ testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
+ else \
+ echo Testing $$name ; \
+ testHTML --push $$i > result.$$name 2> error.$$name ; \
+ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
+ diff $(srcdir)/result/HTML/$$name result.$$name ; \
+ cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \
+ cut -b 1-15 error.$$name > errorcut2.$$name; \
+ diff -b errorcut.$$name errorcut2.$$name ; \
+ testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
+ diff result.$$name result2.$$name ; \
+ rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
+ fi ; fi ; done)
+ @echo "##"
+ @echo "## HTML SAX regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/HTML/* ; do \
+ name=`basename $$i`; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \
+ echo New test file $$name ; \
+ testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
+ else \
+ echo Testing $$name ; \
+ testHTML --sax $$i > result.$$name.sax ; \
+ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
+ diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \
+ rm result.$$name.sax ; \
+ fi ; fi ; done)
+ @echo "##"
+ @echo "## Push HTML SAX regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/HTML/* ; do \
+ name=`basename $$i`; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
+ echo New test file $$name ; \
+ testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
+ else \
+ echo Testing $$name ; \
+ testHTML --push --sax $$i > result.$$name.sax ; \
+ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\
+ diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \
+ rm result.$$name.sax ; \
+ fi ; fi ; done)
+
XMLtests : xmllint
@echo "##"
diff --git a/SAX.c b/SAX.c
index 80922fd9..ecc5331b 100644
--- a/SAX.c
+++ b/SAX.c
@@ -338,6 +338,19 @@ getEntity(void *ctx, const xmlChar *name)
#endif
ret = xmlGetDocEntity(ctxt->myDoc, name);
+ if ((ret != NULL) && (ctxt->validate) && (ret->children == NULL) &&
+ (ret->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) {
+ /*
+ * for validation purposes we really need to fetch and
+ * parse the external entity
+ */
+ int parse;
+ xmlNodePtr children;
+
+ parse = xmlParseCtxtExternalEntity(ctxt,
+ ret->SystemID, ret->ExternalID, &children);
+ xmlAddChildList((xmlNodePtr) ret, children);
+ }
return(ret);
}
@@ -591,7 +604,11 @@ startDocument(void *ctx)
#endif
if (ctxt->html) {
if (ctxt->myDoc == NULL)
+#ifdef LIBXML_HTML_ENABLED
ctxt->myDoc = htmlNewDoc(NULL, NULL);
+#else
+ fprintf(stderr, "libxml2 built without HTML support\n");
+#endif
} else {
doc = ctxt->myDoc = xmlNewDoc(ctxt->version);
if (doc != NULL) {
@@ -602,6 +619,10 @@ startDocument(void *ctx)
doc->standalone = ctxt->standalone;
}
}
+ if ((ctxt->myDoc != NULL) && (ctxt->myDoc->URL == NULL) &&
+ (ctxt->input != NULL) && (ctxt->input->filename != NULL)) {
+ ctxt->myDoc->URL = xmlStrdup((xmlChar *) ctxt->input->filename);
+ }
}
/**
diff --git a/configure.in b/configure.in
index e9c816d8..d4fbd7f5 100644
--- a/configure.in
+++ b/configure.in
@@ -5,7 +5,7 @@ AM_CONFIG_HEADER(config.h)
LIBXML_MAJOR_VERSION=2
LIBXML_MINOR_VERSION=2
-LIBXML_MICRO_VERSION=1
+LIBXML_MICRO_VERSION=2
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
diff --git a/encoding.c b/encoding.c
index b12bd0bc..3031ce8c 100644
--- a/encoding.c
+++ b/encoding.c
@@ -420,8 +420,13 @@ UTF8Toisolat1(unsigned char* out, int *outlen,
}
for ( ; trailing; trailing--) {
- if ((in >= inend) || (((d= *in++) & 0xC0) != 0x80))
+ if (in >= inend)
break;
+ if (((d= *in++) & 0xC0) != 0x80) {
+ *outlen = out - outstart;
+ *inlen = processed - instart;
+ return(-2);
+ }
c <<= 6;
c |= d & 0x3F;
}
@@ -1033,6 +1038,8 @@ xmlGetCharEncodingName(xmlCharEncoding enc) {
return("Shift-JIS");
case XML_CHAR_ENCODING_EUC_JP:
return("EUC-JP");
+ case XML_CHAR_ENCODING_ASCII:
+ return(NULL);
}
return(NULL);
}
@@ -1104,6 +1111,11 @@ xmlNewCharEncodingHandler(const char *name,
handler->output = output;
handler->name = up;
+#ifdef LIBXML_ICONV_ENABLED
+ handler->iconv_in = NULL;
+ handler->iconv_out = NULL;
+#endif /* LIBXML_ICONV_ENABLED */
+
/*
* registers and returns the handler.
*/
@@ -1584,8 +1596,10 @@ xmlCharEncInFunc(xmlCharEncodingHandler *handler, xmlBufferPtr out,
if (out == NULL) return(-1);
if (in == NULL) return(-1);
- written = out->size - out->use;
toconv = in->use;
+ if (toconv == 0)
+ return(0);
+ written = out->size - out->use;
if (toconv * 2 >= written) {
xmlBufferGrow(out, toconv * 2);
written = out->size - out->use - 1;
@@ -1697,6 +1711,8 @@ retry:
* Convertion itself.
*/
toconv = in->use;
+ if (toconv == 0)
+ return(0);
if (toconv * 2 >= written) {
xmlBufferGrow(out, toconv * 2);
written = out->size - out->use - 1;
@@ -1772,6 +1788,7 @@ retry:
fprintf(stderr, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
in->content[0], in->content[1],
in->content[2], in->content[3]);
+ in->content[0] = ' ';
}
break;
}
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index c39f7100..6d257c56 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -402,6 +402,10 @@ int xmlParseExternalEntity (xmlDocPtr doc,
const xmlChar *URL,
const xmlChar *ID,
xmlNodePtr *list);
+int xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
+ const xmlChar *URL,
+ const xmlChar *ID,
+ xmlNodePtr *list);
/**
* SAX initialization routines
@@ -421,6 +425,19 @@ void xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt,
xmlParserCtxtPtr xmlCreateDocParserCtxt (xmlChar *cur);
/**
+ * Reading/setting optional parsing features.
+ */
+
+int xmlGetFeaturesList (int *len,
+ const char **result);
+int xmlGetFeature (xmlParserCtxtPtr ctxt,
+ const char *name,
+ void *result);
+int xmlSetFeature (xmlParserCtxtPtr ctxt,
+ const char *name,
+ void *value);
+
+/**
* Interfaces for the Push mode
*/
xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index 00f4ee6d..a3ae15fd 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -508,6 +508,8 @@ void xmlNodeSetName (xmlNodePtr cur,
const xmlChar *name);
xmlNodePtr xmlAddChild (xmlNodePtr parent,
xmlNodePtr cur);
+xmlNodePtr xmlAddChildList (xmlNodePtr parent,
+ xmlNodePtr cur);
xmlNodePtr xmlReplaceNode (xmlNodePtr old,
xmlNodePtr cur);
xmlNodePtr xmlAddSibling (xmlNodePtr cur,
diff --git a/parser.c b/parser.c
index 43a8a40d..14aee653 100644
--- a/parser.c
+++ b/parser.c
@@ -62,10 +62,11 @@ void xmlParserHandleReference(xmlParserCtxtPtr ctxt);
void xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
xmlEntityPtr xmlParseStringPEReference(xmlParserCtxtPtr ctxt,
const xmlChar **str);
-
-/*
- * Version handling
- */
+/************************************************************************
+ * *
+ * Version and Features handling *
+ * *
+ ************************************************************************/
const char *xmlParserVersion = LIBXML_VERSION_STRING;
/*
@@ -93,6 +94,293 @@ xmlCheckVersion(int version) {
}
+const char *xmlFeaturesList[] = {
+ "validate",
+ "keep blanks",
+ "disable SAX",
+ "fetch external entities",
+ "substitute entities",
+ "gather line info",
+ "user data",
+ "is html",
+ "is standalone",
+ "stop parser",
+ "document",
+ "is well formed",
+ "is valid",
+ "SAX block",
+ "SAX function internalSubset",
+ "SAX function isStandalone",
+ "SAX function hasInternalSubset",
+ "SAX function hasExternalSubset",
+ "SAX function resolveEntity",
+ "SAX function getEntity",
+ "SAX function entityDecl",
+ "SAX function notationDecl",
+ "SAX function attributeDecl",
+ "SAX function elementDecl",
+ "SAX function unparsedEntityDecl",
+ "SAX function setDocumentLocator",
+ "SAX function startDocument",
+ "SAX function endDocument",
+ "SAX function startElement",
+ "SAX function endElement",
+ "SAX function reference",
+ "SAX function characters",
+ "SAX function ignorableWhitespace",
+ "SAX function processingInstruction",
+ "SAX function comment",
+ "SAX function warning",
+ "SAX function error",
+ "SAX function fatalError",
+ "SAX function getParameterEntity",
+ "SAX function cdataBlock",
+ "SAX function externalSubset",
+};
+
+/*
+ * xmlGetFeaturesList:
+ * @len: the length of the features name array (input/output)
+ * @result: an array of string to be filled with the features name.
+ *
+ * Copy at most *@len feature names into the @result array
+ *
+ * Returns -1 in case or error, or the total number of features,
+ * len is updated with the number of strings copied,
+ * strings must not be deallocated
+ */
+int
+xmlGetFeaturesList(int *len, const char **result) {
+ int ret, i;
+
+ ret = sizeof(xmlFeaturesList)/sizeof(xmlFeaturesList[0]);
+ if ((len == NULL) || (result == NULL))
+ return(ret);
+ if ((*len < 0) || (*len >= 1000))
+ return(-1);
+ if (*len > ret)
+ *len = ret;
+ for (i = 0;i < *len;i++)
+ result[i] = xmlFeaturesList[i];
+ return(ret);
+}
+
+/*
+ * xmlGetFeature:
+ * @ctxt: an XML/HTML parser context
+ * @name: the feature name
+ * @result: location to store the result
+ *
+ * Read the current value of one feature of this parser instance
+ *
+ * Returns -1 in case or error, 0 otherwise
+ */
+int
+xmlGetFeature(xmlParserCtxtPtr ctxt, const char *name, void *result) {
+ if ((ctxt == NULL) || (name == NULL) || (result == NULL))
+ return(-1);
+
+ if (!strcmp(name, "validate")) {
+ *((int *) result) = ctxt->validate;
+ } else if (!strcmp(name, "keep blanks")) {
+ *((int *) result) = ctxt->keepBlanks;
+ } else if (!strcmp(name, "disable SAX")) {
+ *((int *) result) = ctxt->disableSAX;
+ } else if (!strcmp(name, "fetch external entities")) {
+ *((int *) result) = ctxt->validate;
+ } else if (!strcmp(name, "substitute entities")) {
+ *((int *) result) = ctxt->replaceEntities;
+ } else if (!strcmp(name, "gather line info")) {
+ *((int *) result) = ctxt->record_info;
+ } else if (!strcmp(name, "user data")) {
+ *((void **)result) = ctxt->userData;
+ } else if (!strcmp(name, "is html")) {
+ *((int *) result) = ctxt->html;
+ } else if (!strcmp(name, "is standalone")) {
+ *((int *) result) = ctxt->standalone;
+ } else if (!strcmp(name, "document")) {
+ *((xmlDocPtr *) result) = ctxt->myDoc;
+ } else if (!strcmp(name, "is well formed")) {
+ *((int *) result) = ctxt->wellFormed;
+ } else if (!strcmp(name, "is valid")) {
+ *((int *) result) = ctxt->valid;
+ } else if (!strcmp(name, "SAX block")) {
+ *((xmlSAXHandlerPtr *) result) = ctxt->sax;
+ } else if (!strcmp(name, "SAX function internalSubset")) {
+ *((internalSubsetSAXFunc *) result) = ctxt->sax->internalSubset;
+ } else if (!strcmp(name, "SAX function isStandalone")) {
+ *((isStandaloneSAXFunc *) result) = ctxt->sax->isStandalone;
+ } else if (!strcmp(name, "SAX function hasInternalSubset")) {
+ *((hasInternalSubsetSAXFunc *) result) = ctxt->sax->hasInternalSubset;
+ } else if (!strcmp(name, "SAX function hasExternalSubset")) {
+ *((hasExternalSubsetSAXFunc *) result) = ctxt->sax->hasExternalSubset;
+ } else if (!strcmp(name, "SAX function resolveEntity")) {
+ *((resolveEntitySAXFunc *) result) = ctxt->sax->resolveEntity;
+ } else if (!strcmp(name, "SAX function getEntity")) {
+ *((getEntitySAXFunc *) result) = ctxt->sax->getEntity;
+ } else if (!strcmp(name, "SAX function entityDecl")) {
+ *((entityDeclSAXFunc *) result) = ctxt->sax->entityDecl;
+ } else if (!strcmp(name, "SAX function notationDecl")) {
+ *((notationDeclSAXFunc *) result) = ctxt->sax->notationDecl;
+ } else if (!strcmp(name, "SAX function attributeDecl")) {
+ *((attributeDeclSAXFunc *) result) = ctxt->sax->attributeDecl;
+ } else if (!strcmp(name, "SAX function elementDecl")) {
+ *((elementDeclSAXFunc *) result) = ctxt->sax->elementDecl;
+ } else if (!strcmp(name, "SAX function unparsedEntityDecl")) {
+ *((unparsedEntityDeclSAXFunc *) result) = ctxt->sax->unparsedEntityDecl;
+ } else if (!strcmp(name, "SAX function setDocumentLocator")) {
+ *((setDocumentLocatorSAXFunc *) result) = ctxt->sax->setDocumentLocator;
+ } else if (!strcmp(name, "SAX function startDocument")) {
+ *((startDocumentSAXFunc *) result) = ctxt->sax->startDocument;
+ } else if (!strcmp(name, "SAX function endDocument")) {
+ *((endDocumentSAXFunc *) result) = ctxt->sax->endDocument;
+ } else if (!strcmp(name, "SAX function startElement")) {
+ *((startElementSAXFunc *) result) = ctxt->sax->startElement;
+ } else if (!strcmp(name, "SAX function endElement")) {
+ *((endElementSAXFunc *) result) = ctxt->sax->endElement;
+ } else if (!strcmp(name, "SAX function reference")) {
+ *((referenceSAXFunc *) result) = ctxt->sax->reference;
+ } else if (!strcmp(name, "SAX function characters")) {
+ *((charactersSAXFunc *) result) = ctxt->sax->characters;
+ } else if (!strcmp(name, "SAX function ignorableWhitespace")) {
+ *((ignorableWhitespaceSAXFunc *) result) = ctxt->sax->ignorableWhitespace;
+ } else if (!strcmp(name, "SAX function processingInstruction")) {
+ *((processingInstructionSAXFunc *) result) = ctxt->sax->processingInstruction;
+ } else if (!strcmp(name, "SAX function comment")) {
+ *((commentSAXFunc *) result) = ctxt->sax->comment;
+ } else if (!strcmp(name, "SAX function warning")) {
+ *((warningSAXFunc *) result) = ctxt->sax->warning;
+ } else if (!strcmp(name, "SAX function error")) {
+ *((errorSAXFunc *) result) = ctxt->sax->error;
+ } else if (!strcmp(name, "SAX function fatalError")) {
+ *((fatalErrorSAXFunc *) result) = ctxt->sax->fatalError;
+ } else if (!strcmp(name, "SAX function getParameterEntity")) {
+ *((getParameterEntitySAXFunc *) result) = ctxt->sax->getParameterEntity;
+ } else if (!strcmp(name, "SAX function cdataBlock")) {
+ *((cdataBlockSAXFunc *) result) = ctxt->sax->cdataBlock;
+ } else if (!strcmp(name, "SAX function externalSubset")) {
+ *((externalSubsetSAXFunc *) result) = ctxt->sax->externalSubset;
+ } else {
+ return(-1);
+ }
+ return(0);
+}
+
+/*
+ * xmlSetFeature:
+ * @ctxt: an XML/HTML parser context
+ * @name: the feature name
+ * @value: pointer to the location of the new value
+ *
+ * Change the current value of one feature of this parser instance
+ *
+ * Returns -1 in case or error, 0 otherwise
+ */
+int
+xmlSetFeature(xmlParserCtxtPtr ctxt, const char *name, void *value) {
+ if ((ctxt == NULL) || (name == NULL) || (value == NULL))
+ return(-1);
+
+ if (!strcmp(name, "validate")) {
+ ctxt->validate = *((int *) value);
+ } else if (!strcmp(name, "keep blanks")) {
+ ctxt->keepBlanks = *((int *) value);
+ } else if (!strcmp(name, "disable SAX")) {
+ ctxt->disableSAX = *((int *) value);
+ } else if (!strcmp(name, "fetch external entities")) {
+ int newvalid = *((int *) value);
+ if ((!ctxt->validate) && (newvalid != 0)) {
+ if (ctxt->vctxt.warning == NULL)
+ ctxt->vctxt.warning = xmlParserValidityWarning;
+ if (ctxt->vctxt.error == NULL)
+ ctxt->vctxt.error = xmlParserValidityError;
+ /* Allocate the Node stack */
+ ctxt->vctxt.nodeTab = (xmlNodePtr *)
+ xmlMalloc(4 * sizeof(xmlNodePtr));
+ ctxt->vctxt.nodeNr = 0;
+ ctxt->vctxt.nodeMax = 4;
+ ctxt->vctxt.node = NULL;
+ }
+ ctxt->validate = newvalid;
+ } else if (!strcmp(name, "substitute entities")) {
+ ctxt->replaceEntities = *((int *) value);
+ } else if (!strcmp(name, "gather line info")) {
+ ctxt->record_info = *((int *) value);
+ } else if (!strcmp(name, "user data")) {
+ ctxt->userData = *((void **)value);
+ } else if (!strcmp(name, "is html")) {
+ ctxt->html = *((int *) value);
+ } else if (!strcmp(name, "is standalone")) {
+ ctxt->standalone = *((int *) value);
+ } else if (!strcmp(name, "document")) {
+ ctxt->myDoc = *((xmlDocPtr *) value);
+ } else if (!strcmp(name, "is well formed")) {
+ ctxt->wellFormed = *((int *) value);
+ } else if (!strcmp(name, "is valid")) {
+ ctxt->valid = *((int *) value);
+ } else if (!strcmp(name, "SAX block")) {
+ ctxt->sax = *((xmlSAXHandlerPtr *) value);
+ } else if (!strcmp(name, "SAX function internalSubset")) {
+ ctxt->sax->internalSubset = *((internalSubsetSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function isStandalone")) {
+ ctxt->sax->isStandalone = *((isStandaloneSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function hasInternalSubset")) {
+ ctxt->sax->hasInternalSubset = *((hasInternalSubsetSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function hasExternalSubset")) {
+ ctxt->sax->hasExternalSubset = *((hasExternalSubsetSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function resolveEntity")) {
+ ctxt->sax->resolveEntity = *((resolveEntitySAXFunc *) value);
+ } else if (!strcmp(name, "SAX function getEntity")) {
+ ctxt->sax->getEntity = *((getEntitySAXFunc *) value);
+ } else if (!strcmp(name, "SAX function entityDecl")) {
+ ctxt->sax->entityDecl = *((entityDeclSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function notationDecl")) {
+ ctxt->sax->notationDecl = *((notationDeclSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function attributeDecl")) {
+ ctxt->sax->attributeDecl = *((attributeDeclSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function elementDecl")) {
+ ctxt->sax->elementDecl = *((elementDeclSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function unparsedEntityDecl")) {
+ ctxt->sax->unparsedEntityDecl = *((unparsedEntityDeclSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function setDocumentLocator")) {
+ ctxt->sax->setDocumentLocator = *((setDocumentLocatorSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function startDocument")) {
+ ctxt->sax->startDocument = *((startDocumentSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function endDocument")) {
+ ctxt->sax->endDocument = *((endDocumentSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function startElement")) {
+ ctxt->sax->startElement = *((startElementSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function endElement")) {
+ ctxt->sax->endElement = *((endElementSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function reference")) {
+ ctxt->sax->reference = *((referenceSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function characters")) {
+ ctxt->sax->characters = *((charactersSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function ignorableWhitespace")) {
+ ctxt->sax->ignorableWhitespace = *((ignorableWhitespaceSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function processingInstruction")) {
+ ctxt->sax->processingInstruction = *((processingInstructionSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function comment")) {
+ ctxt->sax->comment = *((commentSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function warning")) {
+ ctxt->sax->warning = *((warningSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function error")) {
+ ctxt->sax->error = *((errorSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function fatalError")) {
+ ctxt->sax->fatalError = *((fatalErrorSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function getParameterEntity")) {
+ ctxt->sax->getParameterEntity = *((getParameterEntitySAXFunc *) value);
+ } else if (!strcmp(name, "SAX function cdataBlock")) {
+ ctxt->sax->cdataBlock = *((cdataBlockSAXFunc *) value);
+ } else if (!strcmp(name, "SAX function externalSubset")) {
+ ctxt->sax->externalSubset = *((externalSubsetSAXFunc *) value);
+ } else {
+ return(-1);
+ }
+ return(0);
+}
+
+
/************************************************************************
* *
* Input handling functions for progressive parsing *
@@ -1958,6 +2246,10 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
* ... The declaration of a parameter entity must precede
* any reference to it...
*/
+ if ((ctxt->validate) && (ctxt->vctxt.error != NULL)) {
+ ctxt->vctxt.error(ctxt->vctxt.userData,
+ "PEReference: %%%s; not found\n", name);
+ } else
if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
ctxt->sax->warning(ctxt->userData,
"PEReference: %%%s; not found\n", name);
@@ -2155,6 +2447,9 @@ xmlStringDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int what,
int c,l;
int nbchars = 0;
+ if (str == NULL)
+ return(NULL);
+
if (ctxt->depth > 40) {
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
@@ -2381,6 +2676,7 @@ xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
ctxt->charset = XML_CHAR_ENCODING_UTF8;
return(0);
case XML_CHAR_ENCODING_UTF8:
+ case XML_CHAR_ENCODING_ASCII:
/* default encoding, no conversion should be needed */
ctxt->charset = XML_CHAR_ENCODING_UTF8;
return(0);
@@ -2552,6 +2848,7 @@ xmlSwitchToEncoding(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr handler)
}
ctxt->input->base =
ctxt->input->cur = ctxt->input->buf->buffer->content;
+
}
return(0);
} else {
@@ -3886,7 +4183,8 @@ xmlParseAttValue(xmlParserCtxtPtr ctxt) {
* This may look absurd but is needed to detect
* entities problems
*/
- if (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) {
+ if ((ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
+ (ent->content != NULL)) {
xmlChar *rep;
rep = xmlStringDecodeEntities(ctxt, ent->content,
XML_SUBSTITUTE_REF, 0, 0, 0);
@@ -5657,7 +5955,8 @@ xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt) {
ctxt->disableSAX = 1;
if ((op != NULL) && (op != ret))
xmlFreeElementContent(op);
- if ((last != NULL) && (last != ret))
+ if ((last != NULL) && (last != ret) &&
+ (last != ret->c1) && (last != ret->c2))
xmlFreeElementContent(last);
if (ret != NULL)
xmlFreeElementContent(ret);
@@ -5693,9 +5992,10 @@ xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt) {
ctxt->errNo = XML_ERR_SEPARATOR_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- if ((op != NULL) && (op != ret))
+ if ((op != NULL) && (op != ret) && (op != last))
xmlFreeElementContent(op);
- if ((last != NULL) && (last != ret))
+ if ((last != NULL) && (last != ret) &&
+ (last != ret->c1) && (last != ret->c2))
xmlFreeElementContent(last);
if (ret != NULL)
xmlFreeElementContent(ret);
@@ -5707,7 +6007,8 @@ xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt) {
if (op == NULL) {
if ((op != NULL) && (op != ret))
xmlFreeElementContent(op);
- if ((last != NULL) && (last != ret))
+ if ((last != NULL) && (last != ret) &&
+ (last != ret->c1) && (last != ret->c2))
xmlFreeElementContent(last);
if (ret != NULL)
xmlFreeElementContent(ret);
@@ -5731,7 +6032,8 @@ xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt) {
ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_FINISHED;
if ((op != NULL) && (op != ret))
xmlFreeElementContent(op);
- if ((last != NULL) && (last != ret))
+ if ((last != NULL) && (last != ret) &&
+ (last != ret->c1) && (last != ret->c2))
xmlFreeElementContent(last);
if (ret != NULL)
xmlFreeElementContent(ret);
@@ -5757,7 +6059,8 @@ xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt) {
ctxt->disableSAX = 1;
if ((op != NULL) && (op != ret))
xmlFreeElementContent(op);
- if ((last != NULL) && (last != ret))
+ if ((last != NULL) && (last != ret) &&
+ (last != ret->c1) && (last != ret->c2))
xmlFreeElementContent(last);
if (ret != NULL)
xmlFreeElementContent(ret);
@@ -7999,6 +8302,13 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
#endif
xmlFree(oldname);
}
+ if ( ret != NULL && ctxt->record_info ) {
+ node_info.end_pos = ctxt->input->consumed +
+ (CUR_PTR - ctxt->input->base);
+ node_info.end_line = ctxt->input->line;
+ node_info.node = ret;
+ xmlParserAddNodeInfo(ctxt, &node_info);
+ }
return;
}
if (RAW == '>') {
@@ -9919,7 +10229,6 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID,
/*
* Set-up the SAX context
*/
- if (ctxt == NULL) return(NULL);
if (sax != NULL) {
if (ctxt->sax != NULL)
xmlFree(ctxt->sax);
@@ -10067,6 +10376,165 @@ xmlSAXParseBalancedChunk(xmlParserCtxtPtr ctx, xmlSAXHandlerPtr sax,
}
/**
+ * xmlParseCtxtExternalEntity:
+ * @ctx: the existing parsing context
+ * @URL: the URL for the entity to load
+ * @ID: the System ID for the entity to load
+ * @list: the return value for the set of parsed nodes
+ *
+ * Parse an external general entity within an existing parsing context
+ * An external general parsed entity is well-formed if it matches the
+ * production labeled extParsedEnt.
+ *
+ * [78] extParsedEnt ::= TextDecl? content
+ *
+ * Returns 0 if the entity is well formed, -1 in case of args problem and
+ * the parser error code otherwise
+ */
+
+int
+xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
+ const xmlChar *ID, xmlNodePtr *list) {
+ xmlParserCtxtPtr ctxt;
+ xmlDocPtr newDoc;
+ xmlSAXHandlerPtr oldsax = NULL;
+ int ret = 0;
+
+ if (ctx->depth > 40) {
+ return(XML_ERR_ENTITY_LOOP);
+ }
+
+ if (list != NULL)
+ *list = NULL;
+ if ((URL == NULL) && (ID == NULL))
+ return(-1);
+ if (ctx->myDoc == NULL) /* @@ relax but check for dereferences */
+ return(-1);
+
+
+ ctxt = xmlCreateEntityParserCtxt(URL, ID, ctx->myDoc->URL);
+ if (ctxt == NULL) return(-1);
+ ctxt->userData = ctxt;
+ oldsax = ctxt->sax;
+ ctxt->sax = ctx->sax;
+ newDoc = xmlNewDoc(BAD_CAST "1.0");
+ if (newDoc == NULL) {
+ xmlFreeParserCtxt(ctxt);
+ return(-1);
+ }
+ if (ctx->myDoc != NULL) {
+ newDoc->intSubset = ctx->myDoc->intSubset;
+ newDoc->extSubset = ctx->myDoc->extSubset;
+ }
+ if (ctx->myDoc->URL != NULL) {
+ newDoc->URL = xmlStrdup(ctx->myDoc->URL);
+ }
+ newDoc->children = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
+ if (newDoc->children == NULL) {
+ ctxt->sax = oldsax;
+ xmlFreeParserCtxt(ctxt);
+ newDoc->intSubset = NULL;
+ newDoc->extSubset = NULL;
+ xmlFreeDoc(newDoc);
+ return(-1);
+ }
+ nodePush(ctxt, newDoc->children);
+ if (ctx->myDoc == NULL) {
+ ctxt->myDoc = newDoc;
+ } else {
+ ctxt->myDoc = ctx->myDoc;
+ newDoc->children->doc = ctx->myDoc;
+ }
+
+ /*
+ * Parse a possible text declaration first
+ */
+ GROW;
+ if ((RAW == '<') && (NXT(1) == '?') &&
+ (NXT(2) == 'x') && (NXT(3) == 'm') &&
+ (NXT(4) == 'l') && (IS_BLANK(NXT(5)))) {
+ xmlParseTextDecl(ctxt);
+ }
+
+ /*
+ * Doing validity checking on chunk doesn't make sense
+ */
+ ctxt->instate = XML_PARSER_CONTENT;
+ ctxt->validate = ctx->validate;
+ ctxt->depth = ctx->depth + 1;
+ ctxt->replaceEntities = ctx->replaceEntities;
+ if (ctxt->validate) {
+ ctxt->vctxt.error = ctx->vctxt.error;
+ ctxt->vctxt.warning = ctx->vctxt.warning;
+ /* Allocate the Node stack */
+ ctxt->vctxt.nodeTab = (xmlNodePtr *) xmlMalloc(4 * sizeof(xmlNodePtr));
+ ctxt->vctxt.nodeNr = 0;
+ ctxt->vctxt.nodeMax = 4;
+ ctxt->vctxt.node = NULL;
+ } else {
+ ctxt->vctxt.error = NULL;
+ ctxt->vctxt.warning = NULL;
+ }
+
+ xmlParseContent(ctxt);
+
+ if ((RAW == '<') && (NXT(1) == '/')) {
+ if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
+ ctxt->sax->error(ctxt->userData,
+ "chunk is not well balanced\n");
+ ctxt->wellFormed = 0;
+ ctxt->disableSAX = 1;
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
+ } else if (RAW != 0) {
+ if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
+ ctxt->sax->error(ctxt->userData,
+ "extra content at the end of well balanced chunk\n");
+ ctxt->wellFormed = 0;
+ ctxt->disableSAX = 1;
+ ctxt->errNo = XML_ERR_EXTRA_CONTENT;
+ }
+ if (ctxt->node != newDoc->children) {
+ if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
+ ctxt->sax->error(ctxt->userData,
+ "chunk is not well balanced\n");
+ ctxt->wellFormed = 0;
+ ctxt->disableSAX = 1;
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
+ }
+
+ if (!ctxt->wellFormed) {
+ if (ctxt->errNo == 0)
+ ret = 1;
+ else
+ ret = ctxt->errNo;
+ } else {
+ if (list != NULL) {
+ xmlNodePtr cur;
+
+ /*
+ * Return the newly created nodeset after unlinking it from
+ * they pseudo parent.
+ */
+ cur = newDoc->children->children;
+ *list = cur;
+ while (cur != NULL) {
+ cur->parent = NULL;
+ cur = cur->next;
+ }
+ newDoc->children->children = NULL;
+ }
+ ret = 0;
+ }
+ ctxt->sax = oldsax;
+ xmlFreeParserCtxt(ctxt);
+ newDoc->intSubset = NULL;
+ newDoc->extSubset = NULL;
+ xmlFreeDoc(newDoc);
+
+ return(ret);
+}
+
+/**
* xmlParseExternalEntity:
* @doc: the document the chunk pertains to
* @sax: the SAX handler bloc (possibly NULL)
@@ -10104,6 +10572,8 @@ xmlParseExternalEntity(xmlDocPtr doc, xmlSAXHandlerPtr sax, void *user_data,
*list = NULL;
if ((URL == NULL) && (ID == NULL))
return(-1);
+ if (doc == NULL) /* @@ relax but check for dereferences */
+ return(-1);
ctxt = xmlCreateEntityParserCtxt(URL, ID, doc->URL);
@@ -10413,24 +10883,43 @@ xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
xmlParserCtxtPtr ctxt;
xmlParserInputPtr inputStream;
char *directory = NULL;
-
+ xmlChar *uri;
+
ctxt = xmlNewParserCtxt();
if (ctxt == NULL) {
return(NULL);
}
- inputStream = xmlLoadExternalEntity((char *)URL, (char *)ID, ctxt);
- if (inputStream == NULL) {
- xmlFreeParserCtxt(ctxt);
- return(NULL);
- }
+ uri = xmlBuildURI(URL, base);
- inputPush(ctxt, inputStream);
+ if (uri == NULL) {
+ inputStream = xmlLoadExternalEntity((char *)URL, (char *)ID, ctxt);
+ if (inputStream == NULL) {
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
- if ((ctxt->directory == NULL) && (directory == NULL))
- directory = xmlParserGetDirectory((char *)URL);
- if ((ctxt->directory == NULL) && (directory != NULL))
- ctxt->directory = directory;
+ inputPush(ctxt, inputStream);
+
+ if ((ctxt->directory == NULL) && (directory == NULL))
+ directory = xmlParserGetDirectory((char *)URL);
+ if ((ctxt->directory == NULL) && (directory != NULL))
+ ctxt->directory = directory;
+ } else {
+ inputStream = xmlLoadExternalEntity((char *)uri, (char *)ID, ctxt);
+ if (inputStream == NULL) {
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
+
+ inputPush(ctxt, inputStream);
+
+ if ((ctxt->directory == NULL) && (directory == NULL))
+ directory = xmlParserGetDirectory((char *)uri);
+ if ((ctxt->directory == NULL) && (directory != NULL))
+ ctxt->directory = directory;
+ xmlFree(uri);
+ }
return(ctxt);
}
@@ -10763,10 +11252,14 @@ int xmlSAXUserParseMemory(xmlSAXHandlerPtr sax, void *user_data,
char *buffer, int size) {
int ret = 0;
xmlParserCtxtPtr ctxt;
+ xmlSAXHandlerPtr oldsax = NULL;
ctxt = xmlCreateMemoryParserCtxt(buffer, size);
if (ctxt == NULL) return -1;
- ctxt->sax = sax;
+ if (sax != NULL) {
+ oldsax = ctxt->sax;
+ ctxt->sax = sax;
+ }
ctxt->userData = user_data;
xmlParseDocument(ctxt);
@@ -10779,8 +11272,9 @@ int xmlSAXUserParseMemory(xmlSAXHandlerPtr sax, void *user_data,
else
ret = -1;
}
- if (sax != NULL)
- ctxt->sax = NULL;
+ if (sax != NULL) {
+ ctxt->sax = oldsax;
+ }
xmlFreeParserCtxt(ctxt);
return ret;
diff --git a/parser.h b/parser.h
index c39f7100..6d257c56 100644
--- a/parser.h
+++ b/parser.h
@@ -402,6 +402,10 @@ int xmlParseExternalEntity (xmlDocPtr doc,
const xmlChar *URL,
const xmlChar *ID,
xmlNodePtr *list);
+int xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
+ const xmlChar *URL,
+ const xmlChar *ID,
+ xmlNodePtr *list);
/**
* SAX initialization routines
@@ -421,6 +425,19 @@ void xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt,
xmlParserCtxtPtr xmlCreateDocParserCtxt (xmlChar *cur);
/**
+ * Reading/setting optional parsing features.
+ */
+
+int xmlGetFeaturesList (int *len,
+ const char **result);
+int xmlGetFeature (xmlParserCtxtPtr ctxt,
+ const char *name,
+ void *result);
+int xmlSetFeature (xmlParserCtxtPtr ctxt,
+ const char *name,
+ void *value);
+
+/**
* Interfaces for the Push mode
*/
xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
diff --git a/result/HTML/Down.html.sax b/result/HTML/Down.html.sax
new file mode 100644
index 00000000..ce3052eb
--- /dev/null
+++ b/result/HTML/Down.html.sax
@@ -0,0 +1,37 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+, 1)
+SAX.startElement(head)
+SAX.characters(
+ , 3)
+SAX.startElement(title)
+SAX.characters(This service is temporary down, 30)
+SAX.endElement(title)
+SAX.characters(
+, 1)
+SAX.endElement(head)
+SAX.characters(
+
+, 2)
+SAX.startElement(body, bgcolor='#FFFFFF')
+SAX.characters(
+, 1)
+SAX.startElement(h1, align='center')
+SAX.characters(Sorry, this service is tempora, 37)
+SAX.endElement(h1)
+SAX.characters(
+We are doing our best to get , 48)
+SAX.startElement(p)
+SAX.characters(The W3C system administrators, 29)
+SAX.endElement(p)
+SAX.characters(
+, 1)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/autoclose.html.sax b/result/HTML/autoclose.html.sax
new file mode 100644
index 00000000..5a45627b
--- /dev/null
+++ b/result/HTML/autoclose.html.sax
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.startElement(body)
+SAX.startElement(hr)
+SAX.endElement(hr)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.endDocument()
diff --git a/result/HTML/autoclose2.html.sax b/result/HTML/autoclose2.html.sax
new file mode 100644
index 00000000..d1e6abbe
--- /dev/null
+++ b/result/HTML/autoclose2.html.sax
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.startElement(body)
+SAX.startElement(p)
+SAX.characters(toto
+, 5)
+SAX.endElement(p)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.endDocument()
diff --git a/result/HTML/autoclose3.html.sax b/result/HTML/autoclose3.html.sax
new file mode 100644
index 00000000..e8ed3303
--- /dev/null
+++ b/result/HTML/autoclose3.html.sax
@@ -0,0 +1,20 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.startElement(body)
+SAX.startElement(ul)
+SAX.characters(
+, 1)
+SAX.startElement(li)
+SAX.characters(item 1
+, 7)
+SAX.endElement(li)
+SAX.startElement(li)
+SAX.characters(item 2
+, 7)
+SAX.endElement(li)
+SAX.error: Opening and ending tag mismatch: body and ul
+SAX.endElement(ul)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.endDocument()
diff --git a/result/HTML/doc2.htm b/result/HTML/doc2.htm
new file mode 100644
index 00000000..31db4968
--- /dev/null
+++ b/result/HTML/doc2.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0016)http://intranet/ --><!-- BEGIN Naviscope Javascript --><html>
+<head>
+<title>Welcome to Copernic.com</title>
+<script language="javascript">
+ NS_ActualOpen=window.open;
+ function NS_NullWindow(){this.window;}
+ function NS_NewOpen(url,nam,atr){return(new NS_NullWindow());}
+ window.open=NS_NewOpen;
+</script>
+<!-- END Naviscope Javascript -->!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;<!-- saved from url=(0027)http://www.agents-tech.com/ --><meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
+<meta content="Copernic.com Inc. develops innovative agent technology solutions to efficiently access and manage the overwhelming quantity of information available on the Internet and intranets." name="DESCRIPTION">
+<meta content="agent,technology,intranet,extranet,management,filtering,ranking,solution,service,intelligent,intelligence,client,server,architecture,developer,development,information,telecommunication,announcement,press,product,profile,contact,multi-agent,meta-search,metasearch,multi-thread,mobile,wireless,shopping,robot,PCS,Copernic,engine,toolkit,CDK,EDK" name="KEYWORDS">
+<meta content="MSHTML 5.00.3103.1000" name="GENERATOR">
+</head>
+<body><frameset border="false" cols="172,*" frameBorder="0" frameSpacing="0">
+<frame marginHeight="0" marginWidth="0" name="left" noResize scrolling="no" src="doc2_files/side.htm" target="rtop">
+<frameset rows="43,*">
+<frame marginHeight="0" marginWidth="0" name="rtop" noResize scrolling="no" src="doc2_files/top.htm" target="rbottom">
+<frame name="rbottom" noResize src="doc2_files/contents.htm" target="_top">
+</frameset>
+<noframes><body bgcolor="#FFFFFF" text="#000000" link="#000080" vlink="#000080" alink="#000080" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0"><p>This page uses frames, but your browser doesn't support them.</p></body></noframes>
+</frameset></body>
+</html>
diff --git a/result/HTML/doc2.htm.err b/result/HTML/doc2.htm.err
new file mode 100644
index 00000000..9e37bf47
--- /dev/null
+++ b/result/HTML/doc2.htm.err
@@ -0,0 +1,3 @@
+./test/HTML/doc2.htm:10: error: htmlParseStartTag: invalid element name
+<!-- END Naviscope Javascript --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Tr
+ ^
diff --git a/result/HTML/doc2.htm.sax b/result/HTML/doc2.htm.sax
new file mode 100644
index 00000000..3d020526
--- /dev/null
+++ b/result/HTML/doc2.htm.sax
@@ -0,0 +1,71 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, (null))
+SAX.comment( saved from url=(0016)http://intranet/ )
+SAX.comment( BEGIN Naviscope Javascript )
+SAX.startElement(html)
+SAX.startElement(head)
+SAX.startElement(title)
+SAX.characters(Welcome to Copernic.com, 23)
+SAX.endElement(title)
+SAX.characters(
+, 1)
+SAX.startElement(script, language='javascript')
+SAX.characters(
+ NS_ActualOpen=windo, 194)
+SAX.endElement(script)
+SAX.characters(
+, 1)
+SAX.comment( END Naviscope Javascript )
+SAX.error: htmlParseStartTag: invalid element name
+SAX.characters(!DOCTYPE HTML PUBLIC "-//W3C//, 61)
+SAX.comment( saved from url=(0027)http://www.agents-tech.com/ )
+SAX.characters(
+, 1)
+SAX.startElement(meta, content='text/html; charset=iso-8859-1', http-equiv='Content-Type')
+SAX.endElement(meta)
+SAX.characters(
+, 1)
+SAX.startElement(meta, content='Copernic.com Inc. develops innovative agent technology solutions to efficiently access and manage the overwhelming quantity of information available on the Internet and intranets.', name='DESCRIPTION')
+SAX.endElement(meta)
+SAX.characters(
+, 1)
+SAX.startElement(meta, content='agent,technology,intranet,extranet,management,filtering,ranking,solution,service,intelligent,intelligence,client,server,architecture,developer,development,information,telecommunication,announcement,press,product,profile,contact,multi-agent,meta-search,metasearch,multi-thread,mobile,wireless,shopping,robot,PCS,Copernic,engine,toolkit,CDK,EDK', name='KEYWORDS')
+SAX.endElement(meta)
+SAX.characters(
+, 1)
+SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR')
+SAX.endElement(meta)
+SAX.endElement(head)
+SAX.startElement(body)
+SAX.startElement(frameset, border='false', cols='172,*', frameBorder='0', frameSpacing='0')
+SAX.startElement(frame, marginHeight='0', marginWidth='0', name='left', noResize='(null)', scrolling='no', src='doc2_files/side.htm', target='rtop')
+SAX.endElement(frame)
+SAX.startElement(frameset, rows='43,*')
+SAX.startElement(frame, marginHeight='0', marginWidth='0', name='rtop', noResize='(null)', scrolling='no', src='doc2_files/top.htm', target='rbottom')
+SAX.endElement(frame)
+SAX.startElement(frame, name='rbottom', noResize='(null)', src='doc2_files/contents.htm', target='_top')
+SAX.endElement(frame)
+SAX.endElement(frameset)
+SAX.startElement(noframes)
+SAX.characters(
+
+ , 4)
+SAX.startElement(body, bgcolor='#FFFFFF', text='#000000', link='#000080', vlink='#000080', alink='#000080', topmargin='0', leftmargin='0', marginheight='0', marginwidth='0')
+SAX.characters(
+ , 3)
+SAX.startElement(p)
+SAX.characters(This page uses frames, but you, 61)
+SAX.endElement(p)
+SAX.characters(
+ , 3)
+SAX.endElement(body)
+SAX.characters(
+ , 3)
+SAX.endElement(noframes)
+SAX.endElement(frameset)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/doc3.htm b/result/HTML/doc3.htm
new file mode 100644
index 00000000..cd7e2b61
--- /dev/null
+++ b/result/HTML/doc3.htm
@@ -0,0 +1,888 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0025)http://bp6.gamesquad.net/ --><!-- BEGIN Naviscope Javascript --><html>
+<head>
+<title>BP6.com #1 online resource for the BP6 Mobo....</title>
+<script language="javascript">
+ NS_ActualOpen=window.open;
+ function NS_NullWindow(){this.window;}
+ function NS_NewOpen(url,nam,atr){return(new NS_NullWindow());}
+ window.open=NS_NewOpen;
+</script>
+<!-- END Naviscope Javascript -->!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 3.2//EN&quot;&gt;<!--last modified on Tuesday, February 22, 2000 11:47 PM --><meta content="text/html;CHARSET=iso-8859-1" http-equiv="Content-Type">
+<meta content="Tim" name="Author">
+<style type="text/css">A.nav {
+ COLOR: #003399; TEXT-DECORATION: none
+}
+A.nav:hover {
+ COLOR: #3366cc; TEXT-DECORATION: underline
+}
+</style>
+<script language="JavaScript">
+<!-- Idea by: Nic Wolfe (Nic@TimelapseProductions.com) --><!-- Web URL: http://fineline.xs.mw --><!-- This script and many more are available free online at --><!-- The JavaScript Source!! http://javascript.internet.com --><!-- Begin
+function popUp(URL) {
+day = new Date();
+id = day.getTime();
+eval("page" + id + " = window.open(URL, '" + id + "', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0, resizable=0, width=145, height=250');");
+}
+// End -->
+</script>
+<meta content="MSHTML 5.00.3103.1000" name="GENERATOR">
+</head>
+<body aLink="red" bgColor="black" link="red" text="white" vLink="red">
+<p>
+<div align="center">
+<table border="0" cellPadding="0" cellSpacing="0" width="80%"><tbody>
+<tr>
+<td vAlign="top" width="31"><a href="http://bp6.gamesquad.net/"><img align="bottom" border="0" height="74" src="doc3_files/logo.gif" width="252"></a></td>
+<td align="left" bgColor="#000000">
+<img height="15" src="doc3_files/spacer.gif" width="15">
+<!-- START GAMESQUAD.NET IFRAME RICH MEDIA CODE --><!-- © 2000 GameSquad.net All Rights Reserved. --><iframe border="0" frameBorder="no" height="60" marginHeight="0" marginWidth="0" scrolling="no" src="doc3_files/adcycle.htm" width="468"><a href="http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&amp;id=1" target="_top"><img src="http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&amp;media=1&amp;id=1" width="468" height="60" border="0" ALT="GSN ROS Ad"></a></iframe>
+<!-- END GAMESQUAD.NET IFRAME RICH MEDIA CODE --><br>
+<img height="15" src="doc3_files/spacer.gif" width="400">
+</td>
+</tr>
+<tr><td bgColor="#003399" colSpan="2"><p align="right">
+<img align="right" border="0" height="18" hspace="0" src="doc3_files/trcorner.gif" width="20">
+<img align="left" border="0" height="18" hspace="0" src="doc3_files/tlcorner.gif" width="20">
+<font face="Verdana" size="2">Monday, July 31st, 2000</font>
+</p></td></tr>
+<tr><td colSpan="2"><table bgColor="#003399" border="0" cellPadding="0" cellSpacing="4" width="100%"><tbody><tr><td bgColor="#666666" width="100%"><center>
+<p>
+<table bgColor="black" border="0" cellPadding="0" cellSpacing="1" width="100%"><tbody><tr><td background="doc3_files/hscan.gif" bgColor="#666666" width="100%">
+<img height="1" src="doc3_files/spacer.gif" width="738">
+<br>
+<center><table border="0" cellPadding="2" cellSpacing="0" width="91%"><tbody><tr>
+<td vAlign="top" width="15%"><p align="center">
+<a href="http://bp6.gamesquad.net/specs.phtml"><img align="bottom" alt="Abit BP6 Motherboard specification and information." border="0" height="45" src="doc3_files/bp6icon.gif" width="70"></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/specs.phtml"><font color="white" face="Verdana" size="1">BP6 Specs</font></a>
+</p></td>
+<td vAlign="top" width="15%"><p align="center">
+<a href="http://bp6.gamesquad.net/bxcool.phtml"><img align="bottom" alt="How to cool the BX Chipset on your BP6." border="0" height="45" src="doc3_files/bxcool.gif" width="70"></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/uc.phtml"><font color="white" face="Verdana" size="1">BX Cooling</font></a>
+</p></td>
+<td vAlign="top" width="15%"><p align="center">
+<a href="http://bp6.gamesquad.net/contest.phtml"><img align="bottom" alt="The U;timate Gaming Contest - Coming Soon!" border="0" height="45" src="doc3_files/ugmcontest.gif" width="70"></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/contest.phtml"><font color="white" face="Verdana" size="1">UGM Contest</font></a>
+</p></td>
+<td vAlign="top" width="15%"><p align="center">
+<a href="http://bp6.gamesquad.net/uc.phtml"><img align="bottom" alt="Cooling &amp; Heatsink review for the BP6." border="0" height="45" src="doc3_files/alpha.gif" width="70"></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/uc.phtml"><font color="white" face="Verdana" size="1">Heatsinks</font></a>
+</p></td>
+<td vAlign="top" width="15%"><p align="center">
+<a href="http://bp6.gamesquad.net/101.phtml"><img align="bottom" alt="BP6 101 - Class is now in session. Welcome newbies!" border="0" height="45" src="doc3_files/bp6101.gif" width="70"></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/101.phtml"><font color="white" face="Verdana" size="1">BP6 101</font></a>
+</p></td>
+<td vAlign="top" width="15%"><p align="center">
+<a href="http://bp6.gamesquad.net/win2k_install.phtml"><img align="bottom" alt="Install guide for installing Windows 2000 on the BP6 " border="0" height="45" src="doc3_files/win2kht.gif" width="70"></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/win2k_install.phtml"><font color="white" face="Verdana" size="1">Win2k Install</font></a>
+</p></td>
+<td vAlign="top" width="15%"><p align="center">
+<a href="http://www.gentus.com/">
+<img align="bottom" alt="Taking a first look at the Abit Linux release called " border="0" height="45" src="doc3_files/gentusbox.gif" width="70" Gentus>?.?&gt;</a>
+<br>
+<a href="http://www.gentus.com/"><font color="white" face="Verdana" size="1">Gentus</font></a>
+</p></td>
+</tr></tbody></table></center>
+</tbody></table>
+</center></tbody></table>
+</tbody></table>
+<table bgColor="#003399" border="0" cellSpacing="6" width="80%"><tbody><tr>
+<td bgColor="black" vAlign="top" width="10%"><table border="0" cellPadding="3" cellSpacing="0" width="100%"><tbody><tr><td width="100%">
+<img height="1" src="doc3_files/spacer.gif" width="111">
+<br>
+<b><font color="yellow" face="Verdana" size="2">REVIEWS</font></b>
+<font face="Verdana" size="2">
+<br>
+<hr align="center">
+</font>
+<a href="http://bp6.gamesquad.net/bp6reviews.phtml"><font color="white" face="Verdana" size="1">BP6 Reviews</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/h2o.phtml"><font color="white" face="Verdana" size="1">BP6 Watercooling</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/bxcool.phtml"><font color="white" face="Verdana" size="1">BX Chipset Cooling</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/benchmark.phtml"><font color="white" face="Verdana" size="1">Benchmarks</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/bp6fsb.phtml"><font color="white" face="Verdana" size="1">BP6FSB Utility</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/powerleap.phtml"><font color="white" face="Verdana" size="1">PowerLeap NEO S370</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/seti.phtml"><font color="white" face="Verdana" size="1">SETI on the BP6</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/orbs.phtml"><font color="white" face="Verdana" size="1">Golden Orbs I</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/orbs/orbs2.phtml"><font color="white" face="Verdana" size="1">Golden Orbs II</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/Q6fix.phtml"><font color="white" face="Verdana" size="1">VTT Solution</font></a>
+<font face="Verdana" size="1">
+<br>
+<br>
+</font>
+<b><font color="yellow" face="Verdana" size="2">NAVIGATE</font></b>
+<font color="yellow" face="Verdana" size="2"><hr align="center"></font>
+<a href="http://www.bp6.com/"><font color="white" face="Verdana" size="1">News</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/chat.phtml"><font color="white" face="Verdana" size="1">Online Text Chat</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="javascript:popUp('chat_popup.htm')"><font color="white" face="Verdana" size="1">Voice Chat</font></a>
+<br>
+<a href="http://216.247.220.192/Forum"><font color="white" face="Verdana" size="1">Messageboard</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/cooling"><font color="white" face="Verdana" size="1">Temp. Converter</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/uc.phtml"><font color="white" face="Verdana" size="1">Picture Gallery</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/bios.phtml"><font color="white" face="Verdana" size="1">Latest BIOS</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/files/"><font color="white" face="Verdana" size="1">Drivers &amp; Files</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/uc.phtml"><font color="white" face="Verdana" size="1">UGM of the week</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/contest.phtml"><font color="white" face="Verdana" size="1">BP6 Contest</font></a>
+<font face="Verdana" size="1">
+<br>
+<br>
+</font>
+<b><font color="yellow" face="Verdana" size="2">OTHER STUFF</font></b>
+<font color="yellow" face="Verdana" size="2"><hr align="center"></font>
+<a href="http://bp6.gamesquad.net/whois.phtml"><font color="white" face="Verdana" size="1">Who is Tim?</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="mailto:tim@bp6.com"><font color="white" face="Verdana" size="1">Contact BP6.com</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/uc.phtml"><font color="white" face="Verdana" size="1">Affiliates Section</font></a>
+<font face="Verdana" size="1"><br></font>
+<a href="http://bp6.gamesquad.net/uc.phtml"><font color="white" face="Verdana" size="1">Sponsors Section <br>
+</font></a>
+<a href="http://bp6.gamesquad.net/links.phtml"><font color="white" face="Verdana" size="1">Links<br>
+<br>
+</font></a>
+<b><font color="yellow" face="Verdana" size="2">PC SPECIALS</font></b>
+<font color="yellow" face="Verdana" size="2"><hr align="center"></font>
+<a href="http://bp6.gamesquad.net/specials.phtml"><font color="white" face="Verdana" size="1">Vendor
+ Specials<br>
+<br>
+</font></a>
+<br>
+<b><font color="yellow" face="Verdana" size="2">Pic of the day</font></b>
+<hr>
+<center><p align="center"><font face="Verdana, Arial, Helvetica" size="1"><a href="http://bp6.gamesquad.net/cgi-bin/schlabo/potd.pl"><img alt="No picture is available for today." border="0" src="doc3_files/potd_na_110x83.gif"></a></font></p></center>
+<br>
+<center></center>
+<br>
+<!--<A HREF="code:javascript:ID_FTPWebView.InvokeHelp()"><FONT SIZE="1" COLOR="white" FACE="Verdana">FTP Help</FONT></A>-->
+</td></tr></tbody></table>
+<td bgColor="white" vAlign="top" width="80%">
+<img height="1" src="doc3_files/spacer.gif" width="490">
+<br>
+<center>
+<p>
+<table bgColor="white" border="0" cellPadding="10" cellSpacing="0" height="100%" width="100%"><tbody><tr><td bgColor="white" vAlign="top" width="100%">
+<center><a href="http://www.encounter2001.com/" target="_blank"><img border="0" height="60" src="doc3_files/banner2.gif" width="468"></a></center>
+<br>
+<a name="news_top"></a>
+<font color="#003366" face="verdana,arial" size="2"><b>Headlines</b></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem965012956,78924,">Chat
+ with ABIT - 8:09PM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964766837,26344,">Fixed
+ wallpaper - 11:47PM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964762841,25865,">Seti
+ update - 10:40PM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964732235,45502,">Judge
+ gives Napster the Boot!! - 2:10PM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964713289,83675,">Ram
+ Sinks.. more cooling for small places. - 8:54AM
+ PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964671589,7831,">is
+ it [H]ard? - 9:19PM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964644047,60218,">WiLd
+ CaSe!! - 1:40PM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964631110,84122,">What
+ the heck is a Peltier?!?! - 10:05AM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964587833,74573,">HELLO
+ EVERYONE!!! - 10:03PM PDT</a></font>
+<br>
+<font face="arial" size="1"><a class="nav" href="http://bp6.gamesquad.net/index.phtml#newsitem964429577,13375,">BP6
+ Q3 server up and running.. - 2:06AM PDT</a></font>
+<br>
+<br>
+<!-- NP v3.7.5 --><a name="newsitem965012956,78924,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Sunday,
+ July 30, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">Chat with
+ ABIT</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 8:09PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/965012956,78924,.html">
+<img border="0" src="doc3_files/comments.gif">0 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">I&#x2019;m slacking a little. All game no
+ work makes Holodeck2 a happy boy :-)<br>
+<br>Wallpaper update: I got
+ off my lazy ass and redid the 1280x1024 wall paper, now it has the 2
+ celerons.<br>
+<br>
+<b><a href="http://fullon3d.com/chat/abit/" target="3d">Fullon3d had a live chat with that Eric guy from Abit.
+ </a></b>Submitted by: MJS<br>
+<br>Here&#x2019;s a little clip:<br>[Falcon]
+ BP6-2??<br>[EricBoeing] We already have a micro ATX dual flip-chip
+ board<br>[EricBoeing] but it's OEM only<br>[EricBoeing] the full ATX
+ version should be out Septemberish<br>
+</font>
+<br>
+<br>
+<a name="newsitem964766837,26344,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Thursday,
+ July 27, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">Fixed
+ wallpaper</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 11:47PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/964766837,26344,.html">
+<img border="0" src="doc3_files/comments.gif">5 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">
+<b>Get them now!!</b>
+<br>This is a
+ fixed bp6 wallpaper. In all the popular flavors, err...
+ resolutions.<br>
+<img height="180" src="doc3_files/3-800.jpg" width="240">
+<br>It's still the Intels Inside one with a spelling
+ change; from &quot;Mothboard&quot; to &quot;Motherboard&quot;<br>
+<br>Thanks to Matt for
+ pointing that out to me.<br>I would also like to thank Kevin for
+ hosting my last batch and Radu for the previous &quot;DUEL&quot;/&quot;DUAL&quot;
+ error.<br>And 1 more person, THANK YOU TIM for letting me borrow
+ your server space ;-)<br>
+<br>If you need a weird resolution, feel
+ free to <a href="mailto:Holodeck2@home.com">e-mail</a> me requesting
+ for one.<br>If you have ideas or more errors to point out, <a href="mailto:Holodeck2@home.com">mailto:Holodeck2@home.com</a>
+<br>
+<br>
+<a href="doc3_files/3-800.jpg" target="800">800x600 </a>
+<br>
+<a href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1024.jpg" target="800">1024x768 </a>
+<br>
+<a href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1152.jpg" target="800">1152x864 </a>
+<br>
+<a href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1280x1024.jpg" target="800">1280x1024 </a>
+<br>
+<a href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1600.jpg" target="800">1600x1200 </a>
+<br>
+<p>Enjoy :-)<br>
+</p>
+<p>
+<a href="mailto:Holodeck2@home.com">Holodeck2,</a>
+<br>[H]ard at
+ work on the Brand Spanking New Wallpaper.<br>
+</p>
+</font>
+<br>
+<br>
+<a name="newsitem964762841,25865,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">Seti update</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 10:40PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/964762841,25865,.html">
+<img border="0" src="doc3_files/comments.gif">5 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">
+<img height="54" src="doc3_files/setiupdate.jpg" width="400">
+<br>You like the
+ pic?<br>
+<br>Bp6 User Group Update:<br>Completed 61531
+ units!!<br>
+<b>#168 on Top 200 All Groups</b> (Going to pass CLRC in
+ a few days)<br>
+<b>#74 on Top 200 Teams</b> (Gaining fast on
+ Starfleet)<br>
+<br>We are flying though at the speed of light (may be
+ a little slower).<br>Good job everyone!!<br>
+<br>Check this page at
+ least once a day for new stuff :-)<br>
+</font>
+<br>
+<br>
+<a name="newsitem964732235,45502,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">Judge gives Napster the
+ Boot!!</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 2:10PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/964732235,45502,.html">
+<img border="0" src="doc3_files/comments.gif">0 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Good afternoon for everyone living in
+ EST. I was going to post today morning but I didn't. Here's my
+ story:<br>I woke up and thought about posting something but I
+ decided to wax my car before the sun came up (draw your own
+ conclusions), wax on, wax off, wax on,..., did that for about an
+ hour. Then I saw the sun rise (Aaahh I'm melting... not). I sat in
+ front of my comp and started to search for good news to post. Saw
+ that a stoopid judge temporally shuts down napster. Goes to room and
+ cry. and now I'm here :-)<br>
+<br>
+<a href="http://www.msnbc.com/news/437532.asp" target="Judge vs Napster">Judge shuts Napster down
+ <p><img height="143" src="doc3_files/669915.jpg" width="200"></p>
+</a>
+<br>Check out the Goofy guy in the suit<br>He's Sean
+ Fanning, founder of Napster.<br>
+<br>Got news?? <a href="mailto:Holodeck2@home.com">mailto:Holodeck2@home.com</a>
+<br>
+</font>
+<br>
+<br>
+<a name="newsitem964713289,83675,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">Ram Sinks.. more cooling for small
+ places.</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:tim@bp6.com">tim</a> @ 8:54AM PDT</small>  <a href="http://bp6.gamesquad.net/news/964713289,83675,.html">
+<img border="0" src="doc3_files/comments.gif">0 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Need some cooling for your Videocard
+ memory to get a little extra overclockability and FPS? <a href="http://www.overclockershideout.com/RamSinks.html" target="_BLANK">Overclockers Hiedout Ram Sinks</a> They just notified
+ me of their new design.<br>
+<img border="1" src="doc3_files/ramsink.jpg">
+</font>
+<br>
+<br>
+<a name="newsitem964671589,7831,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Wednesday, July 26,
+ 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">is it
+ [H]ard?</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 9:19PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/964671589,7831,.html">
+<img border="0" src="doc3_files/comments.gif">0 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Big heatsinks are good, very good. The
+ bigger the better.<br>You can never can have a too big of heatsink
+ on a small chip (CPU, GPU, CHIPSET, etc)<br>
+<br>
+<img height="173" src="doc3_files/voodooside2.jpg" width="230">
+<br>My overclocked
+ Voodoo3 2000 with a BIG mofo heatsink on top.<br>Peltier and
+ watercooling next up :-)<br>(if you pry off the heatsink you void
+ the warranty )<br>
+<br>it was originally posted on <a href="http://www.hardocp.com/">[H]ardOCP </a>
+<br>I&#x2019;m not only a
+ BP6er but also a [H]ardOCPer<br>
+</font>
+<br>
+<br>
+<a name="newsitem964644047,60218,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">WiLd CaSe!!</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 1:40PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/964644047,60218,.html">
+<img border="0" src="doc3_files/comments.gif">8 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Now this person really knows how to
+ keep his case cool!!<br>Addin an 18&quot; Fan!! WOW!!<br>
+<br>
+<a href="http://www.envador.com/Photos/PVCII/" target="_blank"><img src="doc3_files/TN_OpenedUp1.jpg"></a>
+<br>Click to go to his
+ site.<br>
+</font>
+<br>
+<br>
+<a name="newsitem964631110,84122,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">What the heck is a
+ Peltier?!?!</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 10:05AM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/964631110,84122,.html">
+<img border="0" src="doc3_files/comments.gif">6 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">This is for all you people who wanted
+ to know what a peltier is.<br>
+<br>The quest fo the Perfect
+ Peltier<br>
+<a href="http://www.tweakmax.com/html/peltier/peltier-1.cfm" target="_blank"><img src="doc3_files/peltier.jpg"></a>
+<br>Thanks to
+ <a href="http://www.tweakmax.com/" target="_blank">TweakMax.com</a>
+<br>
+<br>Note: Today morning when I woke up I saw my whole screen
+ cluttered with a bunch of IMs!! I live in the USA on EST. If you
+ live somewhere else please check the time in my area. for example:
+ If you live in Europe and IM me in the morning your time I would be
+ sleeping it would be like 4 in the morning here. Just to let you
+ know <img src="doc3_files/smile.gif">
+<br>I'm not angry at anyone...
+ good thing I have a long fuse <img src="doc3_files/tongue.gif">
+<br>
+</font>
+<br>
+<br>
+<a name="newsitem964587833,74573,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Tuesday,
+ July 25, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">HELLO
+ EVERYONE!!!</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:Holodeck@bp6.com">Holodeck2</a> @ 10:03PM
+ PDT</small>  <br>
+<font color="black" face="Arial" size="2">Hello
+ everyone, Woohoo!! I'm on!!<br>Who is this Holodeck2 person
+ anyways?!?! Read on :-)<br>I&#x2019;m a regular on the bp6 messageboard,
+ trying to help people out with their problems.<br>I&#x2019;m the
+ self-proclaimed bp6 cooling expert, If you have a cooling idea, I&#x2019;ve
+ probably already done it and can offer some incite.<br>My computer
+ is always on so you can contact me whenever... problem is, I'm not
+ always in front of it. I'll try to update this page and keep
+ everyone happy :-)<br>Any Questions or comments, you can either
+ contact me or post it on the messageboard.<br>
+<br>Ways to contact
+ me.<br>E-mail: <a href="mailto:Holodeck2@home.com">Holodeck2@home.com</a> (All E-mails
+ will be answered in 24 hours or less, I guarantee it.)<br>When you
+ write me an e-mail please put in the subject line &quot;BP6&quot; then the
+ rest of your subject so my e-mail program can sort it, thanks<br>
+<a href="http://www.aol.com/aim">AIM: </a>Holodeck2 (instant response
+ if I&#x2019;m in front of my comp and not trying to frag someone)<br>
+<a href="http://www.icq.com/download">ICQ: </a>82640218 (rarely
+ on)<br>
+<br>P.S. If someone named &#x201C;Digital Vortex&#x201D; on either Quake 3
+ or 2 frags you, it&#x2019;s probably me. ;-)<br>
+</font>
+<br>
+<br>
+<a name="newsitem964429577,13375,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Monday,
+ July 24, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">BP6 Q3 server up and
+ running..</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:tim@bp6.com">tim</a> @ 2:06AM PDT</small>  <a href="http://bp6.gamesquad.net/news/964429577,13375,.html">
+<img border="0" src="doc3_files/comments.gif">3 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Setup a Q3 server for anyone wanting
+ to practice in preparation for Quakecon.. Connect to bp6.dyndns.org
+ default port. (SERVER: BP6 system, 256 MB ram, celeron 600 on a T3
+ connection)... Will be moved to another BP6 server eventually. This
+ is only a temporary test of the system and net connection. <br>(BTW-
+ there are a few bot's running around in there..)</font>
+<br>
+<br>
+<a name="newsitem964425184,95812,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">BIOS Savior to the
+ rescue....</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:tim@bp6.com">tim</a> @ 12:53AM PDT</small>  <a href="http://bp6.gamesquad.net/news/964425184,95812,.html">
+<img border="0" src="doc3_files/comments.gif">2 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Do you sweat during the BIOS flashing
+ procedure on your BP6 mobo? If so then this little gadget maybe
+ worth a first look. It's called the &quot;<b>RD1 BIOS Savior</b>&quot; and it
+ plugs in between your BIOS ROM and the BIOS ROM socket on your mobo.
+ This device will backup your BIOS and and allow you to recover your
+ BIOS in the event that your flashing session goes wrong. In the
+ event of a bad flash, just flip a switch on the RDI and boot up your
+ system, and flash again. This is also good as a failsafe in case you
+ don't believe in Virus Protecting your computer. (Thanks to Fred for
+ link)<br>
+<a href="http://www.ioss.com.tw/eg/rd1/RD1info0004.PDF" target="_NEW">Manufacturers Brochure</a> (PDF Format)<br>
+<a href="http://192.216.185.10/mwave/doc/A06950.html" target="_BLANK&quot;">Another info page</a>
+<br>
+<a href="http://192.216.185.10/mwave/ProdMB-AC-MW.hmx?UID=&amp;CID=&amp;updepts=MB&amp;DNAME=%3Cb%3EMotherboards%3C%2Fb%3E&amp;Back=ProdMB-AC-MW.hmx?" target="_BLANK">Available for about $20</a>
+<br>
+<br>
+<img src="doc3_files/rd1.jpg">
+</font>
+<br>
+<br>
+<a name="newsitem963875853,12731,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Monday,
+ July 17, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">How To
+ Overclock</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 4:17PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963875853,12731,.html">
+<img border="0" src="doc3_files/comments.gif">3 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">For those of you who are new to
+ overclocking, this guide will explain to you how to overclock, and
+ what some of the terms are. Like 'FSB' (what the heck is that!?
+ :0))<br>
+<br>
+<a href="http://netkills.qgl.org/a_oc_comp.shtml" target="_blank">How To Overclock</a>
+</font>
+<br>
+<br>
+<a name="newsitem963875485,23353,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">The Cardcooler
+ XT</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 4:11PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963875485,23353,.html">
+<img border="0" src="doc3_files/comments.gif">1 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Wow! I am impressed! Nevermind keeping
+ the CPU's cool... Keep your whole board cool!<br>
+<br>
+<i>Even if your
+ not overclocking your system (or planning on it), this unit will
+ provide system stability and longevity. What would happen one day of
+ your GeForce or CPU fan went dead? You can also think of this
+ cooling unit as a backup to essential cooling fans in your
+ system.</i>
+<br>
+<br>Check this out!<br>
+<br>
+<a href="http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml" target="_blank">http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml</a>
+</font>
+<br>
+<br>
+<a name="newsitem963859982,88982,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">'Nerd
+ Inside'</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 11:53AM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963859982,88982,.html">
+<img border="0" src="doc3_files/comments.gif">1 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">We all need to have some fun
+ sometimes! Check out this little web site that sells 'nerd' clothing
+ ;) (I like the bibs in the Junior Hackerz section) :-Þ<br>
+<br>
+<div align="center"><a href="http://www.nerdgear.com/" target="_blank"><img border="0" src="doc3_files/nerdinside.gif"></a></div>
+</font>
+<br>
+<br>
+<a name="newsitem963819796,9688,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">Dual PSU Wiring diagram... (preview to
+ Part 1 Watercooling Project)</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:tim@bp6.com">tim</a> @ 12:43AM PDT</small>  <a href="http://bp6.gamesquad.net/news/963819796,9688,.html">
+<img border="0" src="doc3_files/comments.gif">11 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">When is comes to overclocking your
+ system, cooling plays a big role. Powering all of those fans in your
+ system can cause quite a strain on your PSU (Power Supply Unit).
+ Depending on the number of peripherals in your system, adding a more
+ powerfull PSU or adding a second PSU may be neccesary. For
+ watercooling and using peltiers, dedicating a second PSU to power
+ the Peltiers (TEC's) is a good idea. Here I have come up with 2
+ diagrams on how I wired dual 300 watt ATX power supply units for the
+ Blizzard BP6 watercooling project. Consider this part of Step 1.
+ More will follow this week. BTW.. hacking up your PSU's is very
+ dangerous and is not recommended unless you know what you are doing.
+ <br>
+<br>View Diagram 1 <a href="http://bp6.gamesquad.net/images/wiring.jpg" target="_BLANK">here</a>.<br>View Diagram 2 <a href="http://bp6.gamesquad.net/images/psu2.gif" target="_BLANK">here</a>.<br>
+<br>I used Tap-In Squeeze Connectors and
+ 22 guage wire to connect the wires. You can get them at Radio Shack
+ Part# 64-3053 or <a href="http://www.radioshack.com/ProductCatalog/ProductDetail/Index/1,2098,,00.html?SKUString1=64&amp;SKUString2=3053" target="_blank">click here</a>.</font>
+<br>
+<br>
+<a name="newsitem963766655,78511,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Sunday,
+ July 16, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">RAM Overclocking?
+ Hmmmmm.</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 9:57AM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963766655,78511,.html">
+<img border="0" src="doc3_files/comments.gif">3 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">I know we're pretty big overclockers
+ here at BP6.Com so, this is a post of choice ;-) I've seen the
+ question in the message boards, 'why can't I overclock any higher?'
+ Well, it's not always the CPU that's holding you back... Many other
+ things need to be taken care of to overclock such as your PCI
+ devices (can they handle the higher bus speed), the actual CPU, and
+ your RAM. I'm not saying that that a high quality stick of silicon
+ will enable you to overclock your 366MHz to 1 GHZ (I wish!), but, it
+ will certainly help =)<br>
+<br>Extreme Overclocking has tested
+ (overclocked) PC133 RAM to there full potential. Here's a quote I
+ found and the link:<br>
+<br>
+<i>Well, the guys at Extreme Overclocking
+ have been hard at work again with their latest review. This time
+ they have put seven 128MB PC133 memory modules through the torture
+ tests to determine their maximum overclocking potential. Which one's
+ came out on top? Read the review to find out....</i>
+<br>
+<br>
+<a href="http://www.extremeoverclocking.com/reviews/memory/ram_roundup_1.html" target="_blank">Cooked RAM... Yummie</a>
+<br>
+<br>The
+ ÐÐ.</font>
+<br>
+<br>
+<a name="newsitem963764236,76720,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">CPU
+ Guide</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 9:17AM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963764236,76720,.html">
+<img border="0" src="doc3_files/comments.gif">0 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">A follow up on the 'Weekly CPU
+ Prices', this guide will help you determine which cpu is best for
+ you (and your board ;-)). Sent to me by Spanky, here's the
+ link:<br>
+<br>
+<li><a href="http://www6.tomshardware.com/howto/00q2/000412/index.html" target="_blank">http://www6.tomshardware.com/howto/00q2/000412/index.html</a></li>
+</font>
+<br>
+<br>
+<a name="newsitem963685749,28290,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Saturday,
+ July 15, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">Weekly CPU
+ Prices</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 11:29AM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963685749,28290,.html">
+<img border="0" src="doc3_files/comments.gif">2 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Wow, found this very useful! Wanting
+ to buy a new CPU? Check out this detailed price list!<br>
+<br>
+<a href="http://www.sharkyextreme.com/hardware/weekly_cpu/" target="_blank">Click Here.</a>
+<br>
+<br>Thanks Sharky
+ Extreme!</font>
+<br>
+<br>
+<a name="newsitem963679881,35277,"></a>
+<b><u><font color="#003366" face="Verdana, Arial" size="2">Fast Wallpapers</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 9:51AM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963679881,35277,.html">
+<img border="0" src="doc3_files/comments.gif">0 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">FAST-MHz has released some wallpapers!
+ <a href="http://64.29.18.111/wallpaper/index.html" target="_blank">Click here</a> to view them. They come in sizes
+ 800x600 1024x768 and 1152x864. If you have your desktop set at a
+ larger size, just use the 'stretch' function in desktop properties
+ instead of 'center'. Works great.<br>
+<br>In other news, we want to
+ finnish off all the sections at BP6.Com so, to start, we're going to
+ work on the <a href="http://bp6.gamesquad.net/uc.phtml" target="_blank">Picture Gallery</a>. To help us out, you can send in
+ all your cool, wierd, crazy pics that you may have to: <a href="mailto:thedaredevil@bp6.com">thedaredevil@bp6.com</a>. (The
+ topic being computers, duh! :0) And no... I don't want to recieve
+ any porno piccies in my mailbox! I have enough of those!) Kidding
+ guys.<br>
+<br>Okay, that's all for now.<br>
+<br>The
+ ÐÐ.</font>
+<br>
+<br>
+<a name="newsitem963619505,3764,"></a>
+<table bgColor="#003399" width="100%"><tbody><tr><td><font color="#ffffff" face="Verdana,arial" size="2"><b>Friday,
+ July 14, 2000</b></font></td></tr></tbody></table>
+<br>
+<!--<hr noshade width=100%>--><b><u><font color="#003366" face="Verdana, Arial" size="2">Hey
+ There!</font></u></b>
+<br>
+<font color="#0066cc" face="Arial" size="1">
+<small>Posted by <a class="nav" href="mailto:killz@i82hq.com">DareDevil</a> @ 5:05PM
+ PDT</small>  <a href="http://bp6.gamesquad.net/news/963619505,3764,.html">
+<img border="0" src="doc3_files/comments.gif">7 comments</a>
+  | <a href="http://bp6.gamesquad.net/#news_top">top</a>
+</font>
+<br>
+<font color="black" face="Arial" size="2">Hey guys, just wanted to introduce
+ myself, some of you may have already met me on the BP6.com board.
+ I'll be posting up news from time to time now so, if you'd like, you
+ may send me some news to be posted if you find any ( we don't want
+ to flood Tim ;-) ).<br>
+<br>My e-mail address is <a href="mailto:killz@i82hq.com">killz@i82hq.com</a>
+<br>
+<br>Ciao for
+ now.<br>
+<br>The ÐÐ.</font>
+<br>
+<br>
+</font>
+<center><iframe frameBorder="0" height="60" marginHeight="0" marginWidth="0" noResize scrolling="no" src="doc3_files/ad_iframe.htm" width="468"><a href="http://ads.adflight.com/go_static.asp?asid=7708" target="_top"><img width="468" height="60" border="0" alt="Advertisement" src="http://ads.adflight.com/ad_static.asp?pid=2097&amp;sid=1881&amp;asid=7708"></a></iframe></center>
+</tbody></table>
+</center>
+
+<td bgColor="silver" vAlign="top" width="10%"><center>
+<p>
+<table bgColor="silver" border="0" cellPadding="0" cellSpacing="0" width="100%"><tbody><tr><td COLSTART="1"><center>
+<!-- <FORM ACTION="/cgi-bin/subscribe.pl" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
+ <IMG SRC="/images/spacer.gif" WIDTH="111" HEIGHT="1"><BR>
+ <P><B><FONT SIZE="2" COLOR="#000066" FACE="Verdana">Newsletter</FONT></B><FONT SIZE="1" FACE="Verdana"><BR>
+ <INPUT TYPE="TEXT" NAME="email" SIZE="10" VALUE="ur@email.com"><BR>
+ <INPUT TYPE="HIDDEN" NAME="subscribe" SIZE="-1" VALUE="subscribe"><INPUT TYPE="IMAGE" SRC="/images/subscribe.gif" WIDTH="80"
+ HEIGHT="27" ALIGN="BOTTOM" BORDER="0"></FONT>
+ </FORM> --><form action="http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?emaillist" method="post">
+<img height="1" src="doc3_files/spacer.gif" width="111">
+<br>
+<font size="1">Newsletter<br>
+<input name="npemail" size="13" value="e-mail addr.">
+<br>
+<input name="npsubscribe" style="BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold" type="submit" value="Subscribe">
+<br>
+<!-- <input type="submit" name="npunsubscribe" value="Unsubscribe" style="font-size: xx-small; font-family: Verdana; font-weight: bold; color: #ffffff; background-color: #000000;"> -->
+</font>
+</form>
+<font size="1"><form action="http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?search" method="post">Search news<br>
+<input name="searchstring" size="13">
+<br>
+<input name="submit" style="BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold" type="submit" value="Submit">
+<br>
+<a href="http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?newsall">News
+ archive</a>
+</form></font>
+</center></td></tr></tbody></table>
+<!-- <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BGCOLOR="silver">
+ <TR>
+ <TD WIDTH="100%">
+ <P ALIGN="CENTER"><A HREF="http://www.free56k.com" target="_blank"><IMG SRC="/images/free56k.gif" WIDTH="100" HEIGHT="49"
+ ALIGN="BOTTOM" BORDER="0"></A>
+ </TD>
+ </TR>
+ </TABLE>
+--><table bgColor="silver" border="0" cellPadding="0" cellSpacing="0" width="100%"><tbody><tr><td align="middle" width="100%">
+<!-- BEGIN GoTo.com Search Box --><script language="javascript" type="text/javascript"><!--
+ if ((parseInt(navigator.appVersion) >= 3)
+ && (navigator.appName != "Netscape")) {
+ document.write("<IFRAME marginheight=0 frameborder=0 ");
+ document.write("marginwidth=0 scrolling=no width=100 height");
+ document.write("=90 ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=html&size=100x90&url=http://www.goto.co");
+ document.write("m/d/search/ssn/&target=_blank&Partner=SSN80");
+ document.write("42DF8478957377></IFRAME>");
+ } else if ((parseInt(navigator.appVersion) > 3)
+ && (navigator.appName == "Netscape")) {
+ document.write("<SCRIPT language=javascript type=text/javas");
+ document.write("cript ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=js&size=100x90&url=http://www.goto.com/");
+ document.write("d/search/ssn/&target=_blank&Partner=SSN8042");
+ document.write("DF8478957377></SC");
+ document.write("RIPT>");
+ } else {
+ document.write("<A TARGET=_blank ");
+ document.write("HREF=http://www.goto.com/d/search/ssn/?from");
+ document.write("GIF=true>");
+ document.write("<IMG ismap ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=gif&size=100x90></A>");
+ }
+ // --></script>
+<b><noscript></noscript></b>
+<a href="http://www.goto.com/d/search/ssn/?fromGIF=true" target="_blank"><img align="bottom" border="0" height="90" isMap src="doc3_files/100x90.gif" width="100"></a>
+<b><a href="http://www.goto.com/d/search/ssn/?fromGIF=true" target="_blank"></a></b>
+<b></b>
+<b><!-- END GoTo.com Search Box --></b>
+<!-- Pricewatch Search Box --><form action="http://www.pricewatch.com/search/search.asp" method="get" target="_Blank"><center><p>
+<b><font color="white" face="ARIAL, HELVETICA" size="1">PC Price
+ Search<br>
+</font></b>
+<input maxLength="30" name="criteria" size="10">
+<br>
+<input name="submit" style="BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold" type="submit" value="Search">
+</p></center></form>
+<!-- Pricewatch Search Box --><a href="http://www.puicorp.com/bp6specials.htm" target="_BLANK"><img src="doc3_files/puibp6.gif"></a>
+<br>
+<br>
+<br>
+<br>
+<a href="http://store.yahoo.com/dunamis-site/maxtor.html" target="_BLANK">
+<img alt="BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount" src="doc3_files/hd5.gif">
+<font size="1">
+<br>BP6.COM
+ Special<br>Code:BP6-hd</font>
+</a>
+</td></tr></tbody></table>
+</center>
+</tbody></table>
+<table bgColor="silver" border="0" cellPadding="0" cellSpacing="0" height="100%" width="100%"><tbody><tr><td width="100%"> </td></tr></tbody></table>
+<!-- </TABLE>--><center></center>
+<tr><td COLSPAN="3" VALIGN="TOP" HEIGHT="70"> </td></tr>
+<table border="0" width="780"><tbody>
+<tr><td width="780"><p align="center">
+<font color="#999999" face="verdana,arial" size="1">Copyright
+ ©1999-2000 BP6.com, All rights reserved.<br>Got news? Send it to </font>
+<a href="mailto:tim@bp6.com"><font color="white" face="Verdana" size="1">Tim</font></a>
+</p></td></tr>
+<!-- <TR> <TD WIDTH="780"> <P ALIGN="CENTER"><FONT SIZE="1" COLOR="#999999" FACE="Verdana,arial">Site design by Tim Brinkley</FONT> </TD> </TR> -->
+</tbody></table>
+</div>
+<script> window.open=NS_ActualOpen; </script>
+</body>
+</html>
diff --git a/result/HTML/doc3.htm.err b/result/HTML/doc3.htm.err
new file mode 100644
index 00000000..aabc2006
--- /dev/null
+++ b/result/HTML/doc3.htm.err
@@ -0,0 +1,93 @@
+./test/HTML/doc3.htm:10: error: htmlParseStartTag: invalid element name
+<!-- END Naviscope Javascript --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
+ ^
+./test/HTML/doc3.htm:52: error: htmlParseEntityRef: expecting ';'
+ href="http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&i
+ ^
+./test/HTML/doc3.htm:52: error: htmlParseEntityRef: expecting ';'
+_top"><img src="http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&medi
+ ^
+./test/HTML/doc3.htm:52: error: htmlParseEntityRef: expecting ';'
+><img src="http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&media=1&i
+ ^
+./test/HTML/doc3.htm:145: error: error parsing attribute name
+ width=70 Gentus?.?></A><BR><A
+ ^
+./test/HTML/doc3.htm:145: error: htmlParseStartTag: problem parsing attributes
+ width=70 Gentus?.?></A><BR><A
+ ^
+./test/HTML/doc3.htm:145: error: Couldn't find end of Start Tag img
+ width=70 Gentus?.?></A><BR><A
+ ^
+./test/HTML/doc3.htm:148: error: Unexpected end tag : p
+ </P></TD></TR></TBODY></TABLE></CENTER></TD></TR></TBODY></TABLE></CENTER></P
+ ^
+./test/HTML/doc3.htm:236: error: Unexpected end tag : font
+ Specials<BR><BR></FONT></A><BR></FONT></A><B><FONT color=yellow
+ ^
+./test/HTML/doc3.htm:236: error: Unexpected end tag : a
+ Specials<BR><BR></FONT></A><BR></FONT></A><B><FONT color=yellow
+ ^
+./test/HTML/doc3.htm:747: error: htmlParseEntityRef: expecting ';'
+er=0 alt="Advertisement" src="http://ads.adflight.com/ad_static.asp?pid=2097&si
+ ^
+./test/HTML/doc3.htm:747: error: htmlParseEntityRef: expecting ';'
+Advertisement" src="http://ads.adflight.com/ad_static.asp?pid=2097&sid=1881&asi
+ ^
+./test/HTML/doc3.htm:747: error: Unexpected end tag : li
+light.com/ad_static.asp?pid=2097&sid=1881&asid=7708"></a></IFRAME></CENTER></LI
+ ^
+./test/HTML/doc3.htm:747: error: Unexpected end tag : font
+om/ad_static.asp?pid=2097&sid=1881&asid=7708"></a></IFRAME></CENTER></LI></FONT
+ ^
+./test/HTML/doc3.htm:747: error: Unexpected end tag : p
+=7708"></a></IFRAME></CENTER></LI></FONT></TD></TR></TBODY></TABLE></CENTER></P
+ ^
+./test/HTML/doc3.htm:772: error: Opening and ending tag mismatch: font and form
+ archive</A></FONT> </FORM></CENTER></TD></TR></TBODY></TABLE><!--
+ ^
+./test/HTML/doc3.htm:772: error: Unexpected end tag : form
+ archive</A></FONT> </FORM></CENTER></TD></TR></TBODY></TABLE><!--
+ ^
+./test/HTML/doc3.htm:815: error: Opening and ending tag mismatch: b and noscript
+ <B><NOSCRIPT></B><A
+ ^
+./test/HTML/doc3.htm:820: error: Unexpected end tag : a
+ </A></A></B><B></NOSCRIPT></B><B><!-- END GoTo.com Search Box --></
+ ^
+./test/HTML/doc3.htm:820: error: Unexpected end tag : noscript
+ </A></A></B><B></NOSCRIPT></B><B><!-- END GoTo.com Search Box --></
+ ^
+./test/HTML/doc3.htm:826: error: Opening and ending tag mismatch: form and center
+ </FORM><!-- Pricewatch Search Box --><A
+ ^
+./test/HTML/doc3.htm:833: error: Unexpected end tag : p
+ Special<BR>Code:BP6-hd</FONT></A> </P></CENTER></TD></TR></TBODY></
+ ^
+./test/HTML/doc3.htm:833: error: Opening and ending tag mismatch: center and table
+ Special<BR>Code:BP6-hd</FONT></A> </P></CENTER></TD></TR></TBODY></
+ ^
+./test/HTML/doc3.htm:839: error: Unexpected end tag : p
+width="100%">&nbsp;</TD></TR></TBODY></TABLE></P></CENTER></TR></TBODY></TABLE>
+ ^
+./test/HTML/doc3.htm:839: error: Unexpected end tag : center
+width="100%">&nbsp;</TD></TR></TBODY></TABLE></P></CENTER></TR></TBODY></TABLE>
+ ^
+./test/HTML/doc3.htm:839: error: Unexpected end tag : tr
+width="100%">&nbsp;</TD></TR></TBODY></TABLE></P></CENTER></TR></TBODY></TABLE>
+ ^
+./test/HTML/doc3.htm:839: error: Unexpected end tag : tbody
+width="100%">&nbsp;</TD></TR></TBODY></TABLE></P></CENTER></TR></TBODY></TABLE>
+ ^
+./test/HTML/doc3.htm:839: error: Unexpected end tag : table
+width="100%">&nbsp;</TD></TR></TBODY></TABLE></P></CENTER></TR></TBODY></TABLE>
+ ^
+./test/HTML/doc3.htm:840: error: Unexpected end tag : td
+<CENTER></CENTER></TD></TR><TR><TD COLSPAN="3" VALIGN="TOP"
+ ^
+./test/HTML/doc3.htm:840: error: Unexpected end tag : tr
+<CENTER></CENTER></TD></TR><TR><TD COLSPAN="3" VALIGN="TOP"
+ ^
+./test/HTML/doc3.htm:841: error: Unexpected end tag : table
+HEIGHT="70">&nbsp;</TD> </TR></TABLE>
+ ^
diff --git a/result/HTML/doc3.htm.sax b/result/HTML/doc3.htm.sax
new file mode 100644
index 00000000..17c6734e
--- /dev/null
+++ b/result/HTML/doc3.htm.sax
@@ -0,0 +1,2927 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, (null))
+SAX.comment( saved from url=(0025)http://bp6.gamesquad.net/ )
+SAX.comment( BEGIN Naviscope Javascript )
+SAX.startElement(html)
+SAX.startElement(head)
+SAX.startElement(title)
+SAX.characters(BP6.com #1 online resource for, 47)
+SAX.endElement(title)
+SAX.characters(
+, 2)
+SAX.startElement(script, language='javascript')
+SAX.characters(
+ NS_ActualOpen=wind, 199)
+SAX.endElement(script)
+SAX.characters(
+, 2)
+SAX.comment( END Naviscope Javascript )
+SAX.error: htmlParseStartTag: invalid element name
+SAX.characters(!DOCTYPE HTML PUBLIC "-//W3C//, 48)
+SAX.comment(last modified on Tuesday, February 22, 2000 11:47 PM )
+SAX.characters(
+, 2)
+SAX.startElement(meta, content='text/html;CHARSET=iso-8859-1', http-equiv='Content-Type')
+SAX.endElement(meta)
+SAX.characters(
+, 2)
+SAX.startElement(meta, content='Tim', name='Author')
+SAX.endElement(meta)
+SAX.characters(
+, 2)
+SAX.startElement(style, type='text/css')
+SAX.characters(A.nav {
+ COLOR: #003399; TEXT, 115)
+SAX.endElement(style)
+SAX.characters(
+
+, 4)
+SAX.startElement(script, language='JavaScript')
+SAX.characters(
+, 1)
+SAX.comment( Idea by: Nic Wolfe (Nic@TimelapseProductions.com) )
+SAX.characters(
+, 1)
+SAX.comment( Web URL: http://fineline.xs.mw )
+SAX.characters(
+
+, 2)
+SAX.comment( This script and many more are available free online at )
+SAX.characters(
+, 1)
+SAX.comment( The JavaScript Source!! http://javascript.internet.com )
+SAX.characters(
+
+, 2)
+SAX.comment( Begin
+function popUp(URL) {
+day = new Date();
+id = day.getTime();
+eval("page" + id + " = window.open(URL, '" + id + "', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0, resizable=0, width=145, height=250');");
+}
+// End )
+SAX.characters(
+, 1)
+SAX.endElement(script)
+SAX.characters(
+
+, 4)
+SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR')
+SAX.endElement(meta)
+SAX.endElement(head)
+SAX.characters(
+, 2)
+SAX.startElement(body, aLink='red', bgColor='black', link='red', text='white', vLink='red')
+SAX.characters(
+, 2)
+SAX.startElement(p)
+SAX.characters(
+, 2)
+SAX.endElement(p)
+SAX.startElement(div, align='center')
+SAX.characters(
+, 2)
+SAX.startElement(table, border='0', cellPadding='0', cellSpacing='0', width='80%')
+SAX.characters(
+ , 4)
+SAX.startElement(tbody)
+SAX.characters(
+ , 4)
+SAX.startElement(tr)
+SAX.characters(
+ , 6)
+SAX.startElement(td, vAlign='top', width='31')
+SAX.startElement(a, href='http://bp6.gamesquad.net/')
+SAX.startElement(img, align='bottom', border='0', height='74', src='doc3_files/logo.gif', width='252')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.endElement(td)
+SAX.characters(
+ , 6)
+SAX.startElement(td, align='left', bgColor='#000000')
+SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='15')
+SAX.endElement(img)
+SAX.comment( START GAMESQUAD.NET IFRAME RICH MEDIA CODE )
+SAX.characters( , 1)
+SAX.comment( © 2000 GameSquad.net All Rights Reserved. )
+SAX.startElement(iframe, border='0', frameBorder='no', height='60', marginHeight='0', marginWidth='0', scrolling='no', src='doc3_files/adcycle.htm', width='468')
+SAX.characters(
+, 1)
+SAX.error: htmlParseEntityRef: expecting ';'
+SAX.startElement(a, href='http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&id=1', target='_top')
+SAX.error: htmlParseEntityRef: expecting ';'
+SAX.error: htmlParseEntityRef: expecting ';'
+SAX.startElement(img, src='http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&media=1&id=1', width='468', height='60', border='0', ALT='GSN ROS Ad')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.characters(
+, 1)
+SAX.endElement(iframe)
+SAX.comment( END GAMESQUAD.NET IFRAME RICH MEDIA CODE )
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='400')
+SAX.endElement(img)
+SAX.characters( , 1)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.characters(
+ , 4)
+SAX.startElement(tr)
+SAX.characters(
+ , 6)
+SAX.startElement(td, bgColor='#003399', colSpan='2')
+SAX.characters(
+ , 8)
+SAX.startElement(p, align='right')
+SAX.startElement(img, align='right', border='0', height='18', hspace='0', src='doc3_files/trcorner.gif', width='20')
+SAX.endElement(img)
+SAX.startElement(img, align='left', border='0', height='18', hspace='0', src='doc3_files/tlcorner.gif', width='20')
+SAX.endElement(img)
+SAX.startElement(font, face='Verdana', size='2')
+SAX.characters(Monday, July 31st, 2000, 23)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.characters(
+ , 4)
+SAX.startElement(tr)
+SAX.characters(
+ , 6)
+SAX.startElement(td, colSpan='2')
+SAX.characters(
+ , 8)
+SAX.startElement(table, bgColor='#003399', border='0', cellPadding='0', cellSpacing='4', width='100%')
+SAX.startElement(tbody)
+SAX.characters(
+ , 10)
+SAX.startElement(tr)
+SAX.characters(
+ , 12)
+SAX.startElement(td, bgColor='#666666', width='100%')
+SAX.characters(
+ , 14)
+SAX.startElement(center)
+SAX.characters(
+ , 14)
+SAX.startElement(p)
+SAX.characters(
+ , 14)
+SAX.endElement(p)
+SAX.startElement(table, bgColor='black', border='0', cellPadding='0', cellSpacing='1', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td, background='doc3_files/hscan.gif', bgColor='#666666', width='100%')
+SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='738')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 20)
+SAX.startElement(center)
+SAX.characters(
+ , 20)
+SAX.startElement(table, border='0', cellPadding='2', cellSpacing='0', width='91%')
+SAX.characters(
+ , 22)
+SAX.startElement(tbody)
+SAX.characters(
+ , 22)
+SAX.startElement(tr)
+SAX.characters(
+ , 24)
+SAX.startElement(td, vAlign='top', width='15%')
+SAX.characters(
+ , 26)
+SAX.startElement(p, align='center')
+SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml')
+SAX.startElement(img, align='bottom', alt='Abit BP6 Motherboard specification and information.', border='0', height='45', src='doc3_files/bp6icon.gif', width='70')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BP6 Specs, 9)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters(
+ , 25)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.characters(
+ , 24)
+SAX.startElement(td, vAlign='top', width='15%')
+SAX.characters(
+ , 26)
+SAX.startElement(p, align='center')
+SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml')
+SAX.startElement(img, align='bottom', alt='How to cool the BX Chipset on your BP6.', border='0', height='45', src='doc3_files/bxcool.gif', width='70')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BX Cooling, 10)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters(
+ , 27)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.characters(
+ , 24)
+SAX.startElement(td, vAlign='top', width='15%')
+SAX.characters(
+ , 26)
+SAX.startElement(p, align='center')
+SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
+SAX.startElement(img, align='bottom', alt='The U;timate Gaming Contest - Coming Soon!', border='0', height='45', src='doc3_files/ugmcontest.gif', width='70')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(UGM Contest, 11)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters(
+ , 27)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.characters(
+ , 24)
+SAX.startElement(td, vAlign='top', width='15%')
+SAX.characters(
+ , 26)
+SAX.startElement(p, align='center')
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
+SAX.startElement(img, align='bottom', alt='Cooling & Heatsink review for the BP6.', border='0', height='45', src='doc3_files/alpha.gif', width='70')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Heatsinks, 9)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters(
+ , 25)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.characters(
+ , 24)
+SAX.startElement(td, vAlign='top', width='15%')
+SAX.characters(
+ , 26)
+SAX.startElement(p, align='center')
+SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml')
+SAX.startElement(img, align='bottom', alt='BP6 101 - Class is now in session. Welcome newbies!', border='0', height='45', src='doc3_files/bp6101.gif', width='70')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BP6 101, 7)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters(
+ , 25)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.characters(
+ , 24)
+SAX.startElement(td, vAlign='top', width='15%')
+SAX.characters(
+ , 26)
+SAX.startElement(p, align='center')
+SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml')
+SAX.startElement(img, align='bottom', alt='Install guide for installing Windows 2000 on the BP6 ', border='0', height='45', src='doc3_files/win2kht.gif', width='70')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Win2k Install, 13)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters(
+ , 27)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.characters(
+ , 24)
+SAX.startElement(td, vAlign='top', width='15%')
+SAX.characters(
+ , 26)
+SAX.startElement(p, align='center')
+SAX.startElement(a, href='http://www.gentus.com/')
+SAX.error: error parsing attribute name
+SAX.error: htmlParseStartTag: problem parsing attributes
+SAX.startElement(img, align='bottom', alt='Taking a first look at the Abit Linux release called ', border='0', height='45', src='doc3_files/gentusbox.gif', width='70', Gentus='(null)')
+SAX.error: Couldn't find end of Start Tag img
+SAX.characters(?.?>, 4)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.gentus.com/')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Gentus, 6)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters(
+ , 21)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.endElement(center)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.endElement(center)
+SAX.error: Unexpected end tag : p
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.characters(
+, 2)
+SAX.startElement(table, bgColor='#003399', border='0', cellSpacing='6', width='80%')
+SAX.characters(
+ , 4)
+SAX.startElement(tbody)
+SAX.characters(
+ , 4)
+SAX.startElement(tr)
+SAX.characters(
+ , 6)
+SAX.startElement(td, bgColor='black', vAlign='top', width='10%')
+SAX.characters(
+ , 8)
+SAX.startElement(table, border='0', cellPadding='3', cellSpacing='0', width='100%')
+SAX.characters(
+ , 10)
+SAX.startElement(tbody)
+SAX.characters(
+ , 10)
+SAX.startElement(tr)
+SAX.characters(
+ , 12)
+SAX.startElement(td, width='100%')
+SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(REVIEWS, 7)
+SAX.endElement(font)
+SAX.endElement(b)
+SAX.startElement(font, face='Verdana', size='2')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 14)
+SAX.startElement(hr, align='center')
+SAX.endElement(hr)
+SAX.characters(
+ , 14)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/bp6reviews.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BP6 Reviews, 11)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/h2o.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BP6 Watercooling, 16)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BX Chipset Cooling, 18)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/benchmark.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Benchmarks, 10)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/bp6fsb.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BP6FSB Utility, 14)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/powerleap.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(PowerLeap NEO S370, 18)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/seti.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(SETI on the BP6, 15)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/orbs.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Golden Orbs I, 13)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/orbs/orbs2.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Golden Orbs II, 14)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/Q6fix.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(VTT Solution, 12)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(NAVIGATE, 8)
+SAX.endElement(font)
+SAX.endElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(
+ , 15)
+SAX.startElement(hr, align='center')
+SAX.endElement(hr)
+SAX.characters(
+ , 14)
+SAX.endElement(font)
+SAX.startElement(a, href='http://www.bp6.com/')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(News, 4)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/chat.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Online Text Chat, 16)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='javascript:popUp('chat_popup.htm')')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Voice Chat, 10)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://216.247.220.192/Forum')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Messageboard, 12)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/cooling')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Temp. Converter, 15)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Picture Gallery, 15)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/bios.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Latest BIOS, 11)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/files/')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Drivers , 8)
+SAX.characters(&, 1)
+SAX.characters( Files, 6)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(UGM of the week, 15)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(BP6 Contest, 11)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(OTHER STUFF, 11)
+SAX.endElement(font)
+SAX.endElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(
+
+ , 17)
+SAX.startElement(hr, align='center')
+SAX.endElement(hr)
+SAX.characters(
+ , 14)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/whois.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Who is Tim?, 11)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='mailto:tim@bp6.com')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Contact BP6.com, 15)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Affiliates Section, 18)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(font, face='Verdana', size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Sponsors Section , 17)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(a, href='http://bp6.gamesquad.net/links.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Links, 5)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(PC SPECIALS, 11)
+SAX.endElement(font)
+SAX.endElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(
+ , 15)
+SAX.startElement(hr, align='center')
+SAX.endElement(hr)
+SAX.characters(
+ , 14)
+SAX.endElement(font)
+SAX.startElement(a, href='http://bp6.gamesquad.net/specials.phtml')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Vendor
+ Specials, 29)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.error: Unexpected end tag : font
+SAX.error: Unexpected end tag : a
+SAX.startElement(b)
+SAX.startElement(font, color='yellow', face='Verdana', size='2')
+SAX.characters(Pic of the day, 14)
+SAX.endElement(font)
+SAX.endElement(b)
+SAX.characters(
+ , 14)
+SAX.startElement(hr)
+SAX.endElement(hr)
+SAX.characters(
+
+ , 29)
+SAX.startElement(center)
+SAX.characters(
+ , 14)
+SAX.startElement(p, align='center')
+SAX.startElement(font, face='Verdana, Arial, Helvetica', size='1')
+SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/schlabo/potd.pl')
+SAX.startElement(img, alt='No picture is available for today.', border='0', src='doc3_files/potd_na_110x83.gif')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.characters( , 1)
+SAX.endElement(font)
+SAX.endElement(p)
+SAX.endElement(center)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 14)
+SAX.startElement(center)
+SAX.endElement(center)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<A HREF="code:javascript:ID_FTPWebView.InvokeHelp()"><FONT SIZE="1" COLOR="white" FACE="Verdana">FTP Help</FONT></A>)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.endElement(td)
+SAX.characters(
+ , 6)
+SAX.startElement(td, bgColor='white', vAlign='top', width='80%')
+SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='490')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 8)
+SAX.startElement(center)
+SAX.characters(
+ , 8)
+SAX.startElement(p)
+SAX.characters(
+ , 8)
+SAX.endElement(p)
+SAX.startElement(table, bgColor='white', border='0', cellPadding='10', cellSpacing='0', height='100%', width='100%')
+SAX.characters(
+ , 10)
+SAX.startElement(tbody)
+SAX.characters(
+ , 10)
+SAX.startElement(tr)
+SAX.characters(
+ , 12)
+SAX.startElement(td, bgColor='white', vAlign='top', width='100%')
+SAX.characters(
+ , 14)
+SAX.startElement(center)
+SAX.startElement(a, href='http://www.encounter2001.com/', target='_blank')
+SAX.startElement(img, border='0', height='60', src='doc3_files/banner2.gif', width='468')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.endElement(center)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='news_top')
+SAX.endElement(a)
+SAX.startElement(font, color='#003366', face='verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Headlines, 9)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem965012956,78924,')
+SAX.characters(Chat
+ with ABIT -, 41)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964766837,26344,')
+SAX.characters(Fixed
+ wallpaper , 43)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964762841,25865,')
+SAX.characters(Seti
+ update - 10, 39)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964732235,45502,')
+SAX.characters(Judge
+ gives Naps, 57)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964713289,83675,')
+SAX.characters(Ram
+ Sinks.. more, 83)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964671589,7831,')
+SAX.characters(is
+ it [H]ard? - , 40)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964644047,60218,')
+SAX.characters(WiLd
+ CaSe!! - 1:, 38)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964631110,84122,')
+SAX.characters(What
+ the heck is, 58)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964587833,74573,')
+SAX.characters(HELLO
+ EVERYONE!!, 45)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, face='arial', size='1')
+SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964429577,13375,')
+SAX.characters(BP6
+ Q3 server up, 57)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment( NP v3.7.5 )
+SAX.startElement(a, name='newsitem965012956,78924,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Sunday,
+ Ju, 41)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Chat with
+ ABIT, 28)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 8:09PM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/965012956,78924,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(0 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(I, 1)
+SAX.characters(’, 3)
+SAX.characters(m slacking a little. All game , 83)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Wallpaper update: I got
+ , 130)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(b)
+SAX.startElement(a, href='http://fullon3d.com/chat/abit/', target='3d')
+SAX.characters(Fullon3d had a live chat with , 69)
+SAX.endElement(a)
+SAX.endElement(b)
+SAX.characters(Submitted by: MJS, 17)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Here, 4)
+SAX.characters(’, 3)
+SAX.characters(s a little clip:, 16)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters([Falcon]
+ BP6-2??, 30)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters([EricBoeing] We already have a, 75)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters([EricBoeing] but it's OEM only, 30)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters([EricBoeing] the full ATX
+ , 74)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964766837,26344,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Thursday,
+ , 43)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Fixed
+ wallpaper, 29)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 11:47PM
+ PDT, 28)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964766837,26344,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(5 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.startElement(b)
+SAX.characters(Get them now!!, 14)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(This is a
+ fixed , 106)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(img, height='180', src='doc3_files/3-800.jpg', width='240')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(It's still the Intels Inside o, 104)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Thanks to Matt for
+ , 57)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(I would also like to thank Kev, 133)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(And 1 more person, THANK YOU T, 90)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(If you need a weird resolution, 59)
+SAX.startElement(a, href='mailto:Holodeck2@home.com')
+SAX.characters(e-mail, 6)
+SAX.endElement(a)
+SAX.characters( me requesting
+ f, 37)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(If you have ideas or more erro, 47)
+SAX.startElement(a, href='mailto:Holodeck2@home.com')
+SAX.characters(mailto:Holodeck2@home.com, 25)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='doc3_files/3-800.jpg', target='800')
+SAX.characters(800x600 , 8)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1024.jpg', target='800')
+SAX.characters(1024x768 , 9)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1152.jpg', target='800')
+SAX.characters(1152x864 , 9)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1280x1024.jpg', target='800')
+SAX.characters(1280x1024 , 10)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1600.jpg', target='800')
+SAX.characters(1600x1200 , 10)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 14)
+SAX.startElement(p)
+SAX.characters(Enjoy :-), 9)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 14)
+SAX.endElement(p)
+SAX.startElement(p)
+SAX.startElement(a, href='mailto:Holodeck2@home.com')
+SAX.characters(Holodeck2,, 10)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters([H]ard at
+ work o, 65)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(p)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964762841,25865,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Seti update, 11)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 10:40PM
+ PDT, 28)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964762841,25865,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(5 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.startElement(img, height='54', src='doc3_files/setiupdate.jpg', width='400')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(You like the
+ pic, 31)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Bp6 User Group Update:, 22)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Completed 61531
+ , 37)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(b)
+SAX.characters(#168 on Top 200 All Groups, 26)
+SAX.endElement(b)
+SAX.characters( (Going to pass CLRC in
+ , 49)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(b)
+SAX.characters(#74 on Top 200 Teams, 20)
+SAX.endElement(b)
+SAX.characters( (Gaining fast on
+ , 42)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(We are flying though at the sp, 82)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Good job everyone!!, 19)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Check this page at
+ , 67)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964732235,45502,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Judge gives Napster the
+ , 44)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 2:10PM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964732235,45502,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(0 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Good afternoon for everyone li, 135)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(I woke up and thought about po, 488)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.msnbc.com/news/437532.asp', target='Judge vs Napster')
+SAX.characters(Judge shuts Napster down
+ , 38)
+SAX.startElement(p)
+SAX.startElement(img, height='143', src='doc3_files/669915.jpg', width='200')
+SAX.endElement(img)
+SAX.endElement(p)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Check out the Goofy guy in the, 35)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(He's Sean
+ Fannin, 52)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Got news?? , 11)
+SAX.startElement(a, href='mailto:Holodeck2@home.com')
+SAX.characters(mailto:Holodeck2@home.com, 25)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964713289,83675,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Ram Sinks.. more cooling for s, 56)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
+SAX.characters(tim, 3)
+SAX.endElement(a)
+SAX.characters( @ 8:54AM PDT, 13)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964713289,83675,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(0 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Need some cooling for your Vid, 106)
+SAX.startElement(a, href='http://www.overclockershideout.com/RamSinks.html', target='_BLANK')
+SAX.characters(Overclockers Hiedout Ram Sinks, 30)
+SAX.endElement(a)
+SAX.characters( They just notified
+ , 57)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(img, border='1', src='doc3_files/ramsink.jpg')
+SAX.endElement(img)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964671589,7831,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Wednesday, July 26,
+ , 38)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(is it
+ [H]ard?, 27)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 9:19PM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964671589,7831,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(0 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Big heatsinks are good, very g, 71)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(You can never can have a too b, 99)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(img, height='173', src='doc3_files/voodooside2.jpg', width='230')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(My overclocked
+ V, 74)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Peltier and
+ wate, 50)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters((if you pry off the heatsink y, 66)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(it was originally posted on , 28)
+SAX.startElement(a, href='http://www.hardocp.com/')
+SAX.characters([H]ardOCP , 10)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(I, 1)
+SAX.characters(’, 3)
+SAX.characters(m not only a
+ BP6, 55)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964644047,60218,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(WiLd CaSe!!, 11)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 1:40PM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964644047,60218,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(8 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Now this person really knows h, 70)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Addin an 18" Fan!! WOW!!, 24)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.envador.com/Photos/PVCII/', target='_blank')
+SAX.startElement(img, src='doc3_files/TN_OpenedUp1.jpg')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Click to go to his
+ , 38)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964631110,84122,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(What the heck is a
+ , 44)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 10:05AM
+ PDT, 28)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964631110,84122,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(6 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(This is for all you people who, 78)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(The quest fo the Perfect
+ , 46)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.tweakmax.com/html/peltier/peltier-1.cfm', target='_blank')
+SAX.startElement(img, src='doc3_files/peltier.jpg')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Thanks to
+ , 24)
+SAX.startElement(a, href='http://www.tweakmax.com/', target='_blank')
+SAX.characters(TweakMax.com, 12)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Note: Today morning when I wok, 397)
+SAX.startElement(img, src='doc3_files/smile.gif')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(I'm not angry at anyone...
+ , 71)
+SAX.startElement(img, src='doc3_files/tongue.gif')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964587833,74573,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Tuesday,
+ J, 42)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(HELLO
+ EVERYONE!!, 31)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
+SAX.characters(Holodeck2, 9)
+SAX.endElement(a)
+SAX.characters( @ 10:03PM
+ PDT, 28)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Hello
+ everyone, , 47)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Who is this Holodeck2 person , 66)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(I, 1)
+SAX.characters(’, 3)
+SAX.characters(m a regular on the bp6 message, 97)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(I, 1)
+SAX.characters(’, 3)
+SAX.characters(m the
+ self-procl, 85)
+SAX.characters(’, 3)
+SAX.characters(ve
+ probably alre, 68)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(My computer
+ is a, 200)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Any Questions or comments, you, 98)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Ways to contact
+ , 33)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(E-mail: , 8)
+SAX.startElement(a, href='mailto:Holodeck2@home.com')
+SAX.characters(Holodeck2@home.com, 18)
+SAX.endElement(a)
+SAX.characters( (All E-mails
+ wi, 82)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(When you
+ write m, 163)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.aol.com/aim')
+SAX.characters(AIM: , 5)
+SAX.endElement(a)
+SAX.characters(Holodeck2 (instant response
+, 46)
+SAX.characters(’, 3)
+SAX.characters(m in front of my comp and not , 53)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.icq.com/download')
+SAX.characters(ICQ: , 5)
+SAX.endElement(a)
+SAX.characters(82640218 (rarely
+ , 34)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(P.S. If someone named , 22)
+SAX.characters(“, 3)
+SAX.characters(Digital Vortex, 14)
+SAX.characters(â€, 3)
+SAX.characters( on either Quake 3
+ , 51)
+SAX.characters(’, 3)
+SAX.characters(s probably me. ;-), 18)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964429577,13375,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Monday,
+ Ju, 41)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(BP6 Q3 server up and
+ , 44)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
+SAX.characters(tim, 3)
+SAX.endElement(a)
+SAX.characters( @ 2:06AM PDT, 13)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964429577,13375,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(3 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Setup a Q3 server for anyone w, 355)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters((BTW-
+ there are , 68)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem964425184,95812,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(BIOS Savior to the
+ , 43)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
+SAX.characters(tim, 3)
+SAX.endElement(a)
+SAX.characters( @ 12:53AM PDT, 14)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/964425184,95812,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(2 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Do you sweat during the BIOS f, 167)
+SAX.startElement(b)
+SAX.characters(RD1 BIOS Savior, 15)
+SAX.endElement(b)
+SAX.characters(" and it
+ plugs i, 520)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.ioss.com.tw/eg/rd1/RD1info0004.PDF', target='_NEW')
+SAX.characters(Manufacturers Brochure, 22)
+SAX.endElement(a)
+SAX.characters( (PDF Format), 13)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://192.216.185.10/mwave/doc/A06950.html', target='_BLANK"')
+SAX.characters(Another info page, 17)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://192.216.185.10/mwave/ProdMB-AC-MW.hmx?UID=&CID=&updepts=MB&DNAME=%3Cb%3EMotherboards%3C%2Fb%3E&Back=ProdMB-AC-MW.hmx?', target='_BLANK')
+SAX.characters(Available for about $20, 23)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(img, src='doc3_files/rd1.jpg')
+SAX.endElement(img)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963875853,12731,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Monday,
+ Ju, 41)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(How To
+ Overclock, 30)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 4:17PM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875853,12731,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(3 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(For those of you who are new t, 209)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://netkills.qgl.org/a_oc_comp.shtml', target='_blank')
+SAX.characters(How To Overclock, 16)
+SAX.endElement(a)
+SAX.characters( , 1)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963875485,23353,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(The Cardcooler
+ X, 31)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 4:11PM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875485,23353,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(1 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Wow! I am impressed! Nevermind, 98)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(i)
+SAX.characters(Even if your
+ not, 345)
+SAX.endElement(i)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Check this out!, 15)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml', target='_blank')
+SAX.characters(http://www.brokenpixel.com/art, 65)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963859982,88982,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters('Nerd
+ Inside', 27)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 11:53AM
+ PDT, 28)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963859982,88982,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(1 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(We all need to have some fun , 181)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 14)
+SAX.startElement(div, align='center')
+SAX.startElement(a, href='http://www.nerdgear.com/', target='_blank')
+SAX.startElement(img, border='0', src='doc3_files/nerdinside.gif')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.endElement(div)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963819796,9688,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Dual PSU Wiring diagram... (pr, 81)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
+SAX.characters(tim, 3)
+SAX.endElement(a)
+SAX.characters( @ 12:43AM PDT, 14)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963819796,9688,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(11 comments, 11)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(When is comes to overclocking , 848)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(View Diagram 1 , 15)
+SAX.startElement(a, href='http://bp6.gamesquad.net/images/wiring.jpg', target='_BLANK')
+SAX.characters(here, 4)
+SAX.endElement(a)
+SAX.characters(., 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(View Diagram 2 , 15)
+SAX.startElement(a, href='http://bp6.gamesquad.net/images/psu2.gif', target='_BLANK')
+SAX.characters(here, 4)
+SAX.endElement(a)
+SAX.characters(., 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(I used Tap-In Squeeze Connecto, 150)
+SAX.startElement(a, href='http://www.radioshack.com/ProductCatalog/ProductDetail/Index/1,2098,,00.html?SKUString1=64&SKUString2=3053', target='_blank')
+SAX.characters(click here, 10)
+SAX.endElement(a)
+SAX.characters(., 1)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963766655,78511,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Sunday,
+ Ju, 41)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(RAM Overclocking?
+ , 39)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 9:57AM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963766655,78511,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(3 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(I know we're pretty big overcl, 636)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Extreme Overclocking has teste, 145)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(i)
+SAX.characters(Well, the guys at Extreme Over, 344)
+SAX.endElement(i)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.extremeoverclocking.com/reviews/memory/ram_roundup_1.html', target='_blank')
+SAX.characters(Cooked RAM... Yummie, 20)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(The
+ ÃÃ., 23)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963764236,76720,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(CPU
+ Guide, 23)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 9:17AM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963764236,76720,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(0 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(A follow up on the 'Weekly CPU, 203)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 14)
+SAX.startElement(li)
+SAX.startElement(a, href='http://www6.tomshardware.com/howto/00q2/000412/index.html', target='_blank')
+SAX.characters(http://www6.tomshardware.com/h, 57)
+SAX.endElement(a)
+SAX.endElement(li)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963685749,28290,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Saturday,
+ , 43)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Weekly CPU
+ Price, 31)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 11:29AM
+ PDT, 28)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963685749,28290,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(2 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Wow, found this very useful! W, 104)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://www.sharkyextreme.com/hardware/weekly_cpu/', target='_blank')
+SAX.characters(Click Here., 11)
+SAX.endElement(a)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Thanks Sharky
+ Ex, 36)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963679881,35277,')
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Fast Wallpapers, 15)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 9:51AM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963679881,35277,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(0 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(FAST-MHz has released some wal, 53)
+SAX.startElement(a, href='http://64.29.18.111/wallpaper/index.html', target='_blank')
+SAX.characters(Click here, 10)
+SAX.endElement(a)
+SAX.characters( to view them. They come in si, 241)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(In other news, we want to
+ , 135)
+SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml', target='_blank')
+SAX.characters(Picture Gallery, 15)
+SAX.endElement(a)
+SAX.characters(. To help us out, you can send, 103)
+SAX.startElement(a, href='mailto:thedaredevil@bp6.com')
+SAX.characters(thedaredevil@bp6.com, 20)
+SAX.endElement(a)
+SAX.characters(. (The
+ topic bei, 186)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Okay, that's all for now., 25)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(The
+ ÃÃ., 23)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, name='newsitem963619505,3764,')
+SAX.endElement(a)
+SAX.characters(
+ , 14)
+SAX.startElement(table, bgColor='#003399', width='100%')
+SAX.characters(
+ , 16)
+SAX.startElement(tbody)
+SAX.characters(
+ , 16)
+SAX.startElement(tr)
+SAX.characters(
+ , 18)
+SAX.startElement(td)
+SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
+SAX.startElement(b)
+SAX.characters(Friday,
+ Ju, 41)
+SAX.endElement(b)
+SAX.endElement(font)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment(<hr noshade width=100%>)
+SAX.startElement(b)
+SAX.startElement(u)
+SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
+SAX.characters(Hey
+ There!, 24)
+SAX.endElement(font)
+SAX.endElement(u)
+SAX.endElement(b)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='#0066cc', face='Arial', size='1')
+SAX.startElement(small)
+SAX.characters(Posted by , 10)
+SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
+SAX.characters(DareDevil, 9)
+SAX.endElement(a)
+SAX.characters( @ 5:05PM
+ PDT, 27)
+SAX.endElement(small)
+SAX.characters( , 2)
+SAX.characters( , 1)
+SAX.startElement(a, href='http://bp6.gamesquad.net/news/963619505,3764,.html')
+SAX.startElement(img, border='0', src='doc3_files/comments.gif')
+SAX.endElement(img)
+SAX.characters(7 comments, 10)
+SAX.endElement(a)
+SAX.characters(
+ , 15)
+SAX.characters( , 2)
+SAX.characters(|, 1)
+SAX.characters( , 2)
+SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
+SAX.characters(top, 3)
+SAX.endElement(a)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, color='black', face='Arial', size='2')
+SAX.characters(Hey guys, just wanted to intro, 312)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(My e-mail address is , 21)
+SAX.startElement(a, href='mailto:killz@i82hq.com')
+SAX.characters(killz@i82hq.com, 15)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Ciao for
+ now., 27)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(The ÃÃ., 9)
+SAX.endElement(font)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(
+ , 14)
+SAX.endElement(font)
+SAX.startElement(center)
+SAX.startElement(iframe, frameBorder='0', height='60', marginHeight='0', marginWidth='0', noResize='(null)', scrolling='no', src='doc3_files/ad_iframe.htm', width='468')
+SAX.startElement(a, href='http://ads.adflight.com/go_static.asp?asid=7708', target='_top')
+SAX.error: htmlParseEntityRef: expecting ';'
+SAX.error: htmlParseEntityRef: expecting ';'
+SAX.startElement(img, width='468', height='60', border='0', alt='Advertisement', src='http://ads.adflight.com/ad_static.asp?pid=2097&sid=1881&asid=7708')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.endElement(iframe)
+SAX.endElement(center)
+SAX.error: Unexpected end tag : li
+SAX.error: Unexpected end tag : font
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.endElement(center)
+SAX.error: Unexpected end tag : p
+SAX.endElement(td)
+SAX.characters(
+ , 6)
+SAX.startElement(td, bgColor='silver', vAlign='top', width='10%')
+SAX.characters(
+ , 8)
+SAX.startElement(center)
+SAX.characters(
+ , 8)
+SAX.startElement(p)
+SAX.characters(
+ , 8)
+SAX.endElement(p)
+SAX.startElement(table, bgColor='silver', border='0', cellPadding='0', cellSpacing='0', width='100%')
+SAX.characters(
+ , 10)
+SAX.startElement(tbody)
+SAX.characters(
+ , 10)
+SAX.startElement(tr)
+SAX.characters(
+ , 12)
+SAX.startElement(td, COLSTART='1')
+SAX.characters(
+ , 14)
+SAX.startElement(center)
+SAX.comment( <FORM ACTION="/cgi-bin/subscribe.pl" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
+ <IMG SRC="/images/spacer.gif" WIDTH="111" HEIGHT="1"><BR>
+ <P><B><FONT SIZE="2" COLOR="#000066" FACE="Verdana">Newsletter</FONT></B><FONT SIZE="1" FACE="Verdana"><BR>
+ <INPUT TYPE="TEXT" NAME="email" SIZE="10" VALUE="ur@email.com"><BR>
+ <INPUT TYPE="HIDDEN" NAME="subscribe" SIZE="-1" VALUE="subscribe"><INPUT TYPE="IMAGE" SRC="/images/subscribe.gif" WIDTH="80"
+ HEIGHT="27" ALIGN="BOTTOM" BORDER="0"></FONT>
+ </FORM> )
+SAX.characters(
+ , 14)
+SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?emaillist', method='post')
+SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, size='1')
+SAX.characters(Newsletter, 10)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(input, name='npemail', size='13', value='e-mail addr.')
+SAX.endElement(input)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(input, name='npsubscribe', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Subscribe')
+SAX.endElement(input)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.comment( <input type="submit" name="npunsubscribe" value="Unsubscribe" style="font-size: xx-small; font-family: Verdana; font-weight: bold; color: #ffffff; background-color: #000000;"> )
+SAX.endElement(font)
+SAX.endElement(form)
+SAX.startElement(font, size='1')
+SAX.characters(
+ , 14)
+SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?search', method='post')
+SAX.characters(Search news, 11)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(input, name='searchstring', size='13')
+SAX.endElement(input)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Submit')
+SAX.endElement(input)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?newsall')
+SAX.characters(News
+ archive, 26)
+SAX.endElement(a)
+SAX.error: Opening and ending tag mismatch: font and form
+SAX.endElement(form)
+SAX.endElement(font)
+SAX.characters( , 1)
+SAX.error: Unexpected end tag : form
+SAX.endElement(center)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.comment( <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BGCOLOR="silver">
+ <TR>
+ <TD WIDTH="100%">
+ <P ALIGN="CENTER"><A HREF="http://www.free56k.com" target="_blank"><IMG SRC="/images/free56k.gif" WIDTH="100" HEIGHT="49"
+ ALIGN="BOTTOM" BORDER="0"></A>
+ </TD>
+ </TR>
+ </TABLE>
+)
+SAX.characters(
+ , 8)
+SAX.startElement(table, bgColor='silver', border='0', cellPadding='0', cellSpacing='0', width='100%')
+SAX.characters(
+ , 10)
+SAX.startElement(tbody)
+SAX.characters(
+ , 10)
+SAX.startElement(tr)
+SAX.characters(
+ , 12)
+SAX.startElement(td, align='middle', width='100%')
+SAX.comment( BEGIN GoTo.com Search Box )
+SAX.characters(
+ , 14)
+SAX.startElement(script, language='javascript', type='text/javascript')
+SAX.characters(
+ , 9)
+SAX.comment(
+ if ((parseInt(navigator.appVersion) >= 3)
+ && (navigator.appName != "Netscape")) {
+ document.write("<IFRAME marginheight=0 frameborder=0 ");
+ document.write("marginwidth=0 scrolling=no width=100 height");
+ document.write("=90 ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=html&size=100x90&url=http://www.goto.co");
+ document.write("m/d/search/ssn/&target=_blank&Partner=SSN80");
+ document.write("42DF8478957377></IFRAME>");
+ } else if ((parseInt(navigator.appVersion) > 3)
+ && (navigator.appName == "Netscape")) {
+ document.write("<SCRIPT language=javascript type=text/javas");
+ document.write("cript ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=js&size=100x90&url=http://www.goto.com/");
+ document.write("d/search/ssn/&target=_blank&Partner=SSN8042");
+ document.write("DF8478957377></SC");
+ document.write("RIPT>");
+ } else {
+ document.write("<A TARGET=_blank ");
+ document.write("HREF=http://www.goto.com/d/search/ssn/?from");
+ document.write("GIF=true>");
+ document.write("<IMG ismap ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=gif&size=100x90></A>");
+ }
+ // )
+SAX.characters(
+ , 9)
+SAX.endElement(script)
+SAX.characters(
+ , 14)
+SAX.startElement(b)
+SAX.startElement(noscript)
+SAX.error: Opening and ending tag mismatch: b and noscript
+SAX.endElement(noscript)
+SAX.endElement(b)
+SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank')
+SAX.startElement(img, align='bottom', border='0', height='90', isMap='(null)', src='doc3_files/100x90.gif', width='100')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(b)
+SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank')
+SAX.characters(
+ , 15)
+SAX.endElement(a)
+SAX.error: Unexpected end tag : a
+SAX.endElement(b)
+SAX.startElement(b)
+SAX.error: Unexpected end tag : noscript
+SAX.endElement(b)
+SAX.startElement(b)
+SAX.comment( END GoTo.com Search Box )
+SAX.endElement(b)
+SAX.comment( Pricewatch Search Box )
+SAX.characters(
+ , 14)
+SAX.startElement(form, action='http://www.pricewatch.com/search/search.asp', method='get', target='_Blank')
+SAX.characters(
+ , 14)
+SAX.startElement(center)
+SAX.characters(
+ , 14)
+SAX.startElement(p)
+SAX.startElement(b)
+SAX.startElement(font, color='white', face='ARIAL, HELVETICA', size='1')
+SAX.characters(PC Price
+ Search, 29)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.endElement(font)
+SAX.endElement(b)
+SAX.startElement(input, maxLength='30', name='criteria', size='10')
+SAX.endElement(input)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Search')
+SAX.endElement(input)
+SAX.characters(
+ , 15)
+SAX.endElement(p)
+SAX.error: Opening and ending tag mismatch: form and center
+SAX.endElement(center)
+SAX.endElement(form)
+SAX.comment( Pricewatch Search Box )
+SAX.startElement(a, href='http://www.puicorp.com/bp6specials.htm', target='_BLANK')
+SAX.startElement(img, src='doc3_files/puibp6.gif')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(a, href='http://store.yahoo.com/dunamis-site/maxtor.html', target='_BLANK')
+SAX.startElement(img, alt='BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount', src='doc3_files/hd5.gif')
+SAX.endElement(img)
+SAX.startElement(font, size='1')
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(BP6.COM
+ Special, 29)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Code:BP6-hd, 11)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters( , 1)
+SAX.error: Unexpected end tag : p
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.error: Opening and ending tag mismatch: center and table
+SAX.endElement(table)
+SAX.endElement(center)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.characters(
+ , 8)
+SAX.startElement(table, bgColor='silver', border='0', cellPadding='0', cellSpacing='0', height='100%', width='100%')
+SAX.characters(
+ , 10)
+SAX.startElement(tbody)
+SAX.characters(
+ , 10)
+SAX.startElement(tr)
+SAX.characters(
+ , 12)
+SAX.startElement(td, width='100%')
+SAX.characters( , 2)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.error: Unexpected end tag : p
+SAX.error: Unexpected end tag : center
+SAX.error: Unexpected end tag : tr
+SAX.error: Unexpected end tag : tbody
+SAX.error: Unexpected end tag : table
+SAX.comment( </TABLE>)
+SAX.characters(
+, 2)
+SAX.startElement(center)
+SAX.endElement(center)
+SAX.error: Unexpected end tag : td
+SAX.error: Unexpected end tag : tr
+SAX.startElement(tr)
+SAX.startElement(td, COLSPAN='3', VALIGN='TOP', HEIGHT='70')
+SAX.characters( , 2)
+SAX.endElement(td)
+SAX.characters( , 1)
+SAX.endElement(tr)
+SAX.error: Unexpected end tag : table
+SAX.characters(
+, 2)
+SAX.startElement(table, border='0', width='780')
+SAX.characters(
+ , 4)
+SAX.startElement(tbody)
+SAX.characters(
+ , 4)
+SAX.startElement(tr)
+SAX.characters(
+ , 6)
+SAX.startElement(td, width='780')
+SAX.characters(
+ , 8)
+SAX.startElement(p, align='center')
+SAX.startElement(font, color='#999999', face='verdana,arial', size='1')
+SAX.characters(Copyright
+ ©1999-2000 , 59)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.characters(Got news? Send it to , 21)
+SAX.endElement(font)
+SAX.startElement(a, href='mailto:tim@bp6.com')
+SAX.startElement(font, color='white', face='Verdana', size='1')
+SAX.characters(Tim, 3)
+SAX.endElement(font)
+SAX.endElement(a)
+SAX.characters( , 1)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.endElement(tr)
+SAX.comment( <TR> <TD WIDTH="780"> <P ALIGN="CENTER"><FONT SIZE="1" COLOR="#999999" FACE="Verdana,arial">Site design by Tim Brinkley</FONT> </TD> </TR> )
+SAX.endElement(tbody)
+SAX.endElement(table)
+SAX.endElement(div)
+SAX.characters(
+, 2)
+SAX.startElement(script)
+SAX.characters( window.open=NS_ActualOpen; , 28)
+SAX.endElement(script)
+SAX.characters(
+, 2)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 2)
+SAX.endDocument()
diff --git a/result/HTML/entities.html b/result/HTML/entities.html
new file mode 100644
index 00000000..c2d4a848
--- /dev/null
+++ b/result/HTML/entities.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html><body><p tst="a&amp;b" tst2="a&amp;b" tst3="a &amp; b">
+a&amp;b
+a&amp;b
+a &amp; b
+</p></body></html>
diff --git a/result/HTML/entities.html.err b/result/HTML/entities.html.err
new file mode 100644
index 00000000..a2bd6d07
--- /dev/null
+++ b/result/HTML/entities.html.err
@@ -0,0 +1,12 @@
+./test/HTML/entities.html:1: error: htmlParseEntityRef: expecting ';'
+<p tst="a&amp;b" tst2="a&b" tst3="a & b">
+ ^
+./test/HTML/entities.html:1: error: htmlParseEntityRef: no name
+<p tst="a&amp;b" tst2="a&b" tst3="a & b">
+ ^
+./test/HTML/entities.html:3: error: htmlParseEntityRef: expecting ';'
+a&b
+ ^
+./test/HTML/entities.html:4: error: htmlParseEntityRef: no name
+a & b
+ ^
diff --git a/result/HTML/entities.html.sax b/result/HTML/entities.html.sax
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/result/HTML/entities.html.sax
diff --git a/result/HTML/fp40.htm.sax b/result/HTML/fp40.htm.sax
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/result/HTML/fp40.htm.sax
diff --git a/result/HTML/liclose.html.sax b/result/HTML/liclose.html.sax
new file mode 100644
index 00000000..8752acd4
--- /dev/null
+++ b/result/HTML/liclose.html.sax
@@ -0,0 +1,38 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd)
+SAX.startElement(html)
+SAX.characters(
+, 1)
+SAX.startElement(head)
+SAX.characters(
+ , 3)
+SAX.startElement(title)
+SAX.endElement(title)
+SAX.characters(
+, 1)
+SAX.endElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(body)
+SAX.characters(
+, 1)
+SAX.startElement(ul)
+SAX.characters(
+, 1)
+SAX.startElement(li)
+SAX.characters(First item
+, 11)
+SAX.endElement(li)
+SAX.startElement(li)
+SAX.characters(Second item, closes the first , 34)
+SAX.endElement(li)
+SAX.endElement(ul)
+SAX.characters(
+
+, 2)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/reg1.html.sax b/result/HTML/reg1.html.sax
new file mode 100644
index 00000000..0e52b635
--- /dev/null
+++ b/result/HTML/reg1.html.sax
@@ -0,0 +1,36 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+, 1)
+SAX.startElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(title)
+SAX.characters(Regression test 1, 17)
+SAX.endElement(title)
+SAX.characters(
+, 1)
+SAX.endElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(body)
+SAX.characters(
+, 1)
+SAX.startElement(h1)
+SAX.characters(Regression test 1, 17)
+SAX.endElement(h1)
+SAX.characters(
+, 1)
+SAX.startElement(p)
+SAX.characters(
+Ok file no problem
+, 20)
+SAX.endElement(p)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/reg2.html.sax b/result/HTML/reg2.html.sax
new file mode 100644
index 00000000..c824c59b
--- /dev/null
+++ b/result/HTML/reg2.html.sax
@@ -0,0 +1,41 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+, 1)
+SAX.startElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(title)
+SAX.characters(Regression test 2, 17)
+SAX.endElement(title)
+SAX.characters(
+, 1)
+SAX.endElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(body)
+SAX.characters(
+, 1)
+SAX.startElement(h1)
+SAX.characters(Regression test 2, 17)
+SAX.endElement(h1)
+SAX.characters(
+, 1)
+SAX.startElement(p)
+SAX.characters(
+Autoclose of tag P
+, 20)
+SAX.endElement(p)
+SAX.startElement(p)
+SAX.characters(
+Ok file no problem
+, 20)
+SAX.endElement(p)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/reg3.html.sax b/result/HTML/reg3.html.sax
new file mode 100644
index 00000000..3dd6c026
--- /dev/null
+++ b/result/HTML/reg3.html.sax
@@ -0,0 +1,45 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+, 1)
+SAX.startElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(title)
+SAX.characters(Regression test 3, 17)
+SAX.endElement(title)
+SAX.characters(
+, 1)
+SAX.endElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(body)
+SAX.characters(
+, 1)
+SAX.startElement(h1)
+SAX.characters(Regression test 3, 17)
+SAX.endElement(h1)
+SAX.characters(
+, 1)
+SAX.startElement(p)
+SAX.characters(
+Autoclose of tag P
+, 20)
+SAX.endElement(p)
+SAX.startElement(hr)
+SAX.endElement(hr)
+SAX.characters(
+, 1)
+SAX.startElement(p)
+SAX.characters(
+Ok file no problem
+, 20)
+SAX.endElement(p)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/reg4.html.sax b/result/HTML/reg4.html.sax
new file mode 100644
index 00000000..80472e25
--- /dev/null
+++ b/result/HTML/reg4.html.sax
@@ -0,0 +1,43 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+, 1)
+SAX.startElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(title)
+SAX.characters(Regression test 4, 17)
+SAX.endElement(title)
+SAX.characters(
+, 1)
+SAX.endElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(body)
+SAX.characters(
+, 1)
+SAX.startElement(h1)
+SAX.characters(Regression test 4, 17)
+SAX.endElement(h1)
+SAX.characters(
+, 1)
+SAX.startElement(p)
+SAX.characters(
+Wrong close of tag P
+, 22)
+SAX.endElement(p)
+SAX.startElement(hr)
+SAX.endElement(hr)
+SAX.characters(
+, 1)
+SAX.error: Unexpected end tag : p
+SAX.characters(
+, 1)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/test2.html.sax b/result/HTML/test2.html.sax
new file mode 100644
index 00000000..275ae1b9
--- /dev/null
+++ b/result/HTML/test2.html.sax
@@ -0,0 +1,145 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd)
+SAX.startElement(html)
+SAX.startElement(head)
+SAX.characters( , 1)
+SAX.startElement(title)
+SAX.characters(Linux Today, 11)
+SAX.endElement(title)
+SAX.endElement(head)
+SAX.characters(
+, 1)
+SAX.startElement(body, bgcolor='White', link='Blue', text='Black', VLINK='Black', ALINK='Red')
+SAX.characters(
+
+, 2)
+SAX.startElement(center)
+SAX.characters(
+, 1)
+SAX.startElement(table, BORDER='0', WIDTH='100%', CELLSPACING='0', CELLPADDING='0')
+SAX.characters(
+ , 9)
+SAX.startElement(tr, BGCOLOR='#FFFFFF')
+SAX.characters(
+ , 17)
+SAX.startElement(td, HEIGHT='90')
+SAX.characters(
+, 1)
+SAX.startElement(a, href='http://linuxtoday.com/cgi-bin/click.pl?adnum=49')
+SAX.startElement(img, src='/pics/door_linux.gif', border='0', width='468', height='60', alt='Atipa Linux solutions. Your reliable cluster, server, and workstation solution. Win a Free Celeron Linux Workstation!')
+SAX.endElement(img)
+SAX.endElement(a)
+SAX.characters(
+
+ , 18)
+SAX.endElement(td)
+SAX.characters(
+ , 5)
+SAX.startElement(td)
+SAX.startElement(img, SRC='/pics/lt.gif', VSPACE='5', alt='Linux Today Logo')
+SAX.endElement(img)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.startElement(font, size='-1')
+SAX.startElement(a, href='http://linux.com')
+SAX.characters(linux.com, 9)
+SAX.endElement(a)
+SAX.characters( partner, 8)
+SAX.endElement(font)
+SAX.startElement(p)
+SAX.endElement(p)
+SAX.endElement(td)
+SAX.characters(
+
+ , 10)
+SAX.endElement(tr)
+SAX.characters(
+, 1)
+SAX.endElement(table)
+SAX.characters(
+, 1)
+SAX.startElement(font, size='2', face='Helvetica')
+SAX.characters(
+[ , 3)
+SAX.startElement(a, href='http://linuxtoday.com/')
+SAX.characters(headlines, 9)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://features.linuxtoday.com/')
+SAX.characters(features, 8)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://commercial.linuxtoday.com/')
+SAX.characters(commercial, 10)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://security.linuxtoday.com/')
+SAX.characters(security, 8)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://jobs.linuxtoday.com/')
+SAX.characters(jobs, 4)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://linuxtoday.com/volt/')
+SAX.characters(volt, 4)
+SAX.endElement(a)
+SAX.characters( |
+, 4)
+SAX.startElement(a, href='http://linuxtoday.com/contrib.pl')
+SAX.characters(contribute/submit, 17)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://linuxtoday.com/advertise/')
+SAX.characters(advertise, 9)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://linuxtoday.com/search.html')
+SAX.characters(search, 6)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://linuxtoday.com/digests/')
+SAX.characters(site digests, 12)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://linuxtoday.com/mail-lists')
+SAX.characters(mailing lists, 13)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://linuxtoday.com/about/')
+SAX.characters(about us, 8)
+SAX.endElement(a)
+SAX.characters( |
+, 3)
+SAX.startElement(a, href='http://linuxtoday.com/linkus.html')
+SAX.characters(link us, 7)
+SAX.endElement(a)
+SAX.characters( ], 2)
+SAX.endElement(font)
+SAX.characters(
+, 1)
+SAX.endElement(center)
+SAX.characters(
+, 1)
+SAX.startElement(p)
+SAX.characters(
+, 1)
+SAX.endElement(p)
+SAX.endElement(body)
+SAX.characters(
+, 1)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/result/HTML/test3.html.sax b/result/HTML/test3.html.sax
new file mode 100644
index 00000000..41ee4322
--- /dev/null
+++ b/result/HTML/test3.html.sax
@@ -0,0 +1,230 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.characters(
+, 2)
+SAX.startElement(head)
+SAX.characters(
+, 2)
+SAX.startElement(base, target='contents')
+SAX.endElement(base)
+SAX.characters(
+, 2)
+SAX.endElement(head)
+SAX.characters(
+, 2)
+SAX.startElement(body)
+SAX.startElement(a, name='ProblemDomain.Package')
+SAX.startElement(h2)
+SAX.characters(Component Package diagram Prob, 39)
+SAX.endElement(h2)
+SAX.characters(
+, 2)
+SAX.endElement(a)
+SAX.startElement(p)
+SAX.endElement(p)
+SAX.startElement(hr)
+SAX.endElement(hr)
+SAX.error: Unexpected end tag : p
+SAX.characters(
+, 2)
+SAX.startElement(dl)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(b)
+SAX.characters(Stereotype , 11)
+SAX.endElement(b)
+SAX.characters(problem domain, 14)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(b)
+SAX.characters(Alias , 6)
+SAX.endElement(b)
+SAX.characters(Problem Domain, 14)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(b)
+SAX.characters(Note , 5)
+SAX.endElement(b)
+SAX.endElement(dt)
+SAX.startElement(dd)
+SAX.characters(The Problem Domain package is , 59)
+SAX.startElement(dd)
+SAX.characters(Interface, thats stores and ma, 58)
+SAX.endElement(dd)
+SAX.endElement(dd)
+SAX.endElement(dl)
+SAX.characters(
+, 2)
+SAX.startElement(p)
+SAX.endElement(p)
+SAX.startElement(hr)
+SAX.endElement(hr)
+SAX.error: Unexpected end tag : p
+SAX.characters(
+, 2)
+SAX.startElement(dl)
+SAX.characters(
+
+, 4)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='HumanInterface.FamilyFrame.html#HumanInterface.FamilyFrame')
+SAX.characters(HumanInterface.FamilyFrame, 26)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.Birth.html#ProblemDomain.Birth')
+SAX.characters(ProblemDomain.Birth, 19)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.Death.html#ProblemDomain.Death')
+SAX.characters(ProblemDomain.Death, 19)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.Divorce.html#ProblemDomain.Divorce')
+SAX.characters(ProblemDomain.Divorce, 21)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.Family.html#ProblemDomain.Family')
+SAX.characters(ProblemDomain.Family, 20)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.Individual.html#ProblemDomain.Individual')
+SAX.characters(ProblemDomain.Individual, 24)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.LifeEvent.html#ProblemDomain.LifeEvent')
+SAX.characters(ProblemDomain.LifeEvent, 23)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.Marriage.html#ProblemDomain.Marriage')
+SAX.characters(ProblemDomain.Marriage, 22)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.startElement(dt)
+SAX.startElement(h4)
+SAX.characters(Class , 6)
+SAX.startElement(a, href='ProblemDomain.Note.html#ProblemDomain.Note')
+SAX.characters(ProblemDomain.Note, 18)
+SAX.endElement(a)
+SAX.endElement(h4)
+SAX.endElement(dt)
+SAX.characters(
+, 2)
+SAX.endElement(dl)
+SAX.characters(
+
+, 4)
+SAX.startElement(h4)
+SAX.startElement(b)
+SAX.characters(Links, 5)
+SAX.error: Opening and ending tag mismatch: h4 and b
+SAX.endElement(b)
+SAX.endElement(h4)
+SAX.error: Unexpected end tag : b
+SAX.characters(
+, 2)
+SAX.startElement(ul)
+SAX.startElement(li)
+SAX.startElement(b)
+SAX.characters(Link to , 8)
+SAX.endElement(b)
+SAX.startElement(a, href='HumanInterface.Package.html#HumanInterface.Package')
+SAX.characters(HumanInterface, 14)
+SAX.endElement(a)
+SAX.endElement(li)
+SAX.endElement(ul)
+SAX.characters(
+, 2)
+SAX.startElement(dir)
+SAX.endElement(dir)
+SAX.characters(
+, 2)
+SAX.startElement(ul)
+SAX.startElement(li)
+SAX.startElement(b)
+SAX.characters(Link to , 8)
+SAX.endElement(b)
+SAX.startElement(a, href='DataManagement.FlatFile.Package.html#DataManagement.FlatFile.Package')
+SAX.characters(DataManagement.FlatFile, 23)
+SAX.endElement(a)
+SAX.endElement(li)
+SAX.endElement(ul)
+SAX.characters(
+, 2)
+SAX.startElement(dir)
+SAX.endElement(dir)
+SAX.characters(
+, 2)
+SAX.startElement(ul)
+SAX.startElement(li)
+SAX.startElement(b)
+SAX.characters(Link to , 8)
+SAX.endElement(b)
+SAX.startElement(a, href='DataManagement.Package.html#DataManagement.Package')
+SAX.characters(DataManagement, 14)
+SAX.endElement(a)
+SAX.endElement(li)
+SAX.endElement(ul)
+SAX.characters(
+, 2)
+SAX.startElement(dir)
+SAX.endElement(dir)
+SAX.characters(
+, 2)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 2)
+SAX.endDocument()
diff --git a/result/HTML/wired.html.err b/result/HTML/wired.html.err
index 357dc0a1..e9e588d8 100644
--- a/result/HTML/wired.html.err
+++ b/result/HTML/wired.html.err
@@ -181,75 +181,75 @@ option value="http://www.hotbot.com/?SM=MC&DV=0&LG=any&RD=RG&DC=10&DE=2&_v=2&OP
./test/HTML/wired.html:97: error: htmlParseEntityRef: expecting ';'
lue="http://www.hotbot.com/?SM=MC&DV=0&LG=any&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP&M
^
-./test/HTML/wired.html:159: error: Opening and ending tag mismatch: td and form
+./test/HTML/wired.html:165: error: Opening and ending tag mismatch: td and form
</td>
^
-./test/HTML/wired.html:164: error: Unexpected end tag : form
+./test/HTML/wired.html:170: error: Unexpected end tag : form
</tr> </form>
^
-./test/HTML/wired.html:238: error: Opening and ending tag mismatch: td and form
+./test/HTML/wired.html:244: error: Opening and ending tag mismatch: td and form
</select></font></td></tr>
^
-./test/HTML/wired.html:242: error: htmlParseEntityRef: expecting ';'
+./test/HTML/wired.html:248: error: htmlParseEntityRef: expecting ';'
MG SRC="http://barnesandnoble.bfast.com/booklink/serve?sourceid=383471&is_searc
^
-./test/HTML/wired.html:257: error: Unexpected end tag : form
+./test/HTML/wired.html:265: error: Unexpected end tag : form
</tr> </form>
^
-./test/HTML/wired.html:338: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:346: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:366: error: htmlParseEntityRef: no name
+./test/HTML/wired.html:374: error: htmlParseEntityRef: no name
a, sans-serif"><b><a href="/news/commentarySection/0,1292,31926,00.html">Rants
^
-./test/HTML/wired.html:366: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:374: error: Opening and ending tag mismatch: td and font
Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.</font><br><br> </t
^
-./test/HTML/wired.html:366: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:374: error: Opening and ending tag mismatch: td and font
Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.</font><br><br> </t
^
-./test/HTML/wired.html:394: error: Opening and ending tag mismatch: a and font
+./test/HTML/wired.html:402: error: Opening and ending tag mismatch: a and font
w.vignette.com/" style="text-decoration:none"><font color="#000000">Vignette</a
^
-./test/HTML/wired.html:398: error: htmlParseEntityRef: expecting ';'
+./test/HTML/wired.html:406: error: htmlParseEntityRef: expecting ';'
ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE=
^
-./test/HTML/wired.html:398: error: htmlParseEntityRef: expecting ';'
+./test/HTML/wired.html:406: error: htmlParseEntityRef: expecting ';'
ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE=
^
-./test/HTML/wired.html:398: error: htmlParseEntityRef: expecting ';'
+./test/HTML/wired.html:406: error: htmlParseEntityRef: expecting ';'
wired.com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Spr
^
-./test/HTML/wired.html:398: error: Opening and ending tag mismatch: a and font
+./test/HTML/wired.html:406: error: Opening and ending tag mismatch: a and font
com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</a
^
-./test/HTML/wired.html:398: error: End tag : expected '>'
+./test/HTML/wired.html:406: error: End tag : expected '>'
=Sprint" style="text-decoration:none"><font color="#000000">Sprint</a></i></fon
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:404: error: Opening and ending tag mismatch: td and font
+./test/HTML/wired.html:412: error: Opening and ending tag mismatch: td and font
</td>
^
-./test/HTML/wired.html:422: error: htmlParseEntityRef: expecting ';'
+./test/HTML/wired.html:430: error: htmlParseEntityRef: expecting ';'
href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1">Lycos</
^
diff --git a/result/HTML/wired.html.sax b/result/HTML/wired.html.sax
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/result/HTML/wired.html.sax
diff --git a/test/HTML/doc2.htm b/test/HTML/doc2.htm
new file mode 100644
index 00000000..ff6f285c
--- /dev/null
+++ b/test/HTML/doc2.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0016)http://intranet/ -->
+<!-- BEGIN Naviscope Javascript --><HTML><HEAD><TITLE>Welcome to Copernic.com</TITLE>
+<SCRIPT language=javascript>
+ NS_ActualOpen=window.open;
+ function NS_NullWindow(){this.window;}
+ function NS_NewOpen(url,nam,atr){return(new NS_NullWindow());}
+ window.open=NS_NewOpen;
+</SCRIPT>
+<!-- END Naviscope Javascript --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0027)http://www.agents-tech.com/ -->
+<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
+<META
+content="Copernic.com Inc. develops innovative agent technology solutions to efficiently access and manage the overwhelming quantity of information available on the Internet and intranets."
+name=DESCRIPTION>
+<META
+content=agent,technology,intranet,extranet,management,filtering,ranking,solution,service,intelligent,intelligence,client,server,architecture,developer,development,information,telecommunication,announcement,press,product,profile,contact,multi-agent,meta-search,metasearch,multi-thread,mobile,wireless,shopping,robot,PCS,Copernic,engine,toolkit,CDK,EDK
+name=KEYWORDS>
+<META content="MSHTML 5.00.3103.1000" name=GENERATOR></HEAD><FRAMESET
+border=false cols=172,* frameBorder=0 frameSpacing=0><FRAME marginHeight=0
+marginWidth=0 name=left noResize scrolling=no src="doc2_files/side.htm"
+target="rtop"><FRAMESET rows=43,*><FRAME marginHeight=0 marginWidth=0 name=rtop
+noResize scrolling=no src="doc2_files/top.htm" target="rbottom"><FRAME
+name=rbottom noResize src="doc2_files/contents.htm"
+target="_top"></FRAMESET><NOFRAMES>
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#000080" vlink="#000080" alink="#000080"
+ topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
+ <p>This page uses frames, but your browser doesn't support them.</p>
+ </body>
+ </NOFRAMES></FRAMESET></HTML>
diff --git a/test/HTML/doc3.htm b/test/HTML/doc3.htm
new file mode 100644
index 00000000..ba28998e
--- /dev/null
+++ b/test/HTML/doc3.htm
@@ -0,0 +1,851 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0025)http://bp6.gamesquad.net/ -->
+<!-- BEGIN Naviscope Javascript --><HTML><HEAD><TITLE>BP6.com #1 online resource for the BP6 Mobo....</TITLE>
+<SCRIPT language=javascript>
+ NS_ActualOpen=window.open;
+ function NS_NullWindow(){this.window;}
+ function NS_NewOpen(url,nam,atr){return(new NS_NullWindow());}
+ window.open=NS_NewOpen;
+</SCRIPT>
+<!-- END Naviscope Javascript --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><!--last modified on Tuesday, February 22, 2000 11:47 PM -->
+<META content=text/html;CHARSET=iso-8859-1 http-equiv=Content-Type>
+<META content=Tim name=Author>
+<STYLE type=text/css>A.nav {
+ COLOR: #003399; TEXT-DECORATION: none
+}
+A.nav:hover {
+ COLOR: #3366cc; TEXT-DECORATION: underline
+}
+</STYLE>
+
+<SCRIPT language=JavaScript>
+<!-- Idea by: Nic Wolfe (Nic@TimelapseProductions.com) -->
+<!-- Web URL: http://fineline.xs.mw -->
+
+<!-- This script and many more are available free online at -->
+<!-- The JavaScript Source!! http://javascript.internet.com -->
+
+<!-- Begin
+function popUp(URL) {
+day = new Date();
+id = day.getTime();
+eval("page" + id + " = window.open(URL, '" + id + "', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0, resizable=0, width=145, height=250');");
+}
+// End -->
+</SCRIPT>
+
+<META content="MSHTML 5.00.3103.1000" name=GENERATOR></HEAD>
+<BODY aLink=red bgColor=black link=red text=white vLink=red>
+<P>
+<DIV align=center>
+<TABLE border=0 cellPadding=0 cellSpacing=0 width="80%">
+ <TBODY>
+ <TR>
+ <TD vAlign=top width=31><A href="http://bp6.gamesquad.net/"><IMG
+ align=bottom border=0 height=74 src="doc3_files/logo.gif"
+width=252></A></TD>
+ <TD align=left bgColor=#000000><IMG height=15 src="doc3_files/spacer.gif"
+ width=15><!-- START GAMESQUAD.NET IFRAME RICH MEDIA CODE --> <!-- © 2000 GameSquad.net All Rights Reserved. --><IFRAME border=0
+ frameBorder=no height=60 marginHeight=0 marginWidth=0 scrolling=no
+ src="doc3_files/adcycle.htm"
+ width=468>
+<a href="http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&id=1" target="_top"><img src="http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&media=1&id=1" width=468 height=60 border=0 ALT="GSN ROS Ad"></a>
+</IFRAME><!-- END GAMESQUAD.NET IFRAME RICH MEDIA CODE --><BR><IMG
+ height=15 src="doc3_files/spacer.gif" width=400> </TD></TR>
+ <TR>
+ <TD bgColor=#003399 colSpan=2>
+ <P align=right><IMG align=right border=0 height=18 hspace=0
+ src="doc3_files/trcorner.gif" width=20><IMG align=left border=0 height=18
+ hspace=0 src="doc3_files/tlcorner.gif" width=20><FONT face=Verdana
+ size=2>Monday, July 31st, 2000</FONT> </P></TD></TR>
+ <TR>
+ <TD colSpan=2>
+ <TABLE bgColor=#003399 border=0 cellPadding=0 cellSpacing=4
+ width="100%"><TBODY>
+ <TR>
+ <TD bgColor=#666666 width="100%">
+ <CENTER>
+ <P>
+ <TABLE bgColor=black border=0 cellPadding=0 cellSpacing=1
+ width="100%">
+ <TBODY>
+ <TR>
+ <TD background=doc3_files/hscan.gif bgColor=#666666
+ width="100%"><IMG height=1 src="doc3_files/spacer.gif"
+ width=738><BR>
+ <CENTER>
+ <TABLE border=0 cellPadding=2 cellSpacing=0 width="91%">
+ <TBODY>
+ <TR>
+ <TD vAlign=top width="15%">
+ <P align=center><A
+ href="http://bp6.gamesquad.net/specs.phtml"><IMG
+ align=bottom
+ alt="Abit BP6 Motherboard specification and information."
+ border=0 height=45 src="doc3_files/bp6icon.gif"
+ width=70></A><FONT face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/specs.phtml"><FONT
+ color=white face=Verdana size=1>BP6 Specs</FONT></A>
+ </P></TD>
+ <TD vAlign=top width="15%">
+ <P align=center><A
+ href="http://bp6.gamesquad.net/bxcool.phtml"><IMG
+ align=bottom
+ alt="How to cool the BX Chipset on your BP6." border=0
+ height=45 src="doc3_files/bxcool.gif" width=70></A><FONT
+ face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/uc.phtml"><FONT
+ color=white face=Verdana size=1>BX Cooling</FONT></A>
+ </P></TD>
+ <TD vAlign=top width="15%">
+ <P align=center><A
+ href="http://bp6.gamesquad.net/contest.phtml"><IMG
+ align=bottom
+ alt="The U;timate Gaming Contest - Coming Soon!"
+ border=0 height=45 src="doc3_files/ugmcontest.gif"
+ width=70></A><FONT face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/contest.phtml"><FONT
+ color=white face=Verdana size=1>UGM Contest</FONT></A>
+ </P></TD>
+ <TD vAlign=top width="15%">
+ <P align=center><A
+ href="http://bp6.gamesquad.net/uc.phtml"><IMG
+ align=bottom
+ alt="Cooling &amp; Heatsink review for the BP6."
+ border=0 height=45 src="doc3_files/alpha.gif"
+ width=70></A><FONT face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/uc.phtml"><FONT
+ color=white face=Verdana size=1>Heatsinks</FONT></A>
+ </P></TD>
+ <TD vAlign=top width="15%">
+ <P align=center><A
+ href="http://bp6.gamesquad.net/101.phtml"><IMG
+ align=bottom
+ alt="BP6 101 - Class is now in session. Welcome newbies!"
+ border=0 height=45 src="doc3_files/bp6101.gif"
+ width=70></A><FONT face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/101.phtml"><FONT
+ color=white face=Verdana size=1>BP6 101</FONT></A>
+ </P></TD>
+ <TD vAlign=top width="15%">
+ <P align=center><A
+ href="http://bp6.gamesquad.net/win2k_install.phtml"><IMG
+ align=bottom
+ alt="Install guide for installing Windows 2000 on the BP6 "
+ border=0 height=45 src="doc3_files/win2kht.gif"
+ width=70></A><FONT face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/win2k_install.phtml"><FONT
+ color=white face=Verdana size=1>Win2k Install</FONT></A>
+ </P></TD>
+ <TD vAlign=top width="15%">
+ <P align=center><A href="http://www.gentus.com/"><IMG
+ align=bottom
+ alt="Taking a first look at the Abit Linux release called "
+ border=0 height=45 src="doc3_files/gentusbox.gif"
+ width=70 Gentus?.?></A><BR><A
+ href="http://www.gentus.com/"><FONT color=white
+ face=Verdana size=1>Gentus</FONT></A>
+ </P></TD></TR></TBODY></TABLE></CENTER></TD></TR></TBODY></TABLE></CENTER></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE bgColor=#003399 border=0 cellSpacing=6 width="80%">
+ <TBODY>
+ <TR>
+ <TD bgColor=black vAlign=top width="10%">
+ <TABLE border=0 cellPadding=3 cellSpacing=0 width="100%">
+ <TBODY>
+ <TR>
+ <TD width="100%"><IMG height=1 src="doc3_files/spacer.gif"
+ width=111><BR><B><FONT color=yellow face=Verdana
+ size=2>REVIEWS</FONT></B><FONT face=Verdana size=2><BR>
+ <HR align=center>
+ </FONT><A href="http://bp6.gamesquad.net/bp6reviews.phtml"><FONT
+ color=white face=Verdana size=1>BP6 Reviews</FONT></A><FONT
+ face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/h2o.phtml"><FONT color=white
+ face=Verdana size=1>BP6 Watercooling</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/bxcool.phtml"><FONT color=white
+ face=Verdana size=1>BX Chipset Cooling</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/benchmark.phtml"><FONT color=white
+ face=Verdana size=1>Benchmarks</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/bp6fsb.phtml"><FONT color=white
+ face=Verdana size=1>BP6FSB Utility</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/powerleap.phtml"><FONT color=white
+ face=Verdana size=1>PowerLeap NEO S370</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/seti.phtml"><FONT color=white
+ face=Verdana size=1>SETI on the BP6</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/orbs.phtml"><FONT color=white
+ face=Verdana size=1>Golden Orbs I</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/orbs/orbs2.phtml"><FONT color=white
+ face=Verdana size=1>Golden Orbs II</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/Q6fix.phtml"><FONT color=white
+ face=Verdana size=1>VTT Solution</FONT></A><FONT face=Verdana
+ size=1><BR><BR></FONT><B><FONT color=yellow face=Verdana
+ size=2>NAVIGATE</FONT></B><FONT color=yellow face=Verdana size=2>
+ <HR align=center>
+ </FONT><A href="http://www.bp6.com/"><FONT color=white face=Verdana
+ size=1>News</FONT></A><FONT face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/chat.phtml"><FONT color=white
+ face=Verdana size=1>Online Text Chat</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A href="javascript:popUp('chat_popup.htm')"><FONT
+ color=white face=Verdana size=1>Voice Chat</FONT></A><BR><A
+ href="http://216.247.220.192/Forum"><FONT color=white face=Verdana
+ size=1>Messageboard</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A href="http://bp6.gamesquad.net/cooling"><FONT
+ color=white face=Verdana size=1>Temp. Converter</FONT></A><FONT
+ face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/uc.phtml"><FONT color=white
+ face=Verdana size=1>Picture Gallery</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/bios.phtml"><FONT color=white
+ face=Verdana size=1>Latest BIOS</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A href="http://bp6.gamesquad.net/files/"><FONT
+ color=white face=Verdana size=1>Drivers &amp; Files</FONT></A><FONT
+ face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/uc.phtml"><FONT color=white
+ face=Verdana size=1>UGM of the week</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/contest.phtml"><FONT color=white
+ face=Verdana size=1>BP6 Contest</FONT></A><FONT face=Verdana
+ size=1><BR><BR></FONT><B><FONT color=yellow face=Verdana
+ size=2>OTHER STUFF</FONT></B><FONT color=yellow face=Verdana size=2>
+
+ <HR align=center>
+ </FONT><A href="http://bp6.gamesquad.net/whois.phtml"><FONT
+ color=white face=Verdana size=1>Who is Tim?</FONT></A><FONT
+ face=Verdana size=1><BR></FONT><A href="mailto:tim@bp6.com"><FONT
+ color=white face=Verdana size=1>Contact BP6.com</FONT></A><FONT
+ face=Verdana size=1><BR></FONT><A
+ href="http://bp6.gamesquad.net/uc.phtml"><FONT color=white
+ face=Verdana size=1>Affiliates Section</FONT></A><FONT face=Verdana
+ size=1><BR></FONT><A href="http://bp6.gamesquad.net/uc.phtml"><FONT
+ color=white face=Verdana size=1>Sponsors Section <BR></FONT><A
+ href="http://bp6.gamesquad.net/links.phtml"><FONT color=white
+ face=Verdana size=1>Links<BR><BR></FONT></A><B><FONT color=yellow
+ face=Verdana size=2>PC SPECIALS</FONT></B><FONT color=yellow
+ face=Verdana size=2>
+ <HR align=center>
+ </FONT><A href="http://bp6.gamesquad.net/specials.phtml"><FONT
+ color=white face=Verdana size=1>Vendor
+ Specials<BR><BR></FONT></A><BR></FONT></A><B><FONT color=yellow
+ face=Verdana size=2>Pic of the day</FONT></B>
+ <HR>
+
+ <CENTER>
+ <P align=center><FONT face="Verdana, Arial, Helvetica" size=1><A
+ href="http://bp6.gamesquad.net/cgi-bin/schlabo/potd.pl"><IMG
+ alt="No picture is available for today." border=0
+ src="doc3_files/potd_na_110x83.gif"></A> </FONT></P></CENTER><BR>
+ <CENTER></CENTER><BR><!--<A HREF="code:javascript:ID_FTPWebView.InvokeHelp()"><FONT SIZE="1" COLOR="white" FACE="Verdana">FTP Help</FONT></A>--></TD></TR></TBODY></TABLE></TD>
+ <TD bgColor=white vAlign=top width="80%"><IMG height=1
+ src="doc3_files/spacer.gif" width=490><BR>
+ <CENTER>
+ <P>
+ <TABLE bgColor=white border=0 cellPadding=10 cellSpacing=0 height="100%"
+ width="100%">
+ <TBODY>
+ <TR>
+ <TD bgColor=white vAlign=top width="100%">
+ <CENTER><A href="http://www.encounter2001.com/" target=_blank><IMG
+ border=0 height=60 src="doc3_files/banner2.gif" width=468></A>
+ </CENTER><BR><A name=news_top></A><FONT color=#003366
+ face=verdana,arial size=2><B>Headlines</B></FONT><BR><FONT
+ face=arial size=1><A class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem965012956,78924,">Chat
+ with ABIT - 8:09PM PDT</A></FONT><BR><FONT face=arial size=1><A
+ class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964766837,26344,">Fixed
+ wallpaper - 11:47PM PDT</A></FONT><BR><FONT face=arial size=1><A
+ class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964762841,25865,">Seti
+ update - 10:40PM PDT</A></FONT><BR><FONT face=arial size=1><A
+ class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964732235,45502,">Judge
+ gives Napster the Boot!! - 2:10PM PDT</A></FONT><BR><FONT face=arial
+ size=1><A class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964713289,83675,">Ram
+ Sinks.. more cooling for small places. - 8:54AM
+ PDT</A></FONT><BR><FONT face=arial size=1><A class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964671589,7831,">is
+ it [H]ard? - 9:19PM PDT</A></FONT><BR><FONT face=arial size=1><A
+ class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964644047,60218,">WiLd
+ CaSe!! - 1:40PM PDT</A></FONT><BR><FONT face=arial size=1><A
+ class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964631110,84122,">What
+ the heck is a Peltier?!?! - 10:05AM PDT</A></FONT><BR><FONT
+ face=arial size=1><A class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964587833,74573,">HELLO
+ EVERYONE!!! - 10:03PM PDT</A></FONT><BR><FONT face=arial size=1><A
+ class=nav
+ href="http://bp6.gamesquad.net/index.phtml#newsitem964429577,13375,">BP6
+ Q3 server up and running.. - 2:06AM PDT</A></FONT><BR><BR><!-- NP v3.7.5 --><A
+ name=newsitem965012956,78924,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Sunday,
+ July 30, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>Chat with
+ ABIT</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 8:09PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/965012956,78924,.html"><IMG
+ border=0 src="doc3_files/comments.gif">0 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>I&#8217;m slacking a little. All game no
+ work makes Holodeck2 a happy boy :-)<BR><BR>Wallpaper update: I got
+ off my lazy ass and redid the 1280x1024 wall paper, now it has the 2
+ celerons.<BR><BR><B><A href="http://fullon3d.com/chat/abit/"
+ target=3d>Fullon3d had a live chat with that Eric guy from Abit.
+ </A></B>Submitted by: MJS<BR><BR>Here&#8217;s a little clip:<BR>[Falcon]
+ BP6-2??<BR>[EricBoeing] We already have a micro ATX dual flip-chip
+ board<BR>[EricBoeing] but it's OEM only<BR>[EricBoeing] the full ATX
+ version should be out Septemberish<BR></FONT><BR><BR><A
+ name=newsitem964766837,26344,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Thursday,
+ July 27, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>Fixed
+ wallpaper</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 11:47PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964766837,26344,.html"><IMG
+ border=0 src="doc3_files/comments.gif">5 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2><B>Get them now!!</B><BR>This is a
+ fixed bp6 wallpaper. In all the popular flavors, err...
+ resolutions.<BR><IMG height=180 src="doc3_files/3-800.jpg"
+ width=240><BR>It's still the Intels Inside one with a spelling
+ change; from "Mothboard" to "Motherboard"<BR><BR>Thanks to Matt for
+ pointing that out to me.<BR>I would also like to thank Kevin for
+ hosting my last batch and Radu for the previous "DUEL"/"DUAL"
+ error.<BR>And 1 more person, THANK YOU TIM for letting me borrow
+ your server space ;-)<BR><BR>If you need a weird resolution, feel
+ free to <A href="mailto:Holodeck2@home.com">e-mail</A> me requesting
+ for one.<BR>If you have ideas or more errors to point out, <A
+ href="mailto:Holodeck2@home.com">mailto:Holodeck2@home.com</A><BR><BR><A
+ href="doc3_files/3-800.jpg" target=800>800x600 </A><BR><A
+ href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1024.jpg"
+ target=800>1024x768 </A><BR><A
+ href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1152.jpg"
+ target=800>1152x864 </A><BR><A
+ href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1280x1024.jpg"
+ target=800>1280x1024 </A><BR><A
+ href="http://www.bp6.com/pics/holodeck2/wallpaper/3-1600.jpg"
+ target=800>1600x1200 </A><BR>
+ <P>Enjoy :-)<BR>
+ <P><A href="mailto:Holodeck2@home.com">Holodeck2,</A><BR>[H]ard at
+ work on the Brand Spanking New Wallpaper.<BR></FONT><BR><BR><A
+ name=newsitem964762841,25865,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>Seti update</FONT></U></B><BR><FONT
+ color=#0066cc face=Arial size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 10:40PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964762841,25865,.html"><IMG
+ border=0 src="doc3_files/comments.gif">5 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2><IMG height=54
+ src="doc3_files/setiupdate.jpg" width=400><BR>You like the
+ pic?<BR><BR>Bp6 User Group Update:<BR>Completed 61531
+ units!!<BR><B>#168 on Top 200 All Groups</B> (Going to pass CLRC in
+ a few days)<BR><B>#74 on Top 200 Teams</B> (Gaining fast on
+ Starfleet)<BR><BR>We are flying though at the speed of light (may be
+ a little slower).<BR>Good job everyone!!<BR><BR>Check this page at
+ least once a day for new stuff :-)<BR></FONT><BR><BR><A
+ name=newsitem964732235,45502,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>Judge gives Napster the
+ Boot!!</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 2:10PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964732235,45502,.html"><IMG
+ border=0 src="doc3_files/comments.gif">0 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Good afternoon for everyone living in
+ EST. I was going to post today morning but I didn't. Here's my
+ story:<BR>I woke up and thought about posting something but I
+ decided to wax my car before the sun came up (draw your own
+ conclusions), wax on, wax off, wax on,..., did that for about an
+ hour. Then I saw the sun rise (Aaahh I'm melting... not). I sat in
+ front of my comp and started to search for good news to post. Saw
+ that a stoopid judge temporally shuts down napster. Goes to room and
+ cry. and now I'm here :-)<BR><BR><A
+ href="http://www.msnbc.com/news/437532.asp"
+ target="Judge vs Napster">Judge shuts Napster down
+ <P><IMG height=143 src="doc3_files/669915.jpg"
+ width=200></A><BR>Check out the Goofy guy in the suit<BR>He's Sean
+ Fanning, founder of Napster.<BR><BR>Got news?? <A
+ href="mailto:Holodeck2@home.com">mailto:Holodeck2@home.com</A><BR></FONT><BR><BR><A
+ name=newsitem964713289,83675,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>Ram Sinks.. more cooling for small
+ places.</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:tim@bp6.com">tim</A> @ 8:54AM PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964713289,83675,.html"><IMG
+ border=0 src="doc3_files/comments.gif">0 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Need some cooling for your Videocard
+ memory to get a little extra overclockability and FPS? <A
+ href="http://www.overclockershideout.com/RamSinks.html"
+ target=_BLANK>Overclockers Hiedout Ram Sinks</A> They just notified
+ me of their new design.<BR><IMG border=1
+ src="doc3_files/ramsink.jpg"></FONT><BR><BR><A
+ name=newsitem964671589,7831,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial
+ size=2><B>Wednesday, July 26,
+ 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>is it
+ [H]ard?</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 9:19PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964671589,7831,.html"><IMG
+ border=0 src="doc3_files/comments.gif">0 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Big heatsinks are good, very good. The
+ bigger the better.<BR>You can never can have a too big of heatsink
+ on a small chip (CPU, GPU, CHIPSET, etc)<BR><BR><IMG height=173
+ src="doc3_files/voodooside2.jpg" width=230><BR>My overclocked
+ Voodoo3 2000 with a BIG mofo heatsink on top.<BR>Peltier and
+ watercooling next up :-)<BR>(if you pry off the heatsink you void
+ the warranty )<BR><BR>it was originally posted on <A
+ href="http://www.hardocp.com/">[H]ardOCP </A><BR>I&#8217;m not only a
+ BP6er but also a [H]ardOCPer<BR></FONT><BR><BR><A
+ name=newsitem964644047,60218,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>WiLd CaSe!!</FONT></U></B><BR><FONT
+ color=#0066cc face=Arial size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 1:40PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964644047,60218,.html"><IMG
+ border=0 src="doc3_files/comments.gif">8 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Now this person really knows how to
+ keep his case cool!!<BR>Addin an 18" Fan!! WOW!!<BR><BR><A
+ href="http://www.envador.com/Photos/PVCII/" target=_blank><IMG
+ src="doc3_files/TN_OpenedUp1.jpg"></A><BR>Click to go to his
+ site.<BR></FONT><BR><BR><A
+ name=newsitem964631110,84122,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>What the heck is a
+ Peltier?!?!</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 10:05AM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964631110,84122,.html"><IMG
+ border=0 src="doc3_files/comments.gif">6 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>This is for all you people who wanted
+ to know what a peltier is.<BR><BR>The quest fo the Perfect
+ Peltier<BR><A
+ href="http://www.tweakmax.com/html/peltier/peltier-1.cfm"
+ target=_blank><IMG src="doc3_files/peltier.jpg"></A> <BR>Thanks to
+ <A href="http://www.tweakmax.com/" target=_blank>TweakMax.com</A>
+ <BR><BR>Note: Today morning when I woke up I saw my whole screen
+ cluttered with a bunch of IMs!! I live in the USA on EST. If you
+ live somewhere else please check the time in my area. for example:
+ If you live in Europe and IM me in the morning your time I would be
+ sleeping it would be like 4 in the morning here. Just to let you
+ know <IMG src="doc3_files/smile.gif"><BR>I'm not angry at anyone...
+ good thing I have a long fuse <IMG
+ src="doc3_files/tongue.gif"><BR></FONT><BR><BR><A
+ name=newsitem964587833,74573,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Tuesday,
+ July 25, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>HELLO
+ EVERYONE!!!</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:Holodeck@bp6.com">Holodeck2</A> @ 10:03PM
+ PDT</SMALL>&nbsp; <BR><FONT color=black face=Arial size=2>Hello
+ everyone, Woohoo!! I'm on!!<BR>Who is this Holodeck2 person
+ anyways?!?! Read on :-)<BR>I&#8217;m a regular on the bp6 messageboard,
+ trying to help people out with their problems.<BR>I&#8217;m the
+ self-proclaimed bp6 cooling expert, If you have a cooling idea, I&#8217;ve
+ probably already done it and can offer some incite.<BR>My computer
+ is always on so you can contact me whenever... problem is, I'm not
+ always in front of it. I'll try to update this page and keep
+ everyone happy :-)<BR>Any Questions or comments, you can either
+ contact me or post it on the messageboard.<BR><BR>Ways to contact
+ me.<BR>E-mail: <A
+ href="mailto:Holodeck2@home.com">Holodeck2@home.com</A> (All E-mails
+ will be answered in 24 hours or less, I guarantee it.)<BR>When you
+ write me an e-mail please put in the subject line "BP6" then the
+ rest of your subject so my e-mail program can sort it, thanks<BR><A
+ href="http://www.aol.com/aim">AIM: </A>Holodeck2 (instant response
+ if I&#8217;m in front of my comp and not trying to frag someone)<BR><A
+ href="http://www.icq.com/download">ICQ: </A>82640218 (rarely
+ on)<BR><BR>P.S. If someone named &#8220;Digital Vortex&#8221; on either Quake 3
+ or 2 frags you, it&#8217;s probably me. ;-)<BR></FONT><BR><BR><A
+ name=newsitem964429577,13375,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Monday,
+ July 24, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>BP6 Q3 server up and
+ running..</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:tim@bp6.com">tim</A> @ 2:06AM PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964429577,13375,.html"><IMG
+ border=0 src="doc3_files/comments.gif">3 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Setup a Q3 server for anyone wanting
+ to practice in preparation for Quakecon.. Connect to bp6.dyndns.org
+ default port. (SERVER: BP6 system, 256 MB ram, celeron 600 on a T3
+ connection)... Will be moved to another BP6 server eventually. This
+ is only a temporary test of the system and net connection. <BR>(BTW-
+ there are a few bot's running around in there..)</FONT><BR><BR><A
+ name=newsitem964425184,95812,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>BIOS Savior to the
+ rescue....</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:tim@bp6.com">tim</A> @ 12:53AM PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/964425184,95812,.html"><IMG
+ border=0 src="doc3_files/comments.gif">2 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Do you sweat during the BIOS flashing
+ procedure on your BP6 mobo? If so then this little gadget maybe
+ worth a first look. It's called the "<B>RD1 BIOS Savior</B>" and it
+ plugs in between your BIOS ROM and the BIOS ROM socket on your mobo.
+ This device will backup your BIOS and and allow you to recover your
+ BIOS in the event that your flashing session goes wrong. In the
+ event of a bad flash, just flip a switch on the RDI and boot up your
+ system, and flash again. This is also good as a failsafe in case you
+ don't believe in Virus Protecting your computer. (Thanks to Fred for
+ link)<BR><A href="http://www.ioss.com.tw/eg/rd1/RD1info0004.PDF"
+ target=_NEW>Manufacturers Brochure</A> (PDF Format)<BR><A
+ href="http://192.216.185.10/mwave/doc/A06950.html"
+ target='_BLANK"'>Another info page</A><BR><A
+ href="http://192.216.185.10/mwave/ProdMB-AC-MW.hmx?UID=&amp;CID=&amp;updepts=MB&amp;DNAME=%3Cb%3EMotherboards%3C%2Fb%3E&amp;Back=ProdMB-AC-MW.hmx?"
+ target=_BLANK>Available for about $20</A><BR><BR><IMG
+ src="doc3_files/rd1.jpg"></FONT><BR><BR><A
+ name=newsitem963875853,12731,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Monday,
+ July 17, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>How To
+ Overclock</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 4:17PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963875853,12731,.html"><IMG
+ border=0 src="doc3_files/comments.gif">3 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>For those of you who are new to
+ overclocking, this guide will explain to you how to overclock, and
+ what some of the terms are. Like 'FSB' (what the heck is that!?
+ :0))<BR><BR><A href="http://netkills.qgl.org/a_oc_comp.shtml"
+ target=_blank>How To Overclock</A> </FONT><BR><BR><A
+ name=newsitem963875485,23353,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>The Cardcooler
+ XT</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 4:11PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963875485,23353,.html"><IMG
+ border=0 src="doc3_files/comments.gif">1 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Wow! I am impressed! Nevermind keeping
+ the CPU's cool... Keep your whole board cool!<BR><BR><I>Even if your
+ not overclocking your system (or planning on it), this unit will
+ provide system stability and longevity. What would happen one day of
+ your GeForce or CPU fan went dead? You can also think of this
+ cooling unit as a backup to essential cooling fans in your
+ system.</I><BR><BR>Check this out!<BR><BR><A
+ href="http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml"
+ target=_blank>http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml</A>
+ </FONT><BR><BR><A name=newsitem963859982,88982,></A><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>'Nerd
+ Inside'</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 11:53AM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963859982,88982,.html"><IMG
+ border=0 src="doc3_files/comments.gif">1 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>We all need to have some fun
+ sometimes! Check out this little web site that sells 'nerd' clothing
+ ;) (I like the bibs in the Junior Hackerz section) :-Þ<BR><BR>
+ <DIV align=center><A href="http://www.nerdgear.com/"
+ target=_blank><IMG border=0
+ src="doc3_files/nerdinside.gif"></A></DIV></FONT><BR><BR><A
+ name=newsitem963819796,9688,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>Dual PSU Wiring diagram... (preview to
+ Part 1 Watercooling Project)</FONT></U></B><BR><FONT color=#0066cc
+ face=Arial size=1><SMALL>Posted by <A class=nav
+ href="mailto:tim@bp6.com">tim</A> @ 12:43AM PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963819796,9688,.html"><IMG
+ border=0 src="doc3_files/comments.gif">11 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>When is comes to overclocking your
+ system, cooling plays a big role. Powering all of those fans in your
+ system can cause quite a strain on your PSU (Power Supply Unit).
+ Depending on the number of peripherals in your system, adding a more
+ powerfull PSU or adding a second PSU may be neccesary. For
+ watercooling and using peltiers, dedicating a second PSU to power
+ the Peltiers (TEC's) is a good idea. Here I have come up with 2
+ diagrams on how I wired dual 300 watt ATX power supply units for the
+ Blizzard BP6 watercooling project. Consider this part of Step 1.
+ More will follow this week. BTW.. hacking up your PSU's is very
+ dangerous and is not recommended unless you know what you are doing.
+ <BR><BR>View Diagram 1 <A
+ href="http://bp6.gamesquad.net/images/wiring.jpg"
+ target=_BLANK>here</A>.<BR>View Diagram 2 <A
+ href="http://bp6.gamesquad.net/images/psu2.gif"
+ target=_BLANK>here</A>.<BR><BR>I used Tap-In Squeeze Connectors and
+ 22 guage wire to connect the wires. You can get them at Radio Shack
+ Part# 64-3053 or <A
+ href="http://www.radioshack.com/ProductCatalog/ProductDetail/Index/1,2098,,00.html?SKUString1=64&amp;SKUString2=3053"
+ target=_blank>click here</A>.</FONT><BR><BR><A
+ name=newsitem963766655,78511,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Sunday,
+ July 16, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>RAM Overclocking?
+ Hmmmmm.</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 9:57AM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963766655,78511,.html"><IMG
+ border=0 src="doc3_files/comments.gif">3 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>I know we're pretty big overclockers
+ here at BP6.Com so, this is a post of choice ;-) I've seen the
+ question in the message boards, 'why can't I overclock any higher?'
+ Well, it's not always the CPU that's holding you back... Many other
+ things need to be taken care of to overclock such as your PCI
+ devices (can they handle the higher bus speed), the actual CPU, and
+ your RAM. I'm not saying that that a high quality stick of silicon
+ will enable you to overclock your 366MHz to 1 GHZ (I wish!), but, it
+ will certainly help =)<BR><BR>Extreme Overclocking has tested
+ (overclocked) PC133 RAM to there full potential. Here's a quote I
+ found and the link:<BR><BR><I>Well, the guys at Extreme Overclocking
+ have been hard at work again with their latest review. This time
+ they have put seven 128MB PC133 memory modules through the torture
+ tests to determine their maximum overclocking potential. Which one's
+ came out on top? Read the review to find out....</I><BR><BR><A
+ href="http://www.extremeoverclocking.com/reviews/memory/ram_roundup_1.html"
+ target=_blank>Cooked RAM... Yummie</A><BR><BR>The
+ ÐÐ.</FONT><BR><BR><A name=newsitem963764236,76720,></A><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>CPU
+ Guide</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 9:17AM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963764236,76720,.html"><IMG
+ border=0 src="doc3_files/comments.gif">0 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>A follow up on the 'Weekly CPU
+ Prices', this guide will help you determine which cpu is best for
+ you (and your board ;-)). Sent to me by Spanky, here's the
+ link:<BR><BR>
+ <LI><A
+ href="http://www6.tomshardware.com/howto/00q2/000412/index.html"
+ target=_blank>http://www6.tomshardware.com/howto/00q2/000412/index.html</A></FONT><BR><BR><A
+ name=newsitem963685749,28290,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Saturday,
+ July 15, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>Weekly CPU
+ Prices</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 11:29AM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963685749,28290,.html"><IMG
+ border=0 src="doc3_files/comments.gif">2 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Wow, found this very useful! Wanting
+ to buy a new CPU? Check out this detailed price list!<BR><BR><A
+ href="http://www.sharkyextreme.com/hardware/weekly_cpu/"
+ target=_blank>Click Here.</A> <BR><BR>Thanks Sharky
+ Extreme!</FONT><BR><BR><A
+ name=newsitem963679881,35277,></A><B><U><FONT color=#003366
+ face="Verdana, Arial" size=2>Fast Wallpapers</FONT></U></B><BR><FONT
+ color=#0066cc face=Arial size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 9:51AM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963679881,35277,.html"><IMG
+ border=0 src="doc3_files/comments.gif">0 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>FAST-MHz has released some wallpapers!
+ <A href="http://64.29.18.111/wallpaper/index.html"
+ target=_blank>Click here</A> to view them. They come in sizes
+ 800x600 1024x768 and 1152x864. If you have your desktop set at a
+ larger size, just use the 'stretch' function in desktop properties
+ instead of 'center'. Works great.<BR><BR>In other news, we want to
+ finnish off all the sections at BP6.Com so, to start, we're going to
+ work on the <A href="http://bp6.gamesquad.net/uc.phtml"
+ target=_blank>Picture Gallery</A>. To help us out, you can send in
+ all your cool, wierd, crazy pics that you may have to: <A
+ href="mailto:thedaredevil@bp6.com">thedaredevil@bp6.com</A>. (The
+ topic being computers, duh! :0) And no... I don't want to recieve
+ any porno piccies in my mailbox! I have enough of those!) Kidding
+ guys.<BR><BR>Okay, that's all for now.<BR><BR>The
+ ÐÐ.</FONT><BR><BR><A name=newsitem963619505,3764,></A>
+ <TABLE bgColor=#003399 width="100%">
+ <TBODY>
+ <TR>
+ <TD><FONT color=#ffffff face=Verdana,arial size=2><B>Friday,
+ July 14, 2000</B></FONT></TD></TR></TBODY></TABLE><BR><!--<hr noshade width=100%>--><B><U><FONT
+ color=#003366 face="Verdana, Arial" size=2>Hey
+ There!</FONT></U></B><BR><FONT color=#0066cc face=Arial
+ size=1><SMALL>Posted by <A class=nav
+ href="mailto:killz@i82hq.com">DareDevil</A> @ 5:05PM
+ PDT</SMALL>&nbsp; <A
+ href="http://bp6.gamesquad.net/news/963619505,3764,.html"><IMG
+ border=0 src="doc3_files/comments.gif">7 comments</A>
+ &nbsp;|&nbsp;<A
+ href="http://bp6.gamesquad.net/#news_top">top</A></FONT> <BR><FONT
+ color=black face=Arial size=2>Hey guys, just wanted to introduce
+ myself, some of you may have already met me on the BP6.com board.
+ I'll be posting up news from time to time now so, if you'd like, you
+ may send me some news to be posted if you find any ( we don't want
+ to flood Tim ;-) ).<BR><BR>My e-mail address is <A
+ href="mailto:killz@i82hq.com">killz@i82hq.com</A><BR><BR>Ciao for
+ now.<BR><BR>The ÐÐ.</FONT><BR><BR>
+ <CENTER><IFRAME frameBorder=0 height=60 marginHeight=0 marginWidth=0
+ noResize scrolling=no src="doc3_files/ad_iframe.htm"
+ width=468><a href="http://ads.adflight.com/go_static.asp?asid=7708" target="_top"><img width=468 height=60 border=0 alt="Advertisement" src="http://ads.adflight.com/ad_static.asp?pid=2097&sid=1881&asid=7708"></a></IFRAME></CENTER></LI></FONT></TD></TR></TBODY></TABLE></CENTER></P></TD>
+ <TD bgColor=silver vAlign=top width="10%">
+ <CENTER>
+ <P>
+ <TABLE bgColor=silver border=0 cellPadding=0 cellSpacing=0 width="100%">
+ <TBODY>
+ <TR>
+ <TD COLSTART="1">
+ <CENTER><!-- <FORM ACTION="/cgi-bin/subscribe.pl" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
+ <IMG SRC="/images/spacer.gif" WIDTH="111" HEIGHT="1"><BR>
+ <P><B><FONT SIZE="2" COLOR="#000066" FACE="Verdana">Newsletter</FONT></B><FONT SIZE="1" FACE="Verdana"><BR>
+ <INPUT TYPE="TEXT" NAME="email" SIZE="10" VALUE="ur@email.com"><BR>
+ <INPUT TYPE="HIDDEN" NAME="subscribe" SIZE="-1" VALUE="subscribe"><INPUT TYPE="IMAGE" SRC="/images/subscribe.gif" WIDTH="80"
+ HEIGHT="27" ALIGN="BOTTOM" BORDER="0"></FONT>
+ </FORM> -->
+ <FORM
+ action=http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?emaillist
+ method=post><IMG height=1 src="doc3_files/spacer.gif"
+ width=111><BR><FONT size=1>Newsletter<BR><INPUT name=npemail size=13
+ value="e-mail addr."><BR><INPUT name=npsubscribe style="BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold" type=submit value=Subscribe><BR><!-- <input type="submit" name="npunsubscribe" value="Unsubscribe" style="font-size: xx-small; font-family: Verdana; font-weight: bold; color: #ffffff; background-color: #000000;"> --></FONT></FORM><FONT
+ size=1>
+ <FORM
+ action=http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?search
+ method=post>Search news<BR><INPUT name=searchstring size=13><BR><INPUT name=submit style="BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold" type=submit value=Submit><BR><A
+ href="http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?newsall">News
+ archive</A></FONT> </FORM></CENTER></TD></TR></TBODY></TABLE><!-- <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BGCOLOR="silver">
+ <TR>
+ <TD WIDTH="100%">
+ <P ALIGN="CENTER"><A HREF="http://www.free56k.com" target="_blank"><IMG SRC="/images/free56k.gif" WIDTH="100" HEIGHT="49"
+ ALIGN="BOTTOM" BORDER="0"></A>
+ </TD>
+ </TR>
+ </TABLE>
+-->
+ <TABLE bgColor=silver border=0 cellPadding=0 cellSpacing=0 width="100%">
+ <TBODY>
+ <TR>
+ <TD align=middle width="100%"><!-- BEGIN GoTo.com Search Box -->
+ <SCRIPT language=javascript type=text/javascript>
+ <!--
+ if ((parseInt(navigator.appVersion) >= 3)
+ && (navigator.appName != "Netscape")) {
+ document.write("<IFRAME marginheight=0 frameborder=0 ");
+ document.write("marginwidth=0 scrolling=no width=100 height");
+ document.write("=90 ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=html&size=100x90&url=http://www.goto.co");
+ document.write("m/d/search/ssn/&target=_blank&Partner=SSN80");
+ document.write("42DF8478957377></IFRAME>");
+ } else if ((parseInt(navigator.appVersion) > 3)
+ && (navigator.appName == "Netscape")) {
+ document.write("<SCRIPT language=javascript type=text/javas");
+ document.write("cript ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=js&size=100x90&url=http://www.goto.com/");
+ document.write("d/search/ssn/&target=_blank&Partner=SSN8042");
+ document.write("DF8478957377></SC");
+ document.write("RIPT>");
+ } else {
+ document.write("<A TARGET=_blank ");
+ document.write("HREF=http://www.goto.com/d/search/ssn/?from");
+ document.write("GIF=true>");
+ document.write("<IMG ismap ");
+ document.write("SRC=http://www.goto.com/d/ssn/dynconsole/?t");
+ document.write("ype=gif&size=100x90></A>");
+ }
+ // -->
+ </SCRIPT>
+ <B><NOSCRIPT></B><A
+ href="http://www.goto.com/d/search/ssn/?fromGIF=true"
+ target=_blank><IMG align=bottom border=0 height=90 isMap
+ src="doc3_files/100x90.gif" width=100></A><B><A
+ href="http://www.goto.com/d/search/ssn/?fromGIF=true" target=_blank>
+ </A></A></B><B></NOSCRIPT></B><B><!-- END GoTo.com Search Box --></B><!-- Pricewatch Search Box -->
+ <FORM action=http://www.pricewatch.com/search/search.asp method=get
+ target=_Blank>
+ <CENTER>
+ <P><B><FONT color=white face="ARIAL, HELVETICA" size=1>PC Price
+ Search<BR></FONT></B><INPUT maxLength=30 name=criteria size=10><BR><INPUT name=submit style="BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold" type=submit value=Search>
+ </FORM><!-- Pricewatch Search Box --><A
+ href="http://www.puicorp.com/bp6specials.htm" target=_BLANK><IMG
+ src="doc3_files/puibp6.gif"></A><BR><BR><BR><BR><A
+ href="http://store.yahoo.com/dunamis-site/maxtor.html"
+ target=_BLANK><IMG
+ alt="BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount"
+ src="doc3_files/hd5.gif"><FONT size=1><BR>BP6.COM
+ Special<BR>Code:BP6-hd</FONT></A> </P></CENTER></TD></TR></TBODY></TABLE>
+ <TABLE bgColor=silver border=0 cellPadding=0 cellSpacing=0 height="100%"
+ width="100%">
+ <TBODY>
+ <TR>
+ <TD
+width="100%">&nbsp;</TD></TR></TBODY></TABLE></P></CENTER></TR></TBODY></TABLE><!-- </TABLE>-->
+<CENTER></CENTER></TD></TR><TR><TD COLSPAN="3" VALIGN="TOP"
+HEIGHT="70">&nbsp;</TD> </TR></TABLE>
+<TABLE border=0 width=780>
+ <TBODY>
+ <TR>
+ <TD width=780>
+ <P align=center><FONT color=#999999 face=verdana,arial size=1>Copyright
+ ©1999-2000 BP6.com, All rights reserved.<BR>Got news? Send it to </FONT><A
+ href="mailto:tim@bp6.com"><FONT color=white face=Verdana
+ size=1>Tim</FONT></A> </P></TD></TR><!-- <TR> <TD WIDTH="780"> <P ALIGN="CENTER"><FONT SIZE="1" COLOR="#999999" FACE="Verdana,arial">Site design by Tim Brinkley</FONT> </TD> </TR> --></TBODY></TABLE></DIV>
+<SCRIPT> window.open=NS_ActualOpen; </SCRIPT>
+</BODY></HTML>
diff --git a/test/HTML/entities.html b/test/HTML/entities.html
new file mode 100644
index 00000000..97aeb147
--- /dev/null
+++ b/test/HTML/entities.html
@@ -0,0 +1,5 @@
+<p tst="a&amp;b" tst2="a&b" tst3="a & b">
+a&amp;b
+a&b
+a & b
+</p>
diff --git a/testHTML.c b/testHTML.c
index 7cd3a5eb..85e2e82d 100644
--- a/testHTML.c
+++ b/testHTML.c
@@ -403,12 +403,14 @@ endElementDebug(void *ctx, const xmlChar *name)
void
charactersDebug(void *ctx, const xmlChar *ch, int len)
{
+ char output[40];
int i;
- fprintf(stdout, "SAX.characters(");
- for (i = 0;(i < len) && (i < 30);i++)
- fprintf(stdout, "%c", ch[i]);
- fprintf(stdout, ", %d)\n", len);
+ for (i = 0;(i<len) && (i < 30);i++)
+ output[i] = ch[i];
+ output[i] = 0;
+
+ fprintf(stdout, "SAX.characters(%s, %d)\n", output, len);
}
/**
@@ -437,8 +439,14 @@ referenceDebug(void *ctx, const xmlChar *name)
void
ignorableWhitespaceDebug(void *ctx, const xmlChar *ch, int len)
{
- fprintf(stdout, "SAX.ignorableWhitespace(%.30s, %d)\n",
- (char *) ch, len);
+ char output[40];
+ int i;
+
+ for (i = 0;(i<len) && (i < 30);i++)
+ output[i] = ch[i];
+ output[i] = 0;
+
+ fprintf(stdout, "SAX.ignorableWhitespace(%s, %d)\n", output, len);
}
/**
@@ -571,21 +579,78 @@ void parseSAXFile(char *filename) {
/*
* Empty callbacks for checking
*/
- doc = htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL);
- if (doc != NULL) {
- fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
- xmlFreeDoc(doc);
- }
+ if (push) {
+ FILE *f;
+
+ f = fopen(filename, "r");
+ if (f != NULL) {
+ int res, size = 3;
+ char chars[4096];
+ htmlParserCtxtPtr ctxt;
- if (!noout) {
- /*
- * Debug callback
- */
- doc = htmlSAXParseFile(filename, NULL, debugSAXHandler, NULL);
+ /* if (repeat) */
+ size = 4096;
+ res = fread(chars, 1, 4, f);
+ if (res > 0) {
+ ctxt = htmlCreatePushParserCtxt(emptySAXHandler, NULL,
+ chars, res, filename, 0);
+ while ((res = fread(chars, 1, size, f)) > 0) {
+ htmlParseChunk(ctxt, chars, res, 0);
+ }
+ htmlParseChunk(ctxt, chars, 0, 1);
+ doc = ctxt->myDoc;
+ htmlFreeParserCtxt(ctxt);
+ }
+ if (doc != NULL) {
+ fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
+ xmlFreeDoc(doc);
+ }
+ fclose(f);
+ }
+ if (!noout) {
+ f = fopen(filename, "r");
+ if (f != NULL) {
+ int res, size = 3;
+ char chars[4096];
+ htmlParserCtxtPtr ctxt;
+
+ /* if (repeat) */
+ size = 4096;
+ res = fread(chars, 1, 4, f);
+ if (res > 0) {
+ ctxt = htmlCreatePushParserCtxt(debugSAXHandler, NULL,
+ chars, res, filename, 0);
+ while ((res = fread(chars, 1, size, f)) > 0) {
+ htmlParseChunk(ctxt, chars, res, 0);
+ }
+ htmlParseChunk(ctxt, chars, 0, 1);
+ doc = ctxt->myDoc;
+ htmlFreeParserCtxt(ctxt);
+ }
+ if (doc != NULL) {
+ fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
+ xmlFreeDoc(doc);
+ }
+ fclose(f);
+ }
+ }
+ } else {
+ doc = htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL);
if (doc != NULL) {
fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
xmlFreeDoc(doc);
}
+
+ if (!noout) {
+ /*
+ * Debug callback
+ */
+ doc = htmlSAXParseFile(filename, NULL, debugSAXHandler, NULL);
+ if (doc != NULL) {
+ fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
+ xmlFreeDoc(doc);
+ }
+ }
}
}
@@ -601,11 +666,11 @@ void parseAndPrintFile(char *filename) {
f = fopen(filename, "r");
if (f != NULL) {
int res, size = 3;
- char chars[1024];
+ char chars[4096];
htmlParserCtxtPtr ctxt;
- if (repeat)
- size = 1024;
+ /* if (repeat) */
+ size = 4096;
res = fread(chars, 1, 4, f);
if (res > 0) {
ctxt = htmlCreatePushParserCtxt(NULL, NULL,
@@ -617,6 +682,7 @@ void parseAndPrintFile(char *filename) {
doc = ctxt->myDoc;
htmlFreeParserCtxt(ctxt);
}
+ fclose(f);
}
} else {
doc = htmlParseFile(filename, NULL);
diff --git a/testSAX.c b/testSAX.c
index e5568fc4..fc1f573e 100644
--- a/testSAX.c
+++ b/testSAX.c
@@ -402,12 +402,14 @@ endElementDebug(void *ctx, const xmlChar *name)
void
charactersDebug(void *ctx, const xmlChar *ch, int len)
{
+ char output[40];
int i;
- fprintf(stdout, "SAX.characters(");
- for (i = 0;(i < len) && (i < 30);i++)
- fprintf(stdout, "%c", ch[i]);
- fprintf(stdout, ", %d)\n", len);
+ for (i = 0;(i<len) && (i < 30);i++)
+ output[i] = ch[i];
+ output[i] = 0;
+
+ fprintf(stdout, "SAX.characters(%s, %d)\n", output, len);
}
/**
@@ -436,8 +438,13 @@ referenceDebug(void *ctx, const xmlChar *name)
void
ignorableWhitespaceDebug(void *ctx, const xmlChar *ch, int len)
{
- fprintf(stdout, "SAX.ignorableWhitespace(%.30s, %d)\n",
- (char *) ch, len);
+ char output[40];
+ int i;
+
+ for (i = 0;(i<len) && (i < 30);i++)
+ output[i] = ch[i];
+ output[i] = 0;
+ fprintf(stdout, "SAX.ignorableWhitespace(%s, %d)\n", output, len);
}
/**
diff --git a/tree.c b/tree.c
index a686ff13..bb4d2f45 100644
--- a/tree.c
+++ b/tree.c
@@ -793,7 +793,8 @@ xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine) {
if (list == NULL) return(NULL);
while (node != NULL) {
- if (node->type == XML_TEXT_NODE) {
+ if ((node->type == XML_TEXT_NODE) ||
+ (node->type == XML_CDATA_SECTION_NODE)) {
if (inLine) {
#ifndef XML_USE_BUFFER_CONTENT
ret = xmlStrcat(ret, node->content);
@@ -1909,6 +1910,62 @@ xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
}
/**
+ * xmlAddChildList:
+ * @parent: the parent node
+ * @cur: the first node in the list
+ *
+ * Add a list of node at the end of the child list of the parent
+ *
+ * Returns the last child or NULL in case of error.
+ */
+xmlNodePtr
+xmlAddChildList(xmlNodePtr parent, xmlNodePtr cur) {
+ xmlNodePtr prev;
+
+ if (parent == NULL) {
+#ifdef DEBUG_TREE
+ fprintf(stderr, "xmlAddChild : parent == NULL\n");
+#endif
+ return(NULL);
+ }
+
+ if (cur == NULL) {
+#ifdef DEBUG_TREE
+ fprintf(stderr, "xmlAddChild : child == NULL\n");
+#endif
+ return(NULL);
+ }
+
+ if ((cur->doc != NULL) && (parent->doc != NULL) &&
+ (cur->doc != parent->doc)) {
+#ifdef DEBUG_TREE
+ fprintf(stderr, "Elements moved to a different document\n");
+#endif
+ }
+
+ /*
+ * add the first element at the end of the children list.
+ */
+ if (parent->children == NULL) {
+ parent->children = cur;
+ } else {
+ prev = parent->last;
+ prev->next = cur;
+ cur->prev = prev;
+ }
+ while (cur->next != NULL) {
+ cur->parent = parent;
+ cur->doc = parent->doc; /* the parent may not be linked to a doc ! */
+ cur = cur->next;
+ }
+ cur->parent = parent;
+ cur->doc = parent->doc; /* the parent may not be linked to a doc ! */
+ parent->last = cur;
+
+ return(cur);
+}
+
+/**
* xmlAddChild:
* @parent: the parent node
* @cur: the child node
diff --git a/tree.h b/tree.h
index 00f4ee6d..a3ae15fd 100644
--- a/tree.h
+++ b/tree.h
@@ -508,6 +508,8 @@ void xmlNodeSetName (xmlNodePtr cur,
const xmlChar *name);
xmlNodePtr xmlAddChild (xmlNodePtr parent,
xmlNodePtr cur);
+xmlNodePtr xmlAddChildList (xmlNodePtr parent,
+ xmlNodePtr cur);
xmlNodePtr xmlReplaceNode (xmlNodePtr old,
xmlNodePtr cur);
xmlNodePtr xmlAddSibling (xmlNodePtr cur,
diff --git a/valid.c b/valid.c
index 3fb79114..41c04d1c 100644
--- a/valid.c
+++ b/valid.c
@@ -293,6 +293,16 @@ xmlCopyElementContent(xmlElementContentPtr cur) {
void
xmlFreeElementContent(xmlElementContentPtr cur) {
if (cur == NULL) return;
+ switch (cur->type) {
+ case XML_ELEMENT_CONTENT_PCDATA:
+ case XML_ELEMENT_CONTENT_ELEMENT:
+ case XML_ELEMENT_CONTENT_SEQ:
+ case XML_ELEMENT_CONTENT_OR:
+ break;
+ default:
+ fprintf(stderr, "xmlFreeElementContent : type %d\n", cur->type);
+ return;
+ }
if (cur->c1 != NULL) xmlFreeElementContent(cur->c1);
if (cur->c2 != NULL) xmlFreeElementContent(cur->c2);
if (cur->name != NULL) xmlFree((xmlChar *) cur->name);
@@ -455,7 +465,7 @@ xmlCreateElementTable(void) {
ret->nb_elements = 0;
ret->table = (xmlElementPtr *)
xmlMalloc(ret->max_elements * sizeof(xmlElementPtr));
- if (ret == NULL) {
+ if (ret->table == NULL) {
fprintf(stderr, "xmlCreateElementTable : xmlMalloc(%ld) failed\n",
ret->max_elements * (long)sizeof(xmlElement));
xmlFree(ret);
@@ -877,7 +887,7 @@ xmlCreateAttributeTable(void) {
ret->nb_attributes = 0;
ret->table = (xmlAttributePtr *)
xmlMalloc(ret->max_attributes * sizeof(xmlAttributePtr));
- if (ret == NULL) {
+ if (ret->table == NULL) {
fprintf(stderr, "xmlCreateAttributeTable : xmlMalloc(%ld) failed\n",
ret->max_attributes * (long)sizeof(xmlAttributePtr));
xmlFree(ret);
@@ -1348,7 +1358,7 @@ xmlCreateNotationTable(void) {
ret->nb_notations = 0;
ret->table = (xmlNotationPtr *)
xmlMalloc(ret->max_notations * sizeof(xmlNotationPtr));
- if (ret == NULL) {
+ if (ret->table == NULL) {
fprintf(stderr, "xmlCreateNotationTable : xmlMalloc(%ld) failed\n",
ret->max_notations * (long)sizeof(xmlNotation));
xmlFree(ret);
@@ -1617,7 +1627,7 @@ xmlCreateIDTable(void) {
ret->nb_ids = 0;
ret->table = (xmlIDPtr *)
xmlMalloc(ret->max_ids * sizeof(xmlIDPtr));
- if (ret == NULL) {
+ if (ret->table == NULL) {
fprintf(stderr, "xmlCreateIDTable : xmlMalloc(%ld) failed\n",
ret->max_ids * (long)sizeof(xmlID));
xmlFree(ret);
@@ -1896,7 +1906,7 @@ xmlCreateRefTable(void) {
ret->nb_refs = 0;
ret->table = (xmlRefPtr *)
xmlMalloc(ret->max_refs * sizeof(xmlRefPtr));
- if (ret == NULL) {
+ if (ret->table == NULL) {
fprintf(stderr, "xmlCreateRefTable : xmlMalloc(%ld) failed\n",
ret->max_refs * (long)sizeof(xmlRef));
xmlFree(ret);
@@ -3544,7 +3554,7 @@ xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
VERROR(ctxt->userData, "Text element has namespace !\n");
return(0);
}
- if (elem->ns != NULL) {
+ if (elem->nsDef != NULL) {
VERROR(ctxt->userData,
"Text element carries namespace definitions !\n");
return(0);
diff --git a/xmllint.c b/xmllint.c
index f4469068..b3939304 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -31,6 +31,10 @@
#endif
#ifdef HAVE_SYS_MMAN_H
#include <sys/mman.h>
+/* seems needed for Solaris */
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *) -1)
+#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>