public void Bug225919Test()
        {
            string propertiesXml = "<ap:Properties xmlns:ap=\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\">" +
                                   "<ap:TitlesOfParts>" +
                                   "<vt:vector baseType=\"lpstr\" size=\"1\" xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\">" +
                                   "<vt:lpstr />" +
                                   "</vt:vector>" +
                                   "</ap:TitlesOfParts>" +
                                   "</ap:Properties>";

            var properties = new DocumentFormat.OpenXml.ExtendedProperties.Properties();
            var property   = properties.AppendChild(new DocumentFormat.OpenXml.ExtendedProperties.TitlesOfParts());

            property.VTVector          = new DocumentFormat.OpenXml.VariantTypes.VTVector();
            property.VTVector.BaseType = DocumentFormat.OpenXml.VariantTypes.VectorBaseValues.Lpstr;
            property.VTVector.Size     = 1;
            property.VTVector.AppendChild(new DocumentFormat.OpenXml.VariantTypes.VTLPSTR());

            Assert.Equal(propertiesXml, properties.OuterXml);

            propertiesXml = "<op:Properties xmlns:op=\"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\">" +
                            "<op:property fmtid=\"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}\" pid=\"2\" name=\"crap\">" +
                            "<vt:bool xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\">true</vt:bool>" +
                            "</op:property>" +
                            "</op:Properties>";

            var customProperties = new DocumentFormat.OpenXml.CustomProperties.Properties();
            var foo = new DocumentFormat.OpenXml.CustomProperties.CustomDocumentProperty();

            foo.Name = "crap";

            // format id is required, i copied this from a Word document.
            foo.FormatId = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}";

            // property id is required.
            foo.PropertyId = 2;
            foo.VTBool     = new DocumentFormat.OpenXml.VariantTypes.VTBool("true");
            customProperties.AppendChild(foo);

            Assert.Equal(propertiesXml, customProperties.OuterXml);

            var clone = customProperties.CloneNode(true);

            Assert.Equal(0, clone.GetAttributes().Count);
            Assert.Equal(propertiesXml, clone.OuterXml);
        }
        public static void GenerateCustomFilePropertiesPart1Content(CustomFilePropertiesPart customFilePropertiesPart1)
        {
            var properties2 = new DocumentFormat.OpenXml.CustomProperties.Properties();

            properties2.AddNamespaceDeclaration("vt", "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes");

            var customDocumentProperty1 = new DocumentFormat.OpenXml.CustomProperties.CustomDocumentProperty()
            {
                FormatId = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}", PropertyId = 2, Name = "ContentTypeId"
            };
            var vTLPWSTR1 =
                new DocumentFormat.OpenXml.VariantTypes.VTLPWSTR {
                Text = "0x0101004B3CC135CC07AD41A19C6A3D7A557156"
            };

            customDocumentProperty1.Append(vTLPWSTR1);

            properties2.Append(customDocumentProperty1);

            customFilePropertiesPart1.Properties = properties2;
        }