Ejemplo n.º 1
0
 public XName GetXName(XElement elem, string reference)
 {
     string[] parts = reference.Split(':');
     if (parts.Length == 2)
     {
         XNamespace ns = elem.GetNamespaceOfPrefix(parts[0]);
         if (ns != null)
         {
             return ns + parts[1];
         }
         else
         {
             this.Importer.Diagnostics.AddError("Invalid namespace prefix: " + parts[0], this.Uri, this.GetTextSpan(elem));
             return null;
         }
     }
     else if (parts.Length == 1)
     {
         XNamespace ns = elem.GetDefaultNamespace();
         return ns + parts[0];
     }
     else
     {
         return null;
     }
 }
        private static bool AddReferences(IList<string> files, XElement itemGroupElement, string sourceFolder, bool needsExtending)
        {
            var xmlNamespace = itemGroupElement.GetDefaultNamespace();
            var fileAdded = false;

            if (needsExtending)
            {
                files = files.Select(x => string.Format("{0}{1}", x, Program.NEEDS_EXTENDING_EXTENSION)).ToList();
            }

            foreach (var file in files)
            {
                var hasTs = itemGroupElement
                        .Descendants()
                        .Any(descendant =>
                            descendant.Attribute("Include") != null &&
                            string.Format(@"{0}\{1}.ts", sourceFolder, file) == descendant.Attribute("Include").Value);

                if (hasTs)
                {
                    continue;
                }

                fileAdded = true;

                XElement typeScriptCompileElement;
                typeScriptCompileElement = new XElement(xmlNamespace + "TypeScriptCompile");
                typeScriptCompileElement.SetAttributeValue("Include", string.Format(@"{0}\{1}.ts", sourceFolder, file));

                itemGroupElement.Add(typeScriptCompileElement);
            }

            return fileAdded;
        }
Ejemplo n.º 3
0
        // unlike other XmlWriters the callers must set xmlns
        // attribute to overwrite prefix.
        void FillXmlns(XElement el, string prefix, XNamespace xns)
        {
            if (xns == XNamespace.Xmlns)
            {
                // do nothing for xmlns attributes
                return;
            }
            if (prefix == null)
            {
                return;
            }

            if (xns == XNamespace.None)
            {
                var xnsPrefix = el.GetPrefixOfNamespace(xns);
                if (xnsPrefix != null && xnsPrefix != prefix)
                {
                    el.SetAttributeValue(prefix == String.Empty ? XNamespace.None.GetName("xmlns") : XNamespace.Xmlns.GetName(prefix), xns.NamespaceName);
                }
            }
            else if (el.GetDefaultNamespace() != XNamespace.None)
            {
                el.SetAttributeValue(XNamespace.None.GetName("xmlns"), xns.NamespaceName);
            }
        }
Ejemplo n.º 4
0
        public TokenData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.Key = data.Element(ns + "Key").Value;
        }
        internal static Blogger Deserialize(XElement element)
        {
            if (element == null)
            {
                return null;
            }

            var ns = element.GetDefaultNamespace();
            var id = element.Element(ns + "id");
            var title = element.Element(ns + "title");
            var updated = element.Element(ns + "updated");
            var href = element.Element(ns + "link")?.Attribute("href");
            var blogapp = element.Element(ns + "blogapp");
            var avatar = element.Element(ns + "avatar");
            var postcount = element.Element(ns + "postcount");

            if (id == null || title == null || updated == null || href == null || blogapp == null || avatar == null || postcount == null)
            {
                return null;
            }

            return new Blogger
            {
                Id = new Uri(id.Value, UriKind.Absolute),
                Title = title.Value,
                Updated = DateTime.Parse(updated.Value, CultureInfo.InvariantCulture),
                Link = new Uri(href.Value, UriKind.Absolute),
                BlogApp = blogapp.Value,
                Avatar = avatar.IsEmpty ? null : new Uri(avatar.Value, UriKind.Absolute),
                PostCount = int.Parse(postcount.Value, CultureInfo.InvariantCulture)
            };
        }
        internal static ArticleAuthor Deserialize(XElement element)
        {
            if (element == null)
            {
                return null;
            }

            var ns = element.GetDefaultNamespace();
            var name = element.Element(ns + "name");
            var uri = element.Element(ns + "uri");
            var avatar = element.Element(ns + "avatar");

            if (name == null || uri == null)
            {
                return null;
            }

            var articleAuthor = new ArticleAuthor
            {
                Name = name.Value,
                Uri = new Uri(uri.Value, UriKind.Absolute)
            };
            if (avatar != null && avatar.IsEmpty == false)
            {
                articleAuthor.Avator = new Uri(avatar.Value, UriKind.Absolute);
            }
            return articleAuthor;
        }
