public static bool TryParseWellFormedWebExtension(XElement itemElement, out WellFormedWebExtension extension)
        {
            extension = null;

            if (itemElement == null)
            {
                return(false);
            }

            foreach (var ns in WellFormedWebExtensionConstants.RecognizedNamespaces)
            {
                if (TryParseWfwTextElement(itemElement.Element(ns + "comment"), out var parsedComment))
                {
                    extension         = extension ?? new WellFormedWebExtension();
                    extension.Comment = parsedComment;
                }

                if (TryParseWfwTextElement(itemElement.Element(ns + "commentRss"), out var parsedCommentRss))
                {
                    extension            = extension ?? new WellFormedWebExtension();
                    extension.CommentRss = parsedCommentRss;
                }
                else if (TryParseWfwTextElement(itemElement.Element(ns + "commentRSS"), out var parsedCommentRSS))
                {
                    extension            = extension ?? new WellFormedWebExtension();
                    extension.CommentRss = parsedCommentRSS;
                }
            }

            return(extension != null);
        }
        public static bool TryFormatWellFormedWebExtension(WellFormedWebExtension extensionToFormat, XNamespaceAliasSet namespaceAliases, out IList <XElement> elements)
        {
            elements = default;

            if (extensionToFormat == null)
            {
                return(false);
            }

            elements = new List <XElement>();

            if (TryFormatWfwTextElement(extensionToFormat.Comment, "comment", namespaceAliases, out var commentElement))
            {
                elements.Add(commentElement);
            }

            if (TryFormatWfwTextElement(extensionToFormat.CommentRss, "commentRss", namespaceAliases, out var commentRssElement))
            {
                elements.Add(commentRssElement);
            }

            if (!elements.Any())
            {
                return(false);
            }

            return(true);
        }