/// <summary> /// Reads the common styles. /// </summary> private void ReadCommonStyles() { OpenDocumentImporter odImporter = new OpenDocumentImporter(); odImporter.Document = this; odImporter.ImportCommonStyles(); LocalStyleProcessor lsp = new LocalStyleProcessor(this, true); lsp.ReadStyles(); }
/// <summary> /// Create a blank new document. /// </summary> public TextDocument New() { this._xmldoc = new XmlDocument(); this.Styles = new StyleCollection(); this._xmldoc.LoadXml(TextDocumentHelper.GetBlankDocument()); this.NamespaceManager = TextDocumentHelper.NameSpace(this._xmldoc.NameTable); this.DocumentConfigurations2 = new DocumentConfiguration2(); this.DocumentManifest = new DocumentManifest(); this.DocumentManifest.New(); this.DocumentMetadata = new DocumentMetadata(this); this.DocumentMetadata.New(); this.DocumentPictures = new DocumentPictureCollection(); this.DocumentSetting = new DocumentSetting(); this.DocumentSetting.New(); this.DocumentStyles = new DocumentStyles(); this.DocumentStyles.New(this); this.ReadCommonStyles(); this.Forms = new ODFFormCollection(); this._formCollection.Clearing += FormsCollection_Clear; this._formCollection.Removed += FormsCollection_Removed; this.Fields.Clear(); this.Content.Clear(); this.VariableDeclarations = new VariableDeclCollection(); this.DocumentThumbnails = new DocumentPictureCollection(); MasterPageFactory.RenameMasterStyles( this.DocumentStyles.Styles, this.XmlDoc, this.NamespaceManager); // Read the moved and renamed styles LocalStyleProcessor lsp = new LocalStyleProcessor(this, false); lsp.ReReadKnownAutomaticStyles(); new MasterPageFactory(m_dirInfo).FillFromXMLDocument(this); return this; }
/// <summary> /// Reads the content. /// </summary> private void ReadContent() { /* * NOTICE: * Do not change this order! */ // 1. load content file this._document.XmlDoc = new XmlDocument(); this._document.XmlDoc.Load(Path.Combine(m_dirInfo.Dir, "content.xml")); // 2. Read local styles LocalStyleProcessor lsp = new LocalStyleProcessor(this._document, false); lsp.ReadStyles(); // 3. Import common styles and read common styles this.ImportCommonStyles(); lsp = new LocalStyleProcessor(this._document, true); lsp.ReadStyles(); if (_document is TextDocument) { FormsProcessor fp= new FormsProcessor(this._document); fp.ReadFormNodes(); TextDocument td = _document as TextDocument; td.VariableDeclarations.Clear(); XmlNode nodeText = td.XmlDoc.SelectSingleNode( TextDocumentHelper.OfficeTextPath, td.NamespaceManager); if (nodeText != null) { XmlNode nodeVarDecls = nodeText.SelectSingleNode("text:variable-decls", td.NamespaceManager); if (nodeVarDecls != null) { foreach (XmlNode vd in nodeVarDecls.CloneNode(true).SelectNodes("text:variable-decl", td.NamespaceManager)) { td.VariableDeclarations.Add(new VariableDecl(td, vd)); } nodeVarDecls.InnerXml = ""; } } } // 4. Register warnig events MainContentProcessor mcp = new MainContentProcessor(this._document); mcp.Warning += mcp_OnWarning; // 5. Read the content mcp.ReadContentNodes(); // 6.1 load master pages and styles for TextDocument if (this._document is TextDocument) { MasterPageFactory.RenameMasterStyles( ((TextDocument)this._document).DocumentStyles.Styles, this._document.XmlDoc, this._document.NamespaceManager); // Read the moved and renamed styles lsp = new LocalStyleProcessor(this._document, false); lsp.ReReadKnownAutomaticStyles(); new MasterPageFactory(m_dirInfo).FillFromXMLDocument(this._document as TextDocument); } }
/// <summary> /// Reads the content. /// </summary> private void ReadContent() { try { this._document.XmlDoc = new XmlDocument(); this._document.XmlDoc.Load(dir+"\\content.xml"); // Apply tweaks to fix compatibility issues. This currently does the following: // 1. Expands repeated rows and columns. Assembly ass = Assembly.GetExecutingAssembly(); using ( Stream str = ass.GetManifestResourceStream( "AODL.Resources.OD.tweakcontent.xsl" ) ) using ( XmlReader xr = XmlReader.Create( str ) ) using ( MemoryStream ms = new MemoryStream() ) { XslCompiledTransform xsl = new XslCompiledTransform(); xsl.Load( xr ); using ( XmlWriter xw = XmlWriter.Create( ms ) ) { xsl.Transform( _document.XmlDoc, xw ); } ms.Position = 0; _document.XmlDoc.Load( ms ); } //Read local styles LocalStyleProcessor lsp = new LocalStyleProcessor(this._document, false); lsp.ReadStyles(); //Import common styles and read common styles this.ImportCommonStyles(); lsp = new LocalStyleProcessor(this._document, true); lsp.ReadStyles(); MainContentProcessor mcp = new MainContentProcessor(this._document); mcp.OnWarning +=new AODL.Document.Import.OpenDocument.NodeProcessors.MainContentProcessor.Warning(mcp_OnWarning); TextContentProcessor.OnWarning +=new AODL.Document.Import.OpenDocument.NodeProcessors.TextContentProcessor.Warning(TextContentProcessor_OnWarning); mcp.ReadContentNodes(); } catch(Exception ex) { throw; } }