public override void WriteStartTag(string name, TagType type, TagType listType, int count) { WriteStartTag(name, type); _state.StartList(listType, count); _writer.WriteAttributeString("limitType", listType.ToString()); }
public override void WriteStartTag(string name, TagType type, TagType listType, int count) { // HACK: This is messy, rethink WriteStartTag(name, type); _state.StartList(listType, count); _stream.WriteByte((byte)listType); WriteValue(count); }
private void ReadChildValues(ICollection <Tag> value, TagType listType) { int depth; _state.StartList(listType, 0); SkipWhitespace(); depth = _reader.Depth; if (_reader.NodeType != XmlNodeType.EndElement) { do { if (_reader.NodeType == XmlNodeType.Element) { var child = ReadTag(listType); if (listType != TagType.None) { // sanity check as depending how you // decided to load documents it is // currently possible to skip some checks child.Name = string.Empty; } value.Add(child); } else { _reader.Read(); } } while (_reader.Depth == depth && _reader.ReadState == ReadState.Interactive); } else { _reader.Read(); SkipWhitespace(); } }