Ejemplo n.º 7
0
        private static string GetItemAuthor(XElement item)
        {
            var content = string.Empty;

            if (item != null && !string.IsNullOrEmpty(item.Element(item.GetDefaultNamespace() + "author").Value))
            {
                content = item.Element(item.GetDefaultNamespace() + "author").GetSafeElementString("name");
            }

            if (string.IsNullOrEmpty(content))
            {
                content = item.GetSafeElementString("author");
            }

            return content;
        }
Ejemplo n.º 8
0
        public static MPD LoadMPD(XElement element)
        {
            var ns = element.GetDefaultNamespace().NamespaceName;
            var result = new MPD();

            result.Id = (string)element.Attribute("id");
            result.Profiles = (string)element.Attribute("profiles");
            result.Type = element.Attribute("type").GetEnum<Presentation>();
            result.AvailabilityStartTime = element.Attribute("availabilityStartTime").GetNullableDateTime();
            result.AvailabilityEndTime = element.Attribute("availabilityEndTime").GetNullableDateTime();
            result.MediaPresentationDuration = element.Attribute("mediaPresentationDuration").GetNullableDuration();
            result.MinimumUpdatePeriod = element.Attribute("minimumUpdatePeriod").GetNullableDuration();
            result.MinBufferTime = element.Attribute("minBufferTime").GetNullableDuration();
            result.TimeShiftBufferDepth = element.Attribute("timeShiftBufferDepth").GetNullableDuration();
            result.SuggestedPresentationDelay = element.Attribute("suggestedPresentationDelay").GetNullableDuration();
            result.MaxSegmentDuration = element.Attribute("maxSegmentDuration").GetNullableDuration();
            result.MaxSubsegmentDuration = element.Attribute("maxSubsegmentDuration").GetNullableDuration();
            result.AnyAttr.AddRange(element.Attributes());

            result.ProgramInformation.AddRange(element.Elements(XName.Get("ProgramInformation", ns)).Select(LoadProgramInformation));
            result.BaseURL.AddRange(element.Elements(XName.Get("BaseURL", ns)).Select(LoadBaseURL));
            result.Location.AddRange(element.Elements(XName.Get("Location", ns)).Select(e => e.Value));
            result.Period.AddRange(element.Elements(XName.Get("Period", ns)).Select(LoadPeriod));
            result.Metrics.AddRange(element.Elements(XName.Get("Metrics", ns)).Select(LoadMetrics));
            result.Any.AddRange(element.Elements());

            return result;
        }
Ejemplo n.º 9
0
        public static string[] GetLayerList(XElement xEle)
        {
            List<string> lst = new List<string>();
            XNamespace aw = xEle.GetDefaultNamespace();
            IEnumerable<XElement> de = from el in xEle.Descendants(aw + "Layer") select el;

            foreach (XElement el in de)
            {
                if (el.Elements(aw + "Name").Count() > 0)
                {
                    lst.Add(el.Elements(aw + "Name").First().Value);
                }
            }

            if (lst.Count() > 0)
            {
                string[] lyrList = new string[lst.Count];

                for (int i = 0; i < lst.Count; i++)
                {
                    lyrList[i] = lst[i];
                }
                return lyrList;
            }
            return null;
        }
 public IdentityEntityProperties(XElement parent, PropertyExtensionContext context)
 {
     this.propertyManager = new PropertyManager(parent.GetDefaultNamespace());
     this.context = context;
     this.parent = parent;
     this.parent.Changed += parentChanged;
 }
Ejemplo n.º 11
0
        public CategoryData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.Name = data.Element(ns + "Name").Value;
            this.IsActive = bool.Parse(data.Element(ns + "IsActive").Value);
        }
