Ejemplo n.º 1
0
 void ParseAttList(AttList list, char term)
 {
     char ch = this.current.SkipWhitespace();
     while (ch != term)
     {
         if (ch == '%')
         {
             Entity e = ParseParameterEntity(peterm);
             PushEntity(this.current.ResolvedUri, e);
             ParseAttList(list, Entity.EOF);
             PopEntity();
             ch = this.current.SkipWhitespace();
         }
         else if (ch == '-')
         {
             ch = ParseDeclComments();
         }
         else
         {
             AttDef a = ParseAttDef(ch);
             list.Add(a);
         }
         ch = this.current.SkipWhitespace();
     }
 }
Ejemplo n.º 2
0
 public void AddAttDefs(AttList list)
 {
     if (AttList == null)
     {
         AttList = list;
     }
     else
     {
         foreach (AttDef a in list)
         {
             if (AttList[a.Name] == null)
             {
                 AttList.Add(a);
             }
         }
     }
 }
Ejemplo n.º 3
0
 void ParseAttList()
 {
     char ch = this.current.SkipWhitespace();
     string[] names = ParseNameGroup(ch, true);
     AttList attlist = new AttList();
     ParseAttList(attlist, '>');
     foreach (string name in names)
     {
         ElementDecl e = (ElementDecl)this.elements[name];
         if (e == null)
         {
             this.current.Error("ATTLIST references undefined ELEMENT {0}", name);
         }
         e.AddAttDefs(attlist);
     }
 }