# Class HtmlParsingUtils

java.lang.Object
org.apache.jmeter.protocol.http.parser.HtmlParsingUtils

public final class HtmlParsingUtils extends Object

## Method Summary

Modifier and Type
Method
Description
`static Document`
`createEmptyDoc()`
`static HTTPSamplerBase`
`createUrlFromAnchor(String parsedUrlString, URL context)`
Create a new Sampler based on an HREF string plus a contextual URL object.
`static List<HTTPSamplerBase>`
`createURLFromForm(Node doc, URL context)`
`static void`
`extractStyleURLs(URL baseUrl, URLCollection urls, String styleTagStr)`
`static Node`
`getDOM(String text)`
Returns a node representing a whole xml given an xml document.
`static Tidy`
`getParser()`
Returns `tidy` as HTML parser.
`static boolean`
`isAnchorMatched(HTTPSamplerBase newLink, HTTPSamplerBase config)`
Check if anchor matches by checking against: - protocol - domain - path - parameter names
`static boolean`
`isArgumentMatched(Argument arg, Argument patternArg)`
Arguments match if the input name matches the corresponding pattern name and the input value matches the pattern value, where the matching is done first using String equals, and then Regular Expression matching if the equals test fails.
`static boolean`
`isEqualOrMatches(String arg, String pat)`
Match the input argument against the pattern using String.equals() or pattern matching if that fails using case-insensitive matching.
`static boolean`
`isEqualOrMatches(String arg, String pat, Perl5Matcher matcher, PatternCacheLRU cache)`
Match the input argument against the pattern using String.equals() or pattern matching if that fails.
`static boolean`
`isEqualOrMatchesCaseBlind(String arg, String pat)`
Match the input argument against the pattern using String.equals() or pattern matching if that fails using case-insensitive matching.
`static boolean`
`isEqualOrMatchesCaseBlind(String arg, String pat, Perl5Matcher matcher, PatternCacheLRU cache)`
Match the input argument against the pattern using String.equals() or pattern matching if that fails using case-insenssitive matching.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### isAnchorMatched

public static boolean isAnchorMatched(HTTPSamplerBase newLink, HTTPSamplerBase config)
Check if anchor matches by checking against: - protocol - domain - path - parameter names

Parameters:
  `newLink` - target to match
  `config` - pattern to match against
Returns:
  true if target URL matches pattern URL

### isArgumentMatched

public static boolean isArgumentMatched(Argument arg, Argument patternArg)
Arguments match if the input name matches the corresponding pattern name and the input value matches the pattern value, where the matching is done first using String equals, and then Regular Expression matching if the equals test fails.

Parameters:
  `arg` - - input Argument
  `patternArg` - - pattern to match against
Returns:
  true if both name and value match

### isEqualOrMatches

public static boolean isEqualOrMatches(String arg, String pat, Perl5Matcher matcher, PatternCacheLRU cache)
Match the input argument against the pattern using String.equals() or pattern matching if that fails.

Parameters:
  `arg` - input string
  `pat` - pattern string
  `matcher` - Perl5Matcher
  `cache` - PatternCache
Returns:
  true if input matches the pattern

### isEqualOrMatchesCaseBlind

public static boolean isEqualOrMatchesCaseBlind(String arg, String pat, Perl5Matcher matcher, PatternCacheLRU cache)
Match the input argument against the pattern using String.equals() or pattern matching if that fails using case-insenssitive matching.

Parameters:
  `arg` - input string
  `pat` - pattern string
  `matcher` - Perl5Matcher
  `cache` - PatternCache
Returns:
  true if input matches the pattern

### isEqualOrMatches

public static boolean isEqualOrMatches(String arg, String pat)
Match the input argument against the pattern using String.equals() or pattern matching if that fails using case-insensitive matching.

Parameters:
  `arg` - input string
  `pat` - pattern string
Returns:
  true if input matches the pattern

### isEqualOrMatchesCaseBlind

public static boolean isEqualOrMatchesCaseBlind(String arg, String pat)
Match the input argument against the pattern using String.equals() or pattern matching if that fails using case-insensitive matching.

Parameters:
  `arg` - input string
  `pat` - pattern string
Returns:
  true if input matches the pattern

### getParser

public static Tidy getParser()
Returns `tidy` as HTML parser.

Returns:
  a `tidy` HTML parser

### getDOM

public static Node getDOM(String text)
Returns a node representing a whole xml given an xml document.

Parameters:
  `text` - an xml document
Returns:
  a node representing a whole xml

### createEmptyDoc

public static Document createEmptyDoc()

### createUrlFromAnchor

public static HTTPSamplerBase createUrlFromAnchor(String parsedUrlString, URL context) throws MalformedURLException
Create a new Sampler based on an HREF string plus a contextual URL object. Given that an HREF string might be of three possible forms, some processing is required.

Parameters:
  `parsedUrlString` - the url from the href
  `context` - the context in which the href was found. This is used to extract url information that might be missing in `parsedUrlString`
Returns:
  sampler with filled in information about the fully parsed url
Throws:
  `MalformedURLException` - when the given url (`parsedUrlString` plus `context` is malformed)

### createURLFromForm

public static List<HTTPSamplerBase> createURLFromForm(Node doc, URL context)

### extractStyleURLs

public static void extractStyleURLs(URL baseUrl, URLCollection urls, String styleTagStr)