Ejemplo n.º 12
0
        public WikiPage(XElement page)
        {
            title = page.Element(page.GetDefaultNamespace() + "title").Value;
            ns = int.Parse(page.Element(page.GetDefaultNamespace() + "ns").Value);
            id = long.Parse(page.Element(page.GetDefaultNamespace() + "id").Value);

            XElement revision = page.Element(page.GetDefaultNamespace() + "revision");
            //revid = long.Parse(revision.Element(revision.GetDefaultNamespace() + "id").Value);
            //try { parentid = long.Parse(revision.Element(revision.GetDefaultNamespace() + "parentid").Value); }
            //catch { }
            timestamp = DateTime.Parse(revision.Element(revision.GetDefaultNamespace() + "timestamp").Value);
            text = revision.Element(revision.GetDefaultNamespace() + "text").Value;
            text = text.Replace("\n", "\r\n");
            tf_IDF_Vec = new TF_IDF_Vector();

            //this.page = new Page();
        }
Ejemplo n.º 13
0
			public static IEnumerable<SkipItem> LoadXml(XElement element)
			{
				var ns = element.GetDefaultNamespace();
				foreach (var child in element.Elements())
				{
					yield return new SkipItem(child);
				}
			}
Ejemplo n.º 14
0
        public ProjectData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.Name = data.Element(ns + "Name").Value;
            this.LastNote = new NoteData(data.Element(ns + "Notes").Elements(ns + "NoteData").FirstOrDefault());
            this.IsActive = bool.Parse(data.Element(ns + "IsActive").Value);
        }
Ejemplo n.º 15
0
        public SourceData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.SourceId = int.Parse(data.Element(ns + "SourceId").Value);
            this.Type = data.Element(ns + "Type").Value;
            this.Name = data.Element(ns + "Name").Value;
        }
Ejemplo n.º 16
0
        public UserData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.UserId = int.Parse(data.Element(ns + "UserId").Value);
            this.Email = data.Element(ns + "Email").Value;
            this.Name = data.Element(ns + "Name").Value;
        }
Ejemplo n.º 17
0
			public static IEnumerable<SkipGroup> LoadXml(XElement element)
			{
				if (element == null)
					yield break;
				var ns = element.GetDefaultNamespace();
				foreach (var child in element.Elements(ns + "SkipGroup"))
				{
					yield return new SkipGroup(child);
				}
			}
Ejemplo n.º 18
0
		public static IEnumerable<OptionValue> LoadXml(XElement element)
		{
			if (element == null)
				yield break;
			var ns = element.GetDefaultNamespace();
			foreach (var child in element.Elements(ns + "Value"))
			{
				yield return new OptionValue(child);
			}
		}
Ejemplo n.º 19
0
        public UserData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.UserId = int.Parse(data.Element(ns + "UserId").Value);
            this.Email = data.Element(ns + "Email").Value;
            this.Name = data.Element(ns + "Name").Value;
            this.Status = new TimelineData(data.Element(ns + "Timelines").Elements(ns + "TimelineData").FirstOrDefault());
        }
Ejemplo n.º 20
0
        public HourData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.Date = DateTime.Parse(data.Element(ns + "Date").Value);
            this.Project = new ProjectData(data.Element(ns + "Project"));
            this.Duration = decimal.Parse(data.Element(ns + "Duration").Value);
            this.User = new UserData(data.Element(ns + "User"));
            this.Notes = data.Element(ns + "Notes").Value;
        }
Ejemplo n.º 21
0
        public TaskData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.TaskId = int.Parse(data.Element(ns + "TaskId").Value);
            this.Description = data.Element(ns + "Description").Value;
            this.AssignedTo = new UserData(data.Element(ns + "AssignedTo"));
            this.Status = new StatusData(data.Element(ns + "Status"));
            this.Category = new CategoryData(data.Element(ns + "Category"));
        }
Ejemplo n.º 22
0
            public InternalPackage(XElement element)
            {
                if (element.Element(XName.Get("Identity", element.GetDefaultNamespace().NamespaceName)) != null)
                {
                    this.Identity = new InternalIdentity(element.Element(XName.Get("Identity", element.GetDefaultNamespace().NamespaceName)));
                }
                if(element.Element(XName.Get("PhoneIdentity", "http://schemas.microsoft.com/appx/2014/phone/manifest")) != null) {
                    this.PhoneIdentity = new PhoneIdentity(element.Element(XName.Get("PhoneIdentity", "http://schemas.microsoft.com/appx/2014/phone/manifest")));
                }

                this.Properties = new Dictionary<string, string>();
                var xProps = element.Element(XName.Get("Properties", element.GetDefaultNamespace().NamespaceName));
                if (xProps != null)
                {
                    foreach (XElement current in xProps.Elements())
                    {
                        this.Properties.Add(current.Name.LocalName, current.Value);
                    }
                }
            }
