Пример #1
0
        /// <summary>
        /// Get an Iterator of all the link attribute values in the document.
        /// </summary>
        /// <param name="expressions">The regular expressions to execute on the text</param>
        /// <returns>An enumerator of link attribute matches.</returns>
        internal IEnumerable <LinkReferenceWrapper> GetLinkAttributes(Regex[] expressions)
        {
            string[] templateStringContainer = new string[] { _contentString };;
            foreach (Regex expression in expressions)
            {
                foreach (Match linkMatch in TemplateUtilities.GetRegexMatches(templateStringContainer, expression))
                {
                    LinkReferenceWrapper linkAttribute = new LinkReferenceWrapper(linkMatch);
                    linkAttribute._linkPosition             = linkMatch.Groups[MATCH_PATH_GROUP_NAME];
                    linkAttribute._attributeName            = linkMatch.Groups[MATCH_NAME_GROUP_NAME].ToString();
                    linkAttribute._outputPathAttributeValue = _contentString.Substring
                                                                  (linkAttribute._linkPosition.Index, linkAttribute._linkPosition.Length);
                    yield return(linkAttribute);

                    templateStringContainer[0] = _contentString;
                }
            }
        }