本文整理汇总了C#中Compiler.PushInputDocument方法的典型用法代码示例。如果您正苦于以下问题:C# Compiler.PushInputDocument方法的具体用法?C# Compiler.PushInputDocument怎么用?C# Compiler.PushInputDocument使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Compiler
的用法示例。
在下文中一共展示了Compiler.PushInputDocument方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleInclude
private void HandleInclude (Compiler c)
{
XPathNavigator included = null;
foreach (XPathNavigator inc in inProcessIncludes.Keys) {
if (inc.IsSamePosition (c.Input)) {
included = (XPathNavigator) inProcessIncludes [inc];
break;
}
}
if (included == null)
throw new Exception ("Should not happen. Current input is " + c.Input.BaseURI + " / " + c.Input.Name + ", " + inProcessIncludes.Count);
if (included.NodeType == XPathNodeType.Root)
return; // Already done.
c.PushInputDocument (included);
while (c.Input.NodeType != XPathNodeType.Element)
if (!c.Input.MoveToNext ())
break;
if (c.Input.NamespaceURI != XsltNamespace &&
c.Input.NodeType == XPathNodeType.Element) {
// then it is simplified stylesheet.
templates.Add (new XslTemplate (c));
}
else {
do {
if (c.Input.NodeType != XPathNodeType.Element)
continue;
Debug.EnterNavigator (c);
HandleTopLevelElement (c);
Debug.ExitNavigator (c);
} while (c.Input.MoveToNext ());
}
c.Input.MoveToParent ();
c.PopInputDocument ();
}
示例2: HandleImport
private void HandleImport (Compiler c, string href)
{
c.PushInputDocument (href);
XslStylesheet imported = new XslStylesheet ();
imported.Compile (c);
imports.Add (imported);
c.PopInputDocument ();
}
示例3: StoreInclude
private void StoreInclude (Compiler c)
{
XPathNavigator including = c.Input.Clone ();
c.PushInputDocument (c.Input.GetAttribute ("href", String.Empty));
inProcessIncludes [including] = c.Input;
HandleImportsInInclude (c);
c.PopInputDocument ();
}