SetFieldSlots() private method

private SetFieldSlots ( ) : void
return void
Ejemplo n.º 1
0
        //======================================================================================================= Runtime ContentType

        internal static ContentType Create(Type type, string ctd)
        {
            var contentType = new ContentType(ContentType.GetByName("GenericContent"));//HACK: come from ctd

            var reader    = new StringReader(ctd);
            var xml       = new XPathDocument(reader);
            var nametable = new NameTable();
            var nav       = xml.CreateNavigator();
            var nsres     = new XmlNamespaceManager(nav.NameTable);

            nsres.AddNamespace("x", ContentDefinitionXmlNamespace);
            var contentTypeElement = nav.Select("/x:ContentType", nsres);

            contentTypeElement.MoveNext();
            var contentTypeName = contentTypeElement.Current.GetAttribute("name", "");

            contentType.Name = contentTypeName;
            var fieldElements = nav.Select("/x:ContentType/x:Fields/x:Field", nsres);

            foreach (XPathNavigator fieldElement in fieldElements)
            {
                var fieldDescriptor = FieldDescriptor.Parse(fieldElement, nsres, contentType);
                var fieldSetting    = FieldSetting.Create(fieldDescriptor);
                contentType.FieldSettings.Add(fieldSetting);
            }
            contentType.SetFieldSlots(type);
            return(contentType);
        }
Ejemplo n.º 2
0
        private static ContentType Create(ISupportsDynamicFields handler, ContentType baseContentType, string ctd)
        {
            var contentType = new ContentType(baseContentType);

            contentType.DisplayName = baseContentType.DisplayName;
            contentType.Description = baseContentType.Description;

            //contentType.ParentType = baseContentType.ParentType;
            contentType.ParentType = baseContentType;

            contentType.FieldSettings.AddRange(baseContentType.FieldSettings);

            var reader    = new StringReader(ctd);
            var xml       = new XPathDocument(reader);
            var nametable = new NameTable();
            var nav       = xml.CreateNavigator();
            var nsres     = new XmlNamespaceManager(nav.NameTable);

            nsres.AddNamespace("x", ContentDefinitionXmlNamespace);
            var contentTypeElement = nav.Select("/x:ContentType", nsres);

            contentTypeElement.MoveNext();
            var contentTypeName = contentTypeElement.Current.GetAttribute("name", "");

            contentType.Name = contentTypeName;
            var fieldElements = nav.Select("/x:ContentType/x:Fields/x:Field", nsres);

            foreach (XPathNavigator fieldElement in fieldElements)
            {
                var fieldDescriptor = FieldDescriptor.Parse(fieldElement, nsres, contentType);
                var fieldSetting    = FieldSetting.Create(fieldDescriptor);
                contentType.SetFieldSlots(fieldSetting, handler);
                contentType.FieldSettings.Add(fieldSetting);
            }
            return(contentType);
        }
Ejemplo n.º 3
0
        private static ContentType Create(ISupportsDynamicFields handler, ContentType baseContentType, string ctd)
        {
            var contentType = new ContentType(baseContentType);
            contentType.DisplayName = baseContentType.DisplayName;
            contentType.Description = baseContentType.Description;

            //contentType.ParentType = baseContentType.ParentType;
            contentType.ParentType = baseContentType;

            contentType.FieldSettings.AddRange(baseContentType.FieldSettings);

            var reader = new StringReader(ctd);
            var xml = new XPathDocument(reader);
            var nametable = new NameTable();
            var nav = xml.CreateNavigator();
            var nsres = new XmlNamespaceManager(nav.NameTable);
            nsres.AddNamespace("x", ContentDefinitionXmlNamespace);
            var contentTypeElement = nav.Select("/x:ContentType", nsres);
            contentTypeElement.MoveNext();
            var contentTypeName = contentTypeElement.Current.GetAttribute("name", "");
            contentType.Name = contentTypeName;
            var fieldElements = nav.Select("/x:ContentType/x:Fields/x:Field", nsres);
            foreach (XPathNavigator fieldElement in fieldElements)
            {
                var fieldDescriptor = FieldDescriptor.Parse(fieldElement, nsres, contentType);
                var fieldSetting = FieldSetting.Create(fieldDescriptor);
                contentType.SetFieldSlots(fieldSetting, handler);
                contentType.FieldSettings.Add(fieldSetting);
            }
            return contentType;
        }
Ejemplo n.º 4
0
        //======================================================================================================= Runtime ContentType

        internal static ContentType Create(Type type, string ctd)
        {
            var contentType = new ContentType(ContentType.GetByName("GenericContent"));//HACK: come from ctd

            var reader = new StringReader(ctd);
            var xml = new XPathDocument(reader);
            var nametable = new NameTable();
            var nav = xml.CreateNavigator();
            var nsres = new XmlNamespaceManager(nav.NameTable);
            nsres.AddNamespace("x", ContentDefinitionXmlNamespace);
            var contentTypeElement = nav.Select("/x:ContentType", nsres);
            contentTypeElement.MoveNext();
            var contentTypeName = contentTypeElement.Current.GetAttribute("name", "");
            contentType.Name = contentTypeName;
            var fieldElements = nav.Select("/x:ContentType/x:Fields/x:Field", nsres);
            foreach (XPathNavigator fieldElement in fieldElements)
            {
                var fieldDescriptor = FieldDescriptor.Parse(fieldElement, nsres, contentType);
                var fieldSetting = FieldSetting.Create(fieldDescriptor);
                contentType.FieldSettings.Add(fieldSetting);
            }
            contentType.SetFieldSlots(type);
            return contentType;
        }