public async Task<XsltProcessor> Create() { var file = await StorageFile.GetFileFromApplicationUriAsync( uri ); var xmlDocument = await XmlDocument.LoadFromFileAsync( file ); var result = new XsltProcessor( xmlDocument ); return result; }
private static async Task<string> ConvertHtmlToXamlRichTextBlock(string xhtml) { // Load XHTML fragment as XML document XmlDocument xhtmlDoc = new XmlDocument(); if (Windows.ApplicationModel.DesignMode.DesignModeEnabled) { // In design mode we swallow all exceptions to make editing more friendly try { xhtmlDoc.LoadXml(xhtml); } catch { } // For some reason code in catch is not executed when an exception occurs in design mode, so we can't display a friendly error here. } else { // When not in design mode, we let the application handle any exceptions xhtmlDoc.LoadXml(xhtml); } if (Html2XamlProcessor == null) { // Read XSLT. In design mode we cannot access the xslt from the file system (with Build Action = Content), // so we use it as an embedded resource instead: Assembly assembly = typeof(Properties).GetTypeInfo().Assembly; using (Stream stream = assembly.GetManifestResourceStream("iFixit.W8.UI.Common.RichTextBlockHtml2Xaml.xslt")) { StreamReader reader = new StreamReader(stream); string content = await reader.ReadToEndAsync(); XmlDocument html2XamlXslDoc = new XmlDocument(); html2XamlXslDoc.LoadXml(content); Html2XamlProcessor = new XsltProcessor(html2XamlXslDoc); } } // Apply XSLT to XML string xaml = Html2XamlProcessor.TransformToString(xhtmlDoc.FirstChild); return xaml; }
private static async Task<string> ConvertHtmlToXamlRichTextBlock(string xhtml) { // Load XHTML fragment as XML document XmlDocument xhtmlDoc = new XmlDocument(); xhtmlDoc.LoadXml(xhtml); if (Html2XamlProcessor == null) { // Read XSLT. In design mode we cannot access the xslt from the file system (with Build Action = Content), // so we use it as an embedded resource instead: Assembly assembly = typeof(Properties).GetTypeInfo().Assembly; using (Stream stream = assembly.GetManifestResourceStream("WinRT_RichTextBlock.Html2Xaml.RichTextBlockHtml2Xaml.xslt")) { StreamReader reader = new StreamReader(stream); string content = await reader.ReadToEndAsync(); XmlDocument html2XamlXslDoc = new XmlDocument(); html2XamlXslDoc.LoadXml(content); Html2XamlProcessor = new XsltProcessor(html2XamlXslDoc); } } // Apply XSLT to XML string xaml = Html2XamlProcessor.TransformToString(xhtmlDoc.FirstChild); return xaml; }
public TileNotificationFactory( IObjectDocumentConverter converter, XsltProcessor processor ) { this.converter = converter; this.processor = processor; }