2012-12-26 60 views

回答

0

的這一個早期版本的一些討論,這裏是一個C#類我是工作在幾天前的片段......我知道這太遲了......但是爲了未來的痛苦。

我認爲這不是在動作腳本

文件OMML2MML.xsl位於%ProgramFiles%\Microsoft Office\Office12\由@大衛提到的XSL文件用於放置在Word剪貼板MathML和轉換OMML到MML也有很大不同。

public static string OMML(string omml) 
{ 
    XslCompiledTransform xslTransform = new XslCompiledTransform(); 
    xslTransform.Load("OMML2MML.xsl"); 

    using (XmlReader reader = XmlReader.Create(new StringReader(omml))) 
    { 
     using (MemoryStream ms = new MemoryStream()) 
     { 
      XmlWriterSettings settings = xslTransform.OutputSettings.Clone(); 

      // Configure xml writer to omit xml declaration. 
      settings.ConformanceLevel = ConformanceLevel.Fragment; 
      settings.OmitXmlDeclaration = true; 

      XmlWriter xw = XmlWriter.Create(ms, settings); 

      // Transform our OfficeMathML to MathML 
      xslTransform.Transform(reader, xw); 
      ms.Seek(0, SeekOrigin.Begin); 

      StreamReader sr = new StreamReader(ms, Encoding.UTF8); 
      string MathML = sr.ReadToEnd(); 
      return MathML; 
     } 
    } 
}