2 // Mono.Xml.SecurityParser.cs class implementation
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
11 using System.Collections;
12 using System.Security;
16 // convert an XML document into SecurityElement objects
23 class SecurityParser : MiniParser, MiniParser.IHandler, MiniParser.IReader {
25 private SecurityElement root;
27 public SecurityParser () : base ()
32 public void LoadXml (string xml)
41 public SecurityElement ToXml ()
48 private string xmldoc;
53 if (pos >= xmldoc.Length)
55 return (int) xmldoc [pos++];
60 private SecurityElement current;
63 public void OnStartParsing (MiniParser parser) {}
65 public void OnStartElement (string name, MiniParser.IAttrList attrs)
67 SecurityElement newel = new SecurityElement (name);
73 SecurityElement parent = (SecurityElement) stack.Peek ();
74 parent.AddChild (newel);
80 for (int i=0; i < n; i++)
81 current.AddAttribute (attrs.GetName (i), attrs.GetValue (i));
84 public void OnEndElement (string name)
86 current = (SecurityElement) stack.Pop ();
89 public void OnChars (string ch)
94 public void OnEndParsing (MiniParser parser) {}