Example #1
0
        public static SitecoreInstance GetCorrectSpeakConfig()
        {
            var doc = new XmlDocument()
                      .Create(AspnetPageExtendersRootNode)
                      .Add(@"/configuration/sitecore", "pipelines")
                      .Add(@"/configuration/sitecore/pipelines", "mvc.renderPageExtenders");

            foreach (var aspnetSpeakProcessor in AspnetSpeakProcessors)
            {
                var processor = string.Format(ExtenderFormat, aspnetSpeakProcessor);
                doc.Add(AspnetPageExtendersRootNode, processor);
            }

            foreach (var mvcSpeakProcessor in MvcSpeakProcessors)
            {
                var processor = string.Format(ProcessorFormat, mvcSpeakProcessor);
                doc.Add(MvcPageExtendersRootNode, processor);
            }

            return(new SitecoreInstance
            {
                Configuration = doc,
                Version = new SitecoreVersion(8, 0, 0)
            });
        }
Example #2
0
        // Start a snapshot at the root object, using own namespace manager.

        // Creates an XElement representing this object, and appends it as the root
        // element of the Document.
        //
        // The Document must not yet have a root element Additionally, the supplied
        // schemaManager must be populated with any application-level namespaces
        // referenced in the document that the parentElement resides within.
        // (Normally this is achieved simply by using AppendXml passing in a new
        // schemaManager - see ToXml() or XmlSnapshot).

        private Place AppendXml(INakedObjectAdapter nakedObjectAdapter)
        {
            var fullyQualifiedClassName = nakedObjectAdapter.Spec.FullName;

            Schema.SetUri(fullyQualifiedClassName); // derive URI from fully qualified name

            var place = ObjectToElement(nakedObjectAdapter);

            var element          = place.XmlElement;
            var xsElementElement = element.Annotation <XElement>();

            XmlDocument.Add(element);

            XsdElement.Add(xsElementElement);

            Schema.SetTargetNamespace(XsdDocument, fullyQualifiedClassName);

            var schemaLocationFileName = fullyQualifiedClassName + ".xsd";

            Schema.AssignSchema(XmlDocument, fullyQualifiedClassName, schemaLocationFileName);

            XmlElement             = element;
            SchemaLocationFileName = schemaLocationFileName;

            return(place);
        }
Example #3
0
        // Creates an XElement representing this object, and appends it as the root
        // element of the Document.
        //
        // The Document must not yet have a root element Additionally, the supplied
        // schemaManager must be populated with any application-level namespaces
        // referenced in the document that the parentElement resides within.
        // (Normally this is achieved simply by using AppendXml passing in a new
        // schemaManager - see ToXml() or XmlSnapshot).

        private Place AppendXml(INakedObject nakedObject)
        {
            Log.Debug("appendXml(" + DoLog("obj", nakedObject) + "')");

            string fullyQualifiedClassName = nakedObject.Spec.FullName;

            Schema.SetUri(fullyQualifiedClassName); // derive URI from fully qualified name

            Place place = ObjectToElement(nakedObject);

            XElement element          = place.XmlElement;
            var      xsElementElement = element.Annotation <XElement>();

            Log.Debug("appendXml(NO): add as element to XML doc");
            XmlDocument.Add(element);

            Log.Debug("appendXml(NO): add as xs:element to xs:schema of the XSD document");
            XsdElement.Add(xsElementElement);

            Log.Debug("appendXml(NO): set target name in XSD, derived from FQCN of obj");
            Schema.SetTargetNamespace(XsdDocument, fullyQualifiedClassName);

            Log.Debug("appendXml(NO): set schema location file name to XSD, derived from FQCN of obj");
            string schemaLocationFileName = fullyQualifiedClassName + ".xsd";

            Schema.AssignSchema(XmlDocument, fullyQualifiedClassName, schemaLocationFileName);

            Log.Debug("appendXml(NO): copy into snapshot obj");
            XmlElement             = element;
            SchemaLocationFileName = schemaLocationFileName;

            return(place);
        }
Example #4
0
        public void XmlCreationTest()
        {
            string      expected = "<Root><Item1>1</Item1><Item2 id=\"test\">2</Item2><Item3>3</Item3><Item4><SubItem1>s1</SubItem1><SubItem2>s2</SubItem2></Item4></Root>";
            XmlDocument xmlDoc   = new XmlDocument();

            xmlDoc.Add("Root",
                       xmlDoc.NewElement("Item1", "1"),
                       xmlDoc.NewElement("Item2", new[] { "id", "test" }, "2"),
                       xmlDoc.NewElement("Item3", "3"),
                       xmlDoc.NewElement("Item4",
                                         xmlDoc.NewElement("SubItem1", "s1"),
                                         xmlDoc.NewElement("SubItem2", "s2")));
            Assert.AreEqual(expected, xmlDoc.InnerXml);
        }
        public void AddTest()
        {
            {
                var doc1 = new XmlDocument().Create("/root/test1");
                var root = doc1.DocumentElement;
                Assert.IsNotNull(root);
                var doc2 = doc1.Add(root, "/test2");
                Assert.AreEqual(doc1, doc2);
                root = doc1.DocumentElement;
                Assert.IsNotNull(root);
                Assert.AreEqual("root", root.Name);
                Assert.AreEqual(2, root.ChildNodes.Count);
                var test1 = root.ChildNodes[0];
                Assert.IsNotNull(test1);
                Assert.AreEqual("test1", test1.Name);
                var test2 = root.ChildNodes[1];
                Assert.IsNotNull(test2);
                Assert.AreEqual("test2", test2.Name);
            }

            {
                var doc1 = new XmlDocument().Create("/root/test1");
                var root = doc1.DocumentElement;
                Assert.IsNotNull(root);
                var doc2 = doc1.Add(root, "/test2[@hello='123']");
                Assert.AreEqual(doc1, doc2);
                root = doc1.DocumentElement;
                Assert.IsNotNull(root);
                Assert.AreEqual("root", root.Name);
                Assert.AreEqual(2, root.ChildNodes.Count);
                var test1 = root.ChildNodes[0];
                Assert.IsNotNull(test1);
                Assert.AreEqual("test1", test1.Name);
                var test2 = root.ChildNodes[1] as XmlElement;
                Assert.IsNotNull(test2);
                Assert.AreEqual("test2", test2.Name);
                Assert.AreEqual("123", test2.GetAttribute("hello"));
            }
        }