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(); } }
public void AddAttDefs(AttList list) { if (AttList == null) { AttList = list; } else { foreach (AttDef a in list) { if (AttList[a.Name] == null) { AttList.Add(a); } } } }
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); } }