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
17 public class SecurityParser : MiniParser, MiniParser.IHandler, MiniParser.IReader {
19 private SecurityElement root;
21 public SecurityParser () : base ()
26 public void LoadXml (string xml)
35 public SecurityElement ToXml ()
42 private string xmldoc;
47 if (pos >= xmldoc.Length)
49 return (int) xmldoc [pos++];
54 private SecurityElement current;
57 public void OnStartParsing (MiniParser parser) {}
59 public void OnStartElement (string name, MiniParser.IAttrList attrs)
61 SecurityElement newel = new SecurityElement (name);
67 SecurityElement parent = (SecurityElement) stack.Peek ();
68 parent.AddChild (newel);
74 for (int i=0; i < n; i++)
75 current.AddAttribute (attrs.GetName (i), attrs.GetValue (i));
78 public void OnEndElement (string name)
80 current = (SecurityElement) stack.Pop ();
83 public void OnChars (string ch)
88 public void OnEndParsing (MiniParser parser) {}