Ejemplo n.º 23
0
		public static string ToString(this XamlContext ctx, XElement elem, XName name) {
			var sb = new StringBuilder();
			if (name.Namespace != elem.GetDefaultNamespace() &&
			    name.Namespace != elem.Name.Namespace &&
			    !string.IsNullOrEmpty(name.Namespace.NamespaceName)) {
				sb.Append(elem.GetPrefixOfNamespace(name.Namespace));
				sb.Append(':');
			}
			sb.Append(name.LocalName);
			return sb.ToString();
		}
Ejemplo n.º 24
0
        public FeedSourceData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.FeedSourceMemberId = int.Parse(data.Element(ns + "FeedSourceMemberId").Value);
            this.FeedId = int.Parse(data.Element(ns + "FeedId").Value);
            this.Source = new SourceData(data.Element(ns + "Source"));
            this.CreatedBy = new UserData(data.Element(ns + "CreatedBy"));
            this.CreatedDate = DateTime.Parse(data.Element(ns + "CreatedDate").Value);
        }
Ejemplo n.º 25
0
        internal static News Deserialize(XElement element)
        {
            if (element == null)
            {
                return null;
            }

            var ns = element.GetDefaultNamespace();
            var id = element.Element(ns + "id");
            var title = element.Element(ns + "title");
            var summary = element.Element(ns + "summary");
            var published = element.Element(ns + "published");
            var updated = element.Element(ns + "updated");
            var href = element.Element(ns + "link")?.Attribute("href");
            var diggs = element.Element(ns + "diggs");
            var views = element.Element(ns + "views");
            var comments = element.Element(ns + "comments");
            var topic = element.Element(ns + "topic");
            var topicIcon = element.Element(ns + "topicIcon");
            var sourceName = element.Element(ns + "sourceName");

            if (id == null
                || title == null
                || summary == null
                || published == null
                || updated == null
                || href == null
                || diggs == null
                || views == null
                || comments == null
                || topic == null
                || topicIcon == null
                || sourceName == null)
            {
                return null;
            }

            return new News
            {
                Id = int.Parse(id.Value, CultureInfo.InvariantCulture),
                Title = WebUtility.HtmlDecode(title.Value).Trim(),
                Summary = WebUtility.HtmlDecode(summary.Value),
                Published = DateTime.Parse(published.Value, CultureInfo.InvariantCulture),
                Updated = DateTime.Parse(updated.Value, CultureInfo.InvariantCulture),
                Link = new Uri(href.Value, UriKind.Absolute),
                Diggs = int.Parse(diggs.Value, CultureInfo.InvariantCulture),
                Views = int.Parse(views.Value, CultureInfo.InvariantCulture),
                Comments = int.Parse(comments.Value, CultureInfo.InvariantCulture),
                Topic = topic.Value,
                TopicIcon = topicIcon.IsEmpty ? null : new Uri(topicIcon.Value, UriKind.Absolute),
                SourceName = sourceName.Value
            };
        }
Ejemplo n.º 26
0
        public ProjectData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.ProjectId = int.Parse(data.Element(ns + "ProjectId").Value);
            this.Description = data.Element(ns + "Description").Value;
            this.IsActive = bool.Parse(data.Element(ns + "IsActive").Value);
            this.IsArchived = bool.Parse(data.Element(ns + "IsArchived").Value);
            this.Name = data.Element(ns + "Name").Value;
            this.Status = new TimelineData(data.Element(ns + "Timelines").Elements(ns + "TimelineData").FirstOrDefault());
        }
Ejemplo n.º 27
0
        public TimelineData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.TimelineId = int.Parse(data.Element(ns + "TimelineId").Value);
            this.Body = data.Element(ns + "Body").Value;
            this.IsArchived = bool.Parse(data.Element(ns + "IsArchived").Value);
            this.CreatedBy = new UserData(data.Element(ns + "CreatedBy"));
            this.CreatedDate = DateTime.Parse(data.Element(ns + "CreatedDate").Value);
            this.ModifiedDate = DateTime.Parse(data.Element(ns + "ModifiedDate").Value);
        }
Ejemplo n.º 28
0
        public InvoiceData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.Project = new ProjectData(data.Element(ns + "Project"));
            this.Task = new TaskData(data.Element(ns + "Task"));
            this.Number = data.Element(ns + "Number").Value;
            this.Description = data.Element(ns + "Description").Value;
            this.PreparedDate = DateTime.Parse(data.Element(ns + "PreparedDate").Value);
            this.Amount = decimal.Parse(data.Element(ns + "Amount").Value);
            this.CreatedBy = new UserData(data.Element(ns + "CreatedBy"));
            this.CreatedDate = DateTime.Parse(data.Element(ns + "CreatedDate").Value);
        }
Ejemplo n.º 29
0
        static void SetDefaultNamespace(XElement element, XNamespace newXmlns)
        {
            var currentXmlns = element.GetDefaultNamespace();
            if (currentXmlns == newXmlns)
            {
                return;
            }

            foreach (var descendant in element.DescendantsAndSelf()
                .Where(e => e.Name.Namespace == currentXmlns))
            {
                descendant.Name = newXmlns.GetName(descendant.Name.LocalName);
            }
        }
Ejemplo n.º 30
0
        public ProjectData(XElement data)
            : this()
        {
            var ns = data.GetDefaultNamespace();

            this.ProjectId = int.Parse(data.Element(ns + "ProjectId").Value);
            this.Name = data.Element(ns + "Name").Value;
            this.Description = data.Element(ns + "Description").Value;
            this.IsActive = bool.Parse(data.Element(ns + "IsActive").Value);
            this.IsArchived = bool.Parse(data.Element(ns + "IsArchived").Value);
            this.CreatedBy = new UserData(data.Element(ns + "CreatedBy"));
            this.CreatedDate = DateTime.Parse(data.Element(ns + "CreatedDate").Value);
            this.ModifiedDate = DateTime.Parse(data.Element(ns + "ModifiedDate").Value);
        }
Ejemplo n.º 31
0
		public static IEnumerable<ReplacementGroup> LoadXml(XElement element)
		{
			if (element == null)
				yield break;
			var ns = element.GetDefaultNamespace();
			if (element.Elements(ns + "Replacement").Any())
			{ 
				yield return new ReplacementGroup(element);
			}
			foreach (var child in element.Elements(ns + "ReplacementGroup"))
			{
				yield return new ReplacementGroup(child);
			}
		}
Ejemplo n.º 32
0
        /// <summary>
        /// Sets the default XML namespace of this System.Xml.Linq.XElement and all its descendants
        /// </summary>

        public static void SetDefaultNamespace(this XElement element, XNamespace newXmlns)
        {
            if (newXmlns == null)
            {
                return;
            }
            var currentXmlns = element.GetDefaultNamespace();

            if (currentXmlns == newXmlns)
            {
                return;
            }

            foreach (var descendant in element.DescendantsAndSelf()
                     .Where(e => e.Name.Namespace == currentXmlns)) //!important
            {
                descendant.Name = newXmlns.GetName(descendant.Name.LocalName);
            }
        }
Ejemplo n.º 33
0
 public override string LookupNamespace(string prefix)
 {
     if (this.IsInteractive)
     {
         if (prefix == null)
         {
             return(null);
         }
         XElement elementInScope = this.GetElementInScope();
         if (elementInScope != null)
         {
             XNamespace namespace2 = (prefix.Length == 0) ? elementInScope.GetDefaultNamespace() : elementInScope.GetNamespaceOfPrefix(prefix);
             if (namespace2 != null)
             {
                 return(this.nameTable.Add(namespace2.NamespaceName));
             }
         }
     }
     return(null);
 }
Ejemplo n.º 34
0
        public override string LookupNamespace(string prefix)
        {
            if (!IsInteractive)
            {
                return(null);
            }
            if (prefix == null)
            {
                return(null);
            }
            XElement e = GetElementInScope();

            if (e != null)
            {
                XNamespace ns = prefix.Length == 0 ? e.GetDefaultNamespace() : e.GetNamespaceOfPrefix(prefix);
                if (ns != null)
                {
                    return(nameTable.Add(ns.NamespaceName));
                }
            }
            return(null);
        }
Ejemplo n.º 35
0
 private static XNamespace ResolvePrefix(XElement element, string prefix)
 {
     return(string.IsNullOrEmpty(prefix) ? element.GetDefaultNamespace() : element.GetNamespaceOfPrefix(prefix));
 }