summaryrefslogtreecommitdiffstats
path: root/tools/Sandcastle/Source/BuildAssembler/BuildComponents/DisplayComponent.cs
diff options
context:
space:
mode:
Diffstat (limited to 'tools/Sandcastle/Source/BuildAssembler/BuildComponents/DisplayComponent.cs')
-rw-r--r--tools/Sandcastle/Source/BuildAssembler/BuildComponents/DisplayComponent.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/Sandcastle/Source/BuildAssembler/BuildComponents/DisplayComponent.cs b/tools/Sandcastle/Source/BuildAssembler/BuildComponents/DisplayComponent.cs
new file mode 100644
index 0000000..a6d9ca2
--- /dev/null
+++ b/tools/Sandcastle/Source/BuildAssembler/BuildComponents/DisplayComponent.cs
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+//
+using System;
+using System.Xml;
+using System.Xml.XPath;
+
+namespace Microsoft.Ddue.Tools {
+
+
+ public class DisplayComponent : BuildComponent {
+
+ private string xpath_format = "/";
+
+ public DisplayComponent (BuildAssembler assembler, XPathNavigator configuration) : base(assembler, configuration) {
+ XPathNavigator xpath_format_node = configuration.SelectSingleNode("xpath");
+ if (xpath_format_node != null) xpath_format = xpath_format_node.Value;
+ }
+
+ public override void Apply (XmlDocument document, string key) {
+ string xpath = String.Format(xpath_format, key);
+
+ Object result = document.CreateNavigator().Evaluate(xpath);
+
+ if (result == null) {
+ Console.WriteLine("null result");
+ return;
+ }
+
+ XPathNodeIterator nodes = result as XPathNodeIterator;
+ if (nodes != null) {
+ foreach (XPathNavigator node in nodes) {
+ Console.WriteLine(node.OuterXml);
+ }
+ return;
+ }
+
+ Console.WriteLine(result.ToString());
+
+ }
+
+ }
+
+}