You've already forked linux-packaging-mono
Imported Upstream version 5.2.0.179
Former-commit-id: a536d4f20e27294d8bbc2184d75f3a22364f7ba1
This commit is contained in:
parent
966bba02bb
commit
fad71374d0
66
external/api-doc-tools/monodoc/Monodoc/generators/html/Ecmaspec2Html.cs
vendored
Normal file
66
external/api-doc-tools/monodoc/Monodoc/generators/html/Ecmaspec2Html.cs
vendored
Normal file
@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using System.Xml.Xsl;
|
||||
using System.Xml.XPath;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Monodoc.Generators.Html
|
||||
{
|
||||
public class Ecmaspec2Html : IHtmlExporter
|
||||
{
|
||||
static string css_ecmaspec;
|
||||
static XslTransform ecma_transform;
|
||||
static XsltArgumentList args = new XsltArgumentList();
|
||||
|
||||
public string CssCode {
|
||||
get {
|
||||
if (css_ecmaspec != null)
|
||||
return css_ecmaspec;
|
||||
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly (typeof (Ecmaspec2Html));
|
||||
Stream str_css = assembly.GetManifestResourceStream ("ecmaspec.css");
|
||||
css_ecmaspec = (new StreamReader (str_css)).ReadToEnd ();
|
||||
return css_ecmaspec;
|
||||
}
|
||||
}
|
||||
|
||||
class ExtObj
|
||||
{
|
||||
public string Colorize (string code, string lang)
|
||||
{
|
||||
return Mono.Utilities.Colorizer.Colorize (code, lang);
|
||||
}
|
||||
}
|
||||
|
||||
public string Export (Stream stream, Dictionary<string, string> extraArgs)
|
||||
{
|
||||
return Htmlize (new XPathDocument (stream));
|
||||
}
|
||||
|
||||
public string Export (string input, Dictionary<string, string> extraArgs)
|
||||
{
|
||||
return Htmlize (new XPathDocument (new StringReader (input)));
|
||||
}
|
||||
|
||||
static string Htmlize (XPathDocument ecma_xml)
|
||||
{
|
||||
if (ecma_transform == null){
|
||||
ecma_transform = new XslTransform ();
|
||||
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly (typeof (Ecmaspec2Html));
|
||||
Stream stream;
|
||||
stream = assembly.GetManifestResourceStream ("ecmaspec-html-css.xsl");
|
||||
|
||||
XmlReader xml_reader = new XmlTextReader (stream);
|
||||
ecma_transform.Load (xml_reader, null, null);
|
||||
args.AddExtensionObject ("monodoc:///extensions", new ExtObj ());
|
||||
}
|
||||
|
||||
if (ecma_xml == null) return "";
|
||||
|
||||
StringWriter output = new StringWriter ();
|
||||
ecma_transform.Transform (ecma_xml, args, output, null);
|
||||
|
||||
return output.ToString ();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user