/// <summary> /// Given a path to a file containing a list of SsurgeonPatterns, returns /// TODO: deal with resources /// </summary> /// <exception cref="System.Exception"/> public virtual IList <SsurgeonPattern> ReadFromFile(File file) { IList <SsurgeonPattern> retList = new List <SsurgeonPattern>(); IDocument doc = DocumentBuilderFactory.NewInstance().NewDocumentBuilder().Parse(file); INodeList patternNodes = doc.GetElementsByTagName(SsurgeonPattern.SsurgeonElemTag); for (int i = 0; i < patternNodes.GetLength(); i++) { INode node = patternNodes.Item(i); if (node.GetNodeType() == NodeConstants.ElementNode) { IElement elt = (IElement)node; SsurgeonPattern pattern = SsurgeonPatternFromXML(elt); retList.Add(pattern); } } INodeList resourceNodes = doc.GetElementsByTagName(SsurgeonPattern.ResourceTag); for (int i_1 = 0; i_1 < resourceNodes.GetLength(); i_1++) { INode node = patternNodes.Item(i_1); if (node.GetNodeType() == NodeConstants.ElementNode) { IElement resourceElt = (IElement)node; SsurgeonWordlist wlRsrc = new SsurgeonWordlist(resourceElt); AddResource(wlRsrc); } } return(retList); }
// // Resource management // /// <summary>Places the given word list resource under the given ID.</summary> /// <remarks> /// Places the given word list resource under the given ID. /// Note: can overwrite existing one in place. /// </remarks> private void AddResource(SsurgeonWordlist resource) { wordListResources[resource.GetID()] = resource; }