Node representing start or end tag of an element
Inheritance: TreeNode
コード例 #1
0
ファイル: TreeWriter.cs プロジェクト: Microsoft/RTVS
        private void WriteTag(ElementNode element, TagNode tag, bool endTag) {
            Indent();

            string prefix = _tree.Text.GetText(tag.PrefixRange);
            string colon = (tag.NameToken != null && tag.NameToken.HasColon) ? _tree.Text.GetText(tag.NameToken.ColonRange) : String.Empty;
            string name = _tree.Text.GetText(tag.NameRange);

            if (endTag)
                _sb.Append("</");
            else
                _sb.Append('<');

            _sb.Append(prefix);
            _sb.Append(colon);
            _sb.Append(name);

            foreach (AttributeNode a in tag.Attributes)
                WriteAttribute(a);

            if (tag.IsClosed) {
                if (String.Compare(element.Name, "?xml") == 0)
                    _sb.Append(" ?>");
                else if (tag.IsShorthand)
                    _sb.Append(" />");
                else
                    _sb.Append('>');
            }

            _sb.Append("\r\n");
        }
コード例 #2
0
ファイル: ElementNode.cs プロジェクト: Microsoft/RTVS
        public ElementNode(ElementNode parent, int openAngleBracketPosition, NameToken nameToken, int maxEnd) {
            Parent = parent;

            if (nameToken.HasColon)
                StartTag = new TagNodeWithPrefix(this, openAngleBracketPosition, nameToken, maxEnd);
            else
                StartTag = new TagNode(this, openAngleBracketPosition, nameToken, maxEnd);

            VirtualEnd = maxEnd;
            Properties = new PropertyDictionary();
        }
コード例 #3
0
ファイル: ElementNode.cs プロジェクト: Microsoft/RTVS
        public void AddOrphanedEndTag(TagNode tag) {
            if (OrphanedEndTagsCollection == null)
                OrphanedEndTagsCollection = new TextRangeCollection<TagNode>();

            OrphanedEndTagsCollection.Add(tag);
        }
コード例 #4
0
ファイル: ElementNode.cs プロジェクト: Microsoft/RTVS
 /// <summary>Begins element end tag processing. Called exclusively by tree builder.
 /// when it discovers &lt;/name sequence.</summary>
 internal void OpenEndTag(int position, NameToken nameToken, int maxEnd) {
     EndTag = new TagNode(this, position, nameToken, maxEnd);
 }