//************************************************************************** // // // National Institute Of Standards and Technology // DTS Version 1.0 // // // // Ported to System.Xml by: Mizrahi Rafael rafim@mainsoft.com // Mainsoft Corporation (c) 2003-2004 // //************************************************************************** using System; using System.Xml; using MonoTests.Helpers; namespace nist_dom { public class XmlNodeArrayList : XmlNodeList { System.Collections.ArrayList _rgNodes; public XmlNodeArrayList (System.Collections.ArrayList rgNodes) { _rgNodes = rgNodes; } public override int Count { get { return _rgNodes.Count; } } public override System.Collections.IEnumerator GetEnumerator () { return _rgNodes.GetEnumerator (); } public override XmlNode Item (int index) { // Return null if index is out of range. by DOM design. if (index < 0 || _rgNodes.Count <= index) return null; return (XmlNode) _rgNodes [index]; } } public class testResults { public string name; public string description; public string expected; public string actual; public testResults(string name) { // get the name of the calling function this.name = name; // // define some methods // //this.description = set_description(); //this.expected = set_expected(); //this.actual = set_actual(); // this.toString = set_toString; } public void set_description(string description) { this.description = description; } public void set_expected (string expected) { this.expected = expected;} public void set_actual (string actual) { this.actual = actual; } public void set_toString() { System.Console.WriteLine("name = "+this.name+"
"); System.Console.WriteLine("Description = "+this.description+"
"); System.Console.WriteLine("Expected Value = "+this.expected+"
"); System.Console.WriteLine("Actual Value = "+this.actual+"
"); } } /// /// Summary description for util. /// public class util { public static System.Xml.XmlDocument masterDoc = new System.Xml.XmlDocument();//"files/staff.xml" public static System.Xml.XmlDocument originalDoc = new System.Xml.XmlDocument();//"files/staff.xml" public static System.Xml.XmlDocument masterXML = new System.Xml.XmlDocument();//"files/staff.html" public static System.Xml.XmlDocument otherDoc = new System.Xml.XmlDocument();//"files/otherDoc.xml" public static System.Xml.XmlDocument HTMLDoc = new System.Xml.XmlDocument();//"files/staff.html" public static System.Xml.XmlDocument noDTDXMLObject = new System.Xml.XmlDocument();//"files/noDTDXMLfile.xml" // cWin = self.parent.viewer; //public static System.Xml.XmlDocument vdoc; // = cWin.document; public static System.IO.StreamWriter vdoc = null; // dWin = self.parent.test; public static System.Xml.XmlDocument testdoc; // = dWin.document; // fWin = self.parent.frameddoc; public static System.Xml.XmlDocument framesetdoc; // = fWin.document; // oWin = self.parent.original; public static System.Xml.XmlDocument originaldoc; // = oWin.document; // // var Interfaces = new Object(); // // iform = parent.interfaces.selectInterface; // testInterface = iform.interface.options[iform.interface.selectedIndex].Value; // cform = parent.categories.selectCategory; // testCategory = cform.category.options[cform.category.selectedIndex].Value; // public static string passColor = "#00FFFF"; public static string failColor = "#FF0000"; // public static System.Xml.XmlNode _node; // public static System.Xml.XmlAttributeCollection _attributes; // public static System.Xml.XmlNodeList _subNodes; static util() { try { //System.Console.WriteLine(System.IO.Directory.GetCurrentDirectory()); masterDoc.Load(TestResourceHelper.GetFullPathOfResource ("Test/System.Xml/nist_dom/files/staff.xml")); originalDoc.Load(TestResourceHelper.GetFullPathOfResource ("Test/System.Xml/nist_dom/files/staff.xml")); masterXML.Load(TestResourceHelper.GetFullPathOfResource ("Test/System.Xml/nist_dom/files/staff.html")); otherDoc.Load(TestResourceHelper.GetFullPathOfResource ("Test/System.Xml/nist_dom/files/otherDoc.xml")); HTMLDoc.Load(TestResourceHelper.GetFullPathOfResource ("Test/System.Xml/nist_dom/files/staff.html")); noDTDXMLObject.Load(TestResourceHelper.GetFullPathOfResource ("Test/System.Xml/nist_dom/files/noDTDXMLfile.xml")); } catch (System.Exception ex) { System.Console.WriteLine(ex.Message); System.Console.WriteLine(ex.StackTrace); } } // *********************************************************************** // SUPPORTING ROUTINES AND DEFINITIONS //************************************************************************ public static string SUCCESS = "Passed"; public static string FAILED = "Failed"; // // General defs. // public static string saved = ""; public static int MAXEMPLOYEES = 5; public static int NODE = 1; public static int INDEXING = 2; public static string employee = "employee"; public static string rootNode = "staff"; public static string pass = "Passed"; public static string fail = "Failed"; public static int FIRST = 0; public static int SECOND = 1; public static int THIRD = 2; public static int FOURTH = 3; public static int FIFTH = 4; public static int SIXTH = 5; public static int SEVENTH = 6; public static int EIGHT = 7; public static int NINETH = 8; public static int TENTH = 9; public static int ELEVENTH = 10; public static int TWELVETH = 11; public static int THIRDTEENTH = 12; public static string BODY = "BODY"; public static string TITLE = "TITLE"; public static string H1 = "H1"; public static string H2 = "H2"; public static string H3 = "H3"; public static string H4 = "H4"; public static string H5 = "H5"; public static string H6 = "H6"; public static string BR = "BR"; public static string TABLE = "TABLE"; public static string IMG = "IMG"; public static string OBJECT = "OBJECT"; public static string FONT = "FONT"; public static string BASEFONT = "BASEFONT"; public static string MAP = "MAP"; public static string AREA = "AREA"; public static string P = "P"; public static string OL = "OL"; public static string UL = "UL"; public static string DL = "DL"; public static string HR = "HR"; public static string HTML = "HTML"; public static string HEAD = "HEAD"; public static string LINK = "LINK"; public static string META = "META"; public static string BASE = "BASE"; public static string FORM = "FORM"; public static string SELECT = "SELECT"; public static string OPTION = "OPTION"; public static string Q = "Q"; public static string BLOCKQUOTE = "BLOCKQUOTE"; public static string COL = "COL"; public static string COLGROUP = "COLGROUP"; public static string PRE = "PRE"; public static string DIV = "DIV"; public static string INS = "INS"; public static string DEL = "DEL"; public static string DIR = "DIR"; public static string APPLET = "APPLET"; public static string OPTGROUP = "OPTGROUP"; public static string SCRIPT = "SCRIPT"; public static string PARAM = "PARAM"; public static string ISINDEX = "ISINDEX"; public static string INPUT = "INPUT"; public static string BUTTON = "BUTTON"; public static string LABEL = "LABEL"; public static string TEXTAREA = "TEXTAREA"; public static string FIELDSET = "FIELDSET"; public static string ANCHOR = "A"; public static string FRAMESET = "FRAMESET"; public static string FRAME = "FRAME"; public static string IFRAME = "IFRAME"; public static string LEGEND = "LEGEND"; public static string MENU = "MENU"; //public static string IFRAME = "IFRAME"; public static string STYLE = "STYLE"; public static string LI = "LI"; public static string SUB = "SUB"; public static string SUP = "SUP"; public static string SPAN = "SPAN"; public static string BDO = "BDO"; public static string TT = "TT"; public static string I = "I"; public static string B = "B"; public static string U = "U"; public static string S = "S"; public static string STRIKE = "STRIKE"; public static string BIG = "BIG"; public static string SMALL = "SMALL"; public static string EM = "EM"; public static string STRONG = "STRONG"; public static string DFN = "DFN"; public static string CODE = "CODE"; public static string SAMP = "SAMP"; public static string KBD = "KBD"; public static string VAR = "VAR"; public static string CITE = "CITE"; public static string ACRONYM = "ACRONYM"; public static string ABBR = "ABBR"; public static string DT = "DT"; public static string DD = "DD"; public static string NOFRAMES = "NOFRAMES"; public static string NOSCRIPT = "NOSCRIPT"; public static string ADDRESS = "ADDRESS"; public static string CENTER = "CENTER"; public static string TD = "TD"; public static string TBODY = "TBODY"; public static string TFOOT = "TFOOT"; public static string THEAD = "THEAD"; public static string TR = "TR"; public static string TH = "TH"; // // Base URL's for tests depending on specific URL's // // BASE1 - The URI returned by the "referrer" attribute (Document interface). // BASE2 - The string returned by the "domain" attribute (Document interface). // BASE3 - The URI returned by the "URL" attribute (Document interface). // BASE4 - The URI returned by the "codebase" attribute (Applet interface). // BASE5 - ThE URI returned by the "codeBase" attribute (Object interface). // BASE6 - The URI returned by the "href" attribute (Base interface). // public static string BASE1 = "HTTP://XW2K.SDCT.ITL.NIST.GOV/BRADY/DOM/INDEX.HTML"; public static string BASE2 = "XW2K.SDCT.ITL.NIST.GOV"; public static string BASE3 = "HTTP://XW2K.SDCT.ITL.NIST.GOV/BRADY/DOM/FILES/TEST.HTML"; public static string BASE4 = "HTTP://XW2K.SDCT.ITL.NIST.GOV/BRADY/DOM/FILES/"; public static string BASE5 = "HTTP://XW2K.SDCT.ITL.NIST.GOV/BRADY/DOM/"; public static string BASE6 = "HTTP://XW2K.SDCT.ITL.NIST.GOV/BRADY/DOM/"; // // Exception codes // public static string EOL = "\n"; //String.fromCharCode(13,10); public static string INDEX_SIZE_ERR = "StartIndex cannot be less than zero.\r\nParameter name: startIndex"; public static string DOMSTRING_SIZE_ERR = " "; public static string INVALID_CHARACTER_ERR = "A name contained an invalid character." + EOL; public static string NOT_DATA_ALLOWED_ERR = " "; public static string NO_MODIFICATION_ALLOWED_ERR = "Attempt to modify a read-only node." + EOL; public static string NOT_FOUND1_ERR = "Invalid procedure call or argument"; public static string NOT_FOUND2_ERR = "Insert position Node must be a Child of the Node to " + "insert under." + EOL; public static string NOT_FOUND3_ERR = "The parameter Node is not a child of this Node." + EOL; public static string NOT_SUPPORTED_ERR = " "; public static string INUSE_ATTRIBUTE_ERR = "The Attribute node cannot be inserted because it is already an attribute of another element.";//"Attributes must be removed before adding them " + "to a different node." + EOL; // // nodeType values // public const int ELEMENT_NODE = (int)System.Xml.XmlNodeType.Element; public const int ATTRIBUTE_NODE = (int)System.Xml.XmlNodeType.Attribute; public const int TEXT_NODE = (int)System.Xml.XmlNodeType.Text; public const int CDATA_SECTION_NODE = (int)System.Xml.XmlNodeType.CDATA; public const int ENTITY_REFERENCE_NODE = (int)System.Xml.XmlNodeType.EntityReference; public const int ENTITY_NODE = (int)System.Xml.XmlNodeType.Entity; public const int PROCESSING_INSTRUCTION_NODE = (int)System.Xml.XmlNodeType.ProcessingInstruction; public const int COMMENT_NODE = (int)System.Xml.XmlNodeType.Comment; public const int DOCUMENT_NODE = (int)System.Xml.XmlNodeType.Document; public const int DOCUMENT_TYPE_NODE = (int)System.Xml.XmlNodeType.DocumentType; public const int DOCUMENT_FRAGMENT_NODE = (int)System.Xml.XmlNodeType.DocumentFragment; public const int NOTATION_NODE = (int)System.Xml.XmlNodeType.Notation; public const int XML_DECLARATION_NODE = (int)System.Xml.XmlNodeType.XmlDeclaration; public static System.Xml.XmlDocument getDOMDocument() { return masterDoc; } public static System.Xml.XmlDocument getHTMLDocument() { return testdoc; } public static System.Xml.XmlDocument getFramesetDocument() { return framesetdoc; } public static System.Xml.XmlDocument getDOMHTMLDocument() { return HTMLDoc; } public static System.Xml.XmlDocument getnoDTDXMLDocument() { return noDTDXMLObject; } public static System.Xml.XmlDocument getOriginalDOMDocument() { return originalDoc; } public static System.Xml.XmlDocument getOtherDOMDocument() { return otherDoc; } public static System.Xml.XmlNode createNode(int type,string data) { System.Xml.XmlNode node = null; switch(type) { case ATTRIBUTE_NODE: node = getDOMDocument().CreateAttribute(data); break; case CDATA_SECTION_NODE: node = getDOMDocument().CreateCDataSection(data); break; case ELEMENT_NODE: node = getDOMDocument().CreateElement(data); break; case ENTITY_REFERENCE_NODE: node = getDOMDocument().CreateEntityReference(data); break; case TEXT_NODE: node = getDOMDocument().CreateTextNode(data); break; default: break; } return node; } public static void resetData() { try { if (getDOMDocument().DocumentElement != null) { getDOMDocument().RemoveChild(getDOMDocument().DocumentElement); } System.Xml.XmlNode tmpNode = getDOMDocument().ImportNode(getOriginalDOMDocument().DocumentElement,true); getDOMDocument().AppendChild(tmpNode); //getDOMDocument().AppendChild(getOriginalDOMDocument().DocumentElement.CloneNode(true)); } catch (NotImplementedException ex) { throw ex; } } /* public static void resetHTMLData() { System.Xml.XmlNode newdoc = originalHTMLDocument(HTML); testdoc = ( System.Xml.XmlDocument) newdoc.CloneNode(true); } */ public static System.Xml.XmlElement getRootNode() { return getDOMDocument().DocumentElement; } /* public void HTMLNodeObject(string argFirst,int argSecond) { string tagName = argFirst;//arguments[0]; //int one = 1; //int two = 2; System.Xml.XmlNodeList nodeList=null; if (tagName==FRAMESET || tagName==FRAME) nodeList = framesetdoc.GetElementsByTagName(tagName); else nodeList = testdoc.GetElementsByTagName(tagName); if (argFirst != "") //if (arguments.length == one) this.node = nodeList.Item(util.FIRST); if (argSecond != -1) //else if (arguments.length == two) this.node = nodeList.Item(argSecond);//arguments[SECOND]); } public System.Xml.XmlNode originalHTMLDocument(string arg) { string tagName = arg; //int one = 1; //int two = 2; System.Xml.XmlNodeList nodeList = originaldoc.GetElementsByTagName(tagName); this.node = nodeList.Item(util.FIRST).CloneNode(true); return this.node; } */ // public string getTableCaption(object table) // { // return table.caption; // } // // public void getTableHead(object table) // { // return table.tHead; // } // // public void getTableFoot(object table) // { // return table.tFoot; // } public static System.Xml.XmlNode nodeObject(int argFirst,int argSecond)//args) { string tagName = employee; System.Xml.XmlNodeList nodeList = null; System.Xml.XmlNode _node = null; nodeList = getRootNode().GetElementsByTagName(tagName); System.Xml.XmlElement parentNode = (System.Xml.XmlElement)nodeList.Item(argFirst);//arguments[FIRST]); if (argFirst != -1)//if (arguments.length == one) _node = parentNode; if (argSecond != -1)//else if (arguments.length == two) { System.Xml.XmlNodeList list = getSubNodes(parentNode); _node = getElement(getSubNodes(parentNode), argSecond);//arguments[SECOND]); //_node = getElement((System.Xml.XmlNodeList)getSubNodes(parentNode), argSecond);//arguments[SECOND]); } //_attributes = getAttributes(_node); //_subNodes = getSubNodes((System.Xml.XmlElement)_node); return _node; } public static System.Xml.XmlNodeList getSubNodes(System.Xml.XmlDocument node) { // GHT alternative for GetElementsByTagName("*") // System.Collections.ArrayList nodeArrayList = new System.Collections.ArrayList (); // getAllNodesRecursively (node, nodeArrayList); // return new XmlNodeArrayList (nodeArrayList); // GHT alternative for GetElementsByTagName("*") return node.GetElementsByTagName("*"); } public static System.Xml.XmlNodeList getSubNodes(System.Xml.XmlElement node) { // GHT alternative for GetElementsByTagName("*") // System.Collections.ArrayList nodeArrayList = new System.Collections.ArrayList (); // getAllNodesRecursively (node, nodeArrayList); // return new XmlNodeArrayList (nodeArrayList); // GHT alternative for GetElementsByTagName("*") return node.GetElementsByTagName("*"); } private static void getAllNodesRecursively (XmlNode argNode, System.Collections.ArrayList argArrayList) { XmlNodeList xmlNodeList = argNode.ChildNodes; foreach (XmlNode node in xmlNodeList) { if (node.NodeType == XmlNodeType.Element) { argArrayList.Add (node); getAllNodesRecursively (node, argArrayList); } } } public static System.Xml.XmlNode getElement(System.Xml.XmlNodeList subNodes,int elementAt) { return (System.Xml.XmlNode)subNodes.Item(elementAt); } public static System.Xml.XmlAttributeCollection getAttributes(System.Xml.XmlNode node) { return node.Attributes; } public static System.Xml.XmlDocumentType getDocType() { return (System.Xml.XmlDocumentType)getDOMDocument().ChildNodes.Item(SECOND); } public static System.Xml.XmlEntity getEntity(string name) { return (System.Xml.XmlEntity)getDocType().Entities.GetNamedItem(name); } public static System.Xml.XmlNode getNotation(string name) { return getDocType().Notations.GetNamedItem(name); } /* public void specPtr(index) { Spec = new Object(); Spec['DOMImplementation'] = 'ID-102161490'; Spec['DocumentFragment'] = 'ID-B63ED1A3'; Spec['Document'] = 'i-Document'; Spec['Node'] = 'ID-1950641247'; Spec['NodeList'] = 'ID-536297177'; Spec['NamedNodeMap'] = 'ID-1780488922'; Spec['CharacterData'] = 'ID-FF21A306'; Spec['Attr'] = 'ID-637646024'; Spec['Element'] = 'ID-745549614'; Spec['Text'] = 'ID-1312295772'; Spec['Comment'] = 'ID-1728279322'; Spec['CDATASection'] = 'ID-667469212'; Spec['DocumentType'] = 'ID-412266927'; Spec['Notation'] = 'ID-5431D1B9'; Spec['Entity'] = 'ID-527DCFF2'; Spec['EntityReference'] = 'ID-11C98490'; Spec['ProcessingInstruction'] = 'ID-1004215813'; Spec['HTMLCollection'] = 'ID-75708506'; Spec['HTMLDocument'] = 'ID-26809268'; Spec['HTMLElement'] = 'ID-58190037'; Spec['HTMLHtmlElement'] = 'ID-33759296'; Spec['HTMLHeadElement'] = 'ID-77253168'; Spec['HTMLLinkElement'] = 'ID-35143001'; Spec['HTMLTitleElement'] = 'ID-79243169'; Spec['HTMLMetaElement'] = 'ID-37041454'; Spec['HTMLBaseElement'] = 'ID-73629039'; Spec['HTMLIsIndexElement'] = 'ID-85283003'; Spec['HTMLStyleElement'] = 'ID-16428977'; Spec['HTMLBodyElement'] = 'ID-62018039'; Spec['HTMLFormElement'] = 'ID-40002357'; Spec['HTMLSelectElement'] = 'ID-94282980'; Spec['HTMLOptGroupElement'] = 'ID-38450247'; Spec['HTMLOptionElement'] = 'ID-70901257'; Spec['HTMLInputElement'] = 'ID-6043025'; Spec['HTMLTextAreaElement'] = 'ID-24874179'; Spec['HTMLButtonElement'] = 'ID-34812697'; Spec['HTMLLabelElement'] = 'ID-13691394'; Spec['HTMLFieldSetElement'] = 'ID-7365882'; Spec['HTMLLegendElement'] = 'ID-21482039'; Spec['HTMLUListElement'] = 'ID-86834457'; Spec['HTMLOListElement'] = 'ID-58056027'; Spec['HTMLDListElement'] = 'ID-52368974'; Spec['HTMLDirectoryElement'] = 'ID-71600284'; Spec['HTMLMenuElement'] = 'ID-72509186'; Spec['HTMLLIElement'] = 'ID-74680021'; Spec['HTMLBlockquoteElement'] = 'ID-40703765'; Spec['HTMLDivElement'] = 'ID-22445964'; Spec['HTMLParagraphElement'] = 'ID-84675076'; Spec['HTMLHeadingElement'] = 'ID-43345119'; Spec['HTMLQuoteElement'] = 'ID-70319763'; Spec['HTMLPreElement'] = 'ID-11383425'; Spec['HTMLBRElement'] = 'ID-56836063'; Spec['HTMLBaseFontElement'] = 'ID-32774408'; Spec['HTMLFontElement'] = 'ID-43943847'; Spec['HTMLHRElement'] = 'ID-68228811'; Spec['HTMLModElement'] = 'ID-79359609'; Spec['HTMLAnchorElement'] = 'ID-48250443'; Spec['HTMLImageElement'] = 'ID-17701901'; Spec['HTMLObjectElement'] = 'ID-9893177'; Spec['HTMLParamElement'] = 'ID-64077273'; Spec['HTMLAppletElement'] = 'ID-31006348'; Spec['HTMLMapElement'] = 'ID-94109203'; Spec['HTMLAreaElement'] = 'ID-26019118'; Spec['HTMLScriptElement'] = 'ID-81598695'; Spec['HTMLTableElement'] = 'ID-64060425'; Spec['HTMLTableCaptionElement'] = 'ID-12035137'; Spec['HTMLTableColElement'] = 'ID-84150186'; Spec['HTMLTableSectionElement'] = 'ID-67417573'; Spec['HTMLTableRowElement'] = 'ID-6986576'; Spec['HTMLTableCellElement'] = 'ID-82915075'; Spec['HTMLFrameSetElement'] = 'ID-43829095'; Spec['HTMLFrameElement'] = 'ID-97790553'; Spec['HTMLIFrameElement'] = 'ID-50708718'; return Spec[index]; } public void setInfo() { dWin = self.parent.info; infodoc = dWin.document; iform = parent.interfaces.selectInterface; testInterface = iform.interface.options[iform.interface.selectedIndex].Value; cform = parent.categories.selectCategory; testCategory = cform.category.options[cform.category.selectedIndex].Value; sr_file = testCategory.toLowerCase()+"/"+testInterface+"/Requirements.html"; src_file = testCategory.toLowerCase()+"/"+testInterface+"/"+testInterface+".html"; util_file = "util.html"; core_file = "spec/level-one-core.html"; html_file = "spec/level-one-html.html"; if (testCategory == "HTML") spec_ref = html_file + "#" + specPtr(testInterface); else spec_ref = core_file + "#" + specPtr(testInterface); infodoc.write("\n"); infodoc.write("
\n"); infodoc.write("

\n"); infodoc.write("DOM REC
\n"); infodoc.write("SR's
\n"); infodoc.write("Source
\n"); infodoc.write("Utility
\n"); infodoc.write("

\n"); infodoc.close(); } public void getInterfaces(option) { var Cats = new Object(); Cats["Fundamental"] = ['DOMImplementation','Node', 'NodeList', 'Document', 'NamedNodeMap', 'CharacterData', 'Attr', 'Element', 'Text', 'Comment']; Cats["Extended"] = ['CDATASection', 'DocumentType', 'Notation', 'Entity', 'ProcessingInstruction' ]; Cats["HTML"] = [ 'HTMLAnchorElement', 'HTMLAppletElement', 'HTMLAreaElement', 'HTMLBaseElement', 'HTMLBaseFontElement', 'HTMLBlockquoteElement', 'HTMLBodyElement', 'HTMLBRElement', 'HTMLButtonElement', 'HTMLCollection', 'HTMLDirectoryElement', 'HTMLDivElement', 'HTMLDListElement', 'HTMLDocument', 'HTMLElement', 'HTMLFieldSetElement', 'HTMLFontElement', 'HTMLFormElement', 'HTMLFrameElement', 'HTMLFrameSetElement', 'HTMLHeadElement', 'HTMLHeadingElement', 'HTMLHRElement', 'HTMLHtmlElement', 'HTMLIFrameElement', 'HTMLImageElement', 'HTMLInputElement', 'HTMLIsIndexElement', 'HTMLLabelElement', 'HTMLLegendElement', 'HTMLLIElement', 'HTMLLinkElement', 'HTMLMapElement', 'HTMLMenuElement', 'HTMLMetaElement', 'HTMLModElement', 'HTMLObjectElement', 'HTMLOListElement', 'HTMLOptGroupElement', 'HTMLOptionElement', 'HTMLParagraphElement', 'HTMLParamElement', 'HTMLPreElement', 'HTMLQuoteElement', 'HTMLScriptElement', 'HTMLSelectElement', 'HTMLStyleElement', 'HTMLTableCaptionElement', 'HTMLTableCellElement', 'HTMLTableColElement', 'HTMLTableElement', 'HTMLTableRowElement', 'HTMLTableSectionElement', 'HTMLTextAreaElement', 'HTMLTitleElement', 'HTMLUListElement']; return Cats[option]; } public void displayCategories() { cdoc.write("\n"); cdoc.write("
\n"); cdoc.write("\n"); cdoc.write("

\n"); cdoc.write("DOM
Categories

\n"); cdoc.write("

\n"); cdoc.write("\n"); cdoc.write("
\n"); cdoc.write("
\n"); cdoc.write("\n"); cdoc.close(); } public void displayInterfaces(form) { cat = form.category.options[form.category.selectedIndex].Value; interfaces = getInterfaces(cat); idoc.write("\n"); idoc.write("
\n"); idoc.write("

\n"); idoc.write("DOM
Interfaces

\n"); idoc.write("

\n"); idoc.write("\n"); idoc.write("
\n"); idoc.write("
\n"); idoc.write("\n"); idoc.close(); } */ }//class }