public void TestXMLPartFilter()
        {
            XmlPartFilter xpf = new XmlPartFilter(new CommonNamespaces(OpenXmlFormat.Transitional));

            xpf.Triggers.AddRange(DocxMetadataDefinitions.HiddenDocumentText);
            xpf.Triggers.AddRange(DocxMetadataDefinitions.SmartTags);

            using (Stream sIn = File.Open(TESTFILE_DIR + "document1.xml", FileMode.Open))
            {
                DocumentText docText = new DocumentText();
                Stream sOut = xpf.ProcessPart(sIn, docText, null, DocumentProcessingActions.DiscoverAndClean);

                Assert.IsNotNull(sOut, "output stream null unexpectedly");
                Assert.AreEqual(1, docText.GetTextTypes(ContentType.HiddenText).Count, "expected a hidden text type");
                Assert.AreEqual(1, docText.GetTextTypes(ContentType.HiddenText).Count, "expected a smart tags type");
            }
        }
        public void TestDiscoverWorksharePropertiesDocx()
        {
            XmlPartFilter xpf = new XmlPartFilter(new CommonNamespaces());

            xpf.Triggers.AddRange(GenericMetadataDefinitions.CustomProperties);
            xpf.Triggers.AddRange(GenericMetadataDefinitions.WorkshareProperties);

            using (Stream sIn = File.Open(TESTFILE_DIR + "docx_worksharecustom.xml", FileMode.Open))
            {
                DocumentText docText = new DocumentText();
                Stream sOut = xpf.ProcessPart(sIn, docText, null, DocumentProcessingActions.DiscoverAndClean);

                Assert.IsNotNull(sOut, "output stream null unexpectedly");
                Assert.AreEqual(1, docText.GetTextTypes(ContentType.WorkshareProperty).Count, "expected a workshareproperty text type");
                Assert.AreEqual(0, docText.GetTextTypes(ContentType.CustomProperty).Count, "expected no customproperty type");
            }

        }
 private IPartFilter ConstructSettingsFilter(PartInfo rel)
 {
     XmlPartFilter xpf = new XmlPartFilter(m_commonNamespaces);
     xpf.Triggers.AddRange(DocxMetadataDefinitions.DocumentVariables);
     xpf.Triggers.AddRange(DocxMetadataDefinitions.GetAttachedTemplateDef(rel, m_openXmlFormat));
     xpf.Triggers.AddRange(DocxMetadataDefinitions.FootnoteProperties);
     xpf.Triggers.AddRange(DocxMetadataDefinitions.EndnoteProperties);
     xpf.Triggers.AddRange(DocxMetadataDefinitions.TrackChangesFlag);
     return xpf;
 }
 private IPartFilter BuildDocumentPropsPartFilter(string contentType)
 {
     XmlPartFilter result = new XmlPartFilter(this.m_commonNamespaces, contentType);
     result.ExclusionList = excludeList;
     result.Triggers.AddRange(GenericMetadataDefinitions.BuiltInProperties);
     return result;
 }
 private IPartFilter BuildCorePropsPartFilter()
 {
     XmlPartFilter result = new XmlPartFilter(this.m_commonNamespaces);
     result.Triggers.AddRange(GenericMetadataDefinitions.CoreProperties);
     return result;
 }
 private IPartFilter BuildCustomPropsPartFilter(bool bIncludeWorkshareProperties, string contentType)
 {
     XmlPartFilter xpf = new XmlPartFilter(m_commonNamespaces, contentType);
     xpf.ExclusionList = excludeList;
     xpf.Triggers.AddRange(GenericMetadataDefinitions.CustomProperties);
     if(bIncludeWorkshareProperties)
         xpf.Triggers.AddRange(GenericMetadataDefinitions.WorkshareProperties);
     return xpf;
 }