public string ApplyXSL(Note note, ValidationType validationType = ValidationType.None) { StringWriter sWriter = new StringWriter(); NoteArchiver.Write(sWriter, note.Data); sWriter.Close(); NoteNameResolver resolver = new NoteNameResolver(note.Manager, note); return(ApplyXSL(sWriter.ToString(), note.Title, resolver, validationType)); }
public override object GetEntity(Uri absolute_uri, string role, Type of_object_to_return) { Note note = _manager.FindByUri(absolute_uri.ToString()); if (note == null) { return(null); } StringWriter writer = new StringWriter(); NoteArchiver.Write(writer, note.Data); Stream stream = WriterToStream(writer); writer.Close(); return(stream); }
public void WriteHTMLForNote(TextWriter writer, Note note, bool export_linked, bool export_linked_all) { // NOTE: Don't use the XmlDocument version, which strips // whitespace between elements for some reason. Also, // XPathDocument is faster. StringWriter s_writer = new StringWriter(); NoteArchiver.Write(s_writer, note.Data); StringReader reader = new StringReader(s_writer.ToString()); s_writer.Close(); XPathDocument doc = new XPathDocument(reader); reader.Close(); XsltArgumentList args = new XsltArgumentList(); args.AddParam("export-linked", "", export_linked); args.AddParam("export-linked-all", "", export_linked_all); args.AddParam("root-note", "", note.Title); args.AddExtensionObject("http://beatniksoftware.com/tomboy", new TransformExtension(note.Manager, note)); if ((bool)Preferences.Get(Preferences.ENABLE_CUSTOM_FONT)) { string font_face = (string)Preferences.Get(Preferences.CUSTOM_FONT_FACE); Pango.FontDescription font_desc = Pango.FontDescription.FromString(font_face); string font = String.Format("font-family:'{0}';", font_desc.Family); args.AddParam("font", "", font); } NoteXsl.Transform(doc, args, writer); }
public static string ToNoteXml(NoteInfo noteInfo) { NoteData noteData = ToNoteData(noteInfo); return(NoteArchiver.WriteString(noteData)); }