/// <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();
		}
Esempio n. 2
0
		/// <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);
			}
		}
Esempio n. 4
0
        /// <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;
            }
        }