/// <summary>
        /// Check whether the formatting of a XElement is compatible with a numeric value.
        /// </summary>
        /// <param name="logger">Logger to log issues against.</param>
        /// <param name="element">Element to check</param>
        /// <param name="numericType">Type to check against.</param>
        public static void CheckNumericFormat(this ILogger logger, XElement element, Type numericType)
        {
            if (element == null)
            {
                return;
            }

            logger.CheckNumericFormat(element.Name.ToString(), (string)element, numericType);
        }
        /// <summary>
        /// Check whether the formatting of a node iterator is compatible with a numeric value.
        /// </summary>
        /// <param name="logger">Logger to log issues against.</param>
        /// <param name="nodeIterator">Value to check</param>
        /// <param name="numericType">Type to check against.</param>
        public static void CheckNumericFormat(this ILogger logger, XPathNodeIterator nodeIterator, Type numericType)
        {
            if (nodeIterator.Current == null)
            {
                return;
            }

            logger.CheckNumericFormat(nodeIterator.Current.Name, nodeIterator.Current.Value, numericType);
        }
        /// <summary>
        /// Check whether the formatting of a XAttribute is compatible with a numeric value.
        /// </summary>
        /// <param name="logger">Logger to log issues against.</param>
        /// <param name="attribute">Attribute to check</param>
        /// <param name="numericType">Type to check against.</param>
        public static void CheckNumericFormat(this ILogger logger, XAttribute attribute, Type numericType)
        {
            if (attribute == null)
            {
                return;
            }

            logger.CheckNumericFormat(attribute.Name.ToString(), (string)attribute, numericType);
        }