public override void EnterElement(BabyScriptParser.ElementContext ctx) { BabyElement element = (BabyElement)ctx.treeNode; string realName = element.Name; string fullName = Owner.nameConfig.ToFull(realName); if (fullName != null) { realName = fullName; } if (Error) { return; } Writer.WriteStartElement(realName); SetCurrentElement(ctx, realName); if (element.IsAssignment) { foreach (BabyAttribute a in element.Attributes) { Writer.WriteAttributeString(a.Name, a.Value); } } }
public override void ExitElement(BabyScriptParser.ElementContext ctx) { if (Error) { return; } Writer.WriteEndElement(); }
private void SetCurrentElement(BabyScriptParser.ElementContext ctx, string realName) { string[] anonAttributes = Owner.attrConfig.GetAnonAttributes(realName); HasImpliedAttributes = anonAttributes != null; AvailableNames.Clear(); if (HasImpliedAttributes) { foreach (string name in anonAttributes) { AvailableNames.Enqueue(name); } } CurrentElement = ctx; }