Exemplo n.º 1
0
        private void Stream(XmlNotation notation)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlNotation)));

            MDataObjs.Add(new String("Public ID", notation.PublicId));
            MDataObjs.Add(new String("System ID", notation.SystemId));
        }
Exemplo n.º 2
0
        private void Stream(XmlCharacterData charData)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlCharacterData)));

            MDataObjs.Add(new Int("Length", charData.Length));
            MDataObjs.Add(new String("Data", charData.Data));

            switch (charData)
            {
            case XmlCDataSection cDataSection:
                Stream(cDataSection);
                return;

            case XmlComment comment:
                Stream(comment);
                return;

            case XmlSignificantWhitespace swSpace:
                Stream(swSpace);
                return;

            case XmlText txt:
                Stream(txt);
                return;

            case XmlWhitespace wSpace:
                Stream(wSpace);
                return;
            }
        }
Exemplo n.º 3
0
        private void Stream(XmlElement elem)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlElement)));

            MDataObjs.Add(new Bool("Has attributes", elem.HasAttributes));
            MDataObjs.Add(new Bool("Is empty", elem.IsEmpty));
        }
Exemplo n.º 4
0
        private void Stream(XmlLinkedNode lnkNode)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlLinkedNode)));

            // No data to show at this level, but we want to explicitly
            // show that there is an intermediate class.

            switch (lnkNode)
            {
            case XmlElement elem:
                Stream(elem);
                return;

            case XmlCharacterData charData:
                Stream(charData);
                return;

            case XmlDeclaration decl:
                Stream(decl);
                return;

            case XmlDocumentType dType:
                Stream(dType);
                return;

            case XmlEntityReference entRef:
                Stream(entRef);
                return;

            case XmlProcessingInstruction pi:
                Stream(pi);
                return;
            }
        }
Exemplo n.º 5
0
        private void Stream(XmlEntity ent)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlEntity)));

            MDataObjs.Add(new String("Notation name", ent.NotationName));
            MDataObjs.Add(new String("Public ID", ent.PublicId));
            MDataObjs.Add(new String("System ID", ent.SystemId));
        }
Exemplo n.º 6
0
        private void Stream(XmlDeclaration decl)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlDeclaration)));

            MDataObjs.Add(new String("Encoding", decl.Encoding));
            MDataObjs.Add(new String("Standalone", decl.Standalone));
            MDataObjs.Add(new String("Version", decl.Version));
        }
Exemplo n.º 7
0
        private void Stream(XmlDocumentType dType)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlDocumentType)));

            MDataObjs.Add(new String("Internal subset", dType.InternalSubset));
            MDataObjs.Add(new String("Public ID", dType.PublicId));
            MDataObjs.Add(new String("System ID", dType.SystemId));
        }
Exemplo n.º 8
0
        public void Collect(XmlNode node)
        {
            MDataObjs.Clear();
            Stream(node);

            // now that we've collected all the data that we know about,
            // fire an event to any registered Snoop Collector Extensions so
            // they can add their data
            //FireEvent_CollectExt(node);	// shouldn't be anyone else, we've taken care of it all
        }
Exemplo n.º 9
0
        /// <summary>
        ///     This is the point where the ball starts rolling.  We'll walk down the object's class hierarchy,
        ///     continually trying to cast it to objects we know about.  NOTE: this is intentionally not Reflection.
        ///     We can do that elsewhere, but here we want to explicitly control how data is formatted and navigated,
        ///     so we will manually walk the entire hierarchy.
        /// </summary>
        /// <param name="obj">Object to collect data for</param>
        public Task Collect(object obj)
        {
            MDataObjs.Clear();

            if (obj == null)
            {
                return(Task.CompletedTask);
            }

            return(ExternalExecutor.ExecuteInRevitContextAsync(app => Collect(app, SourceDocument, this, obj)));
        }
Exemplo n.º 10
0
        //  main branch for anything derived from System.Xml.XmlNode
        private void Stream(XmlNode node)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlNode)));

            MDataObjs.Add(new String("Node type", node.NodeType.ToString()));
            MDataObjs.Add(new String("Name", node.Name));
            MDataObjs.Add(new String("Local name", node.LocalName));
            MDataObjs.Add(new String("Value", node.Value));
            MDataObjs.Add(new Bool("Has child nodes", node.HasChildNodes));
            MDataObjs.Add(new String("Inner text", node.InnerText));
            MDataObjs.Add(new Xml("Inner XML", node.InnerXml, false));
            MDataObjs.Add(new Xml("Outer XML", node.OuterXml, false));
            MDataObjs.Add(new Bool("Is read only", node.IsReadOnly));
            MDataObjs.Add(new String("BaseURI", node.BaseURI));
            MDataObjs.Add(new String("Namespace URI", node.NamespaceURI));
            MDataObjs.Add(new String("Prefix", node.Prefix));

            switch (node)
            {
            // branch to all known major sub-classes
            case XmlAttribute att:
                Stream(att);
                return;

            case XmlDocument doc:
                Stream(doc);
                return;

            case XmlDocumentFragment docFrag:
                Stream(docFrag);
                return;

            case XmlEntity ent:
                Stream(ent);
                return;

            case XmlNotation notation:
                Stream(notation);
                return;

            case XmlLinkedNode lnkNode:
                Stream(lnkNode);
                return;
            }
        }
Exemplo n.º 11
0
        private void Stream(XmlAttribute att)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlAttribute)));

            MDataObjs.Add(new Bool("Specified", att.Specified));
        }
Exemplo n.º 12
0
        private void Stream(XmlCDataSection cDataSection)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlCDataSection)));

            // do data to display at this level
        }
Exemplo n.º 13
0
        private void Stream(XmlText text)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlText)));

            // no data to display at this level
        }
Exemplo n.º 14
0
        private void Stream(XmlWhitespace wSpace)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlWhitespace)));

            // no data to display at this level
        }
Exemplo n.º 15
0
        private void Stream(XmlProcessingInstruction pi)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlProcessingInstruction)));

            MDataObjs.Add(new String("Target", pi.Target));
        }
Exemplo n.º 16
0
        Stream(XmlComment comment)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlComment)));

            // no data to display at this level
        }
Exemplo n.º 17
0
        private void Stream(XmlEntityReference entRef)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlEntityReference)));

            // no data to display at this level
        }
Exemplo n.º 18
0
        private void Stream(XmlDocument doc)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlDocument)));

            MDataObjs.Add(new Bool("Preserve whitespace", doc.PreserveWhitespace));
        }
Exemplo n.º 19
0
        private void Stream(XmlDocumentFragment doc)
        {
            MDataObjs.Add(new ClassSeparator(typeof(XmlDocumentFragment)));

            // no data to display at this level
        }