# Class WebXmlParser

java.lang.Object
org.apache.tomcat.util.descriptor.web.WebXmlParser

public class WebXmlParser extends Object
Parser for web.xml and web-fragment.xml deployment descriptors.

## Constructor Summary

Constructors
Constructor
Description
`WebXmlParser(boolean namespaceAware, boolean validation, boolean blockExternal)`
Constructs a new WebXmlParser.
`WebXmlParser(boolean namespaceAware, boolean validation, boolean blockExternal, boolean urlPatternsProvidedInDecodedForm)`
Deprecated.
This constructor will be removed in Tomcat 12

## Method Summary

Modifier and Type
Method
Description
`boolean`
`getUrlPatternsProvidedInDecodedForm()`
Deprecated.
This method will be removed in Tomcat 12 where it will effectively be hard-coded to `true`
`boolean`
`parseWebXml(URL url, WebXml dest, boolean fragment)`
Parse a web descriptor at a location.
`boolean`
`parseWebXml(InputSource source, WebXml dest, boolean fragment)`
Parses a web descriptor from an InputSource.
`void`
`setClassLoader(ClassLoader classLoader)`
Sets the ClassLoader to be used for creating descriptor objects.

### Methods inherited from class Object

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

## Constructor Details

### WebXmlParser

public WebXmlParser(boolean namespaceAware, boolean validation, boolean blockExternal)
Constructs a new WebXmlParser.

Parameters:
  `namespaceAware` - Whether the parser is namespace aware
  `validation` - Whether validation is enabled
  `blockExternal` - Whether external entities are blocked

### WebXmlParser

@Deprecated public WebXmlParser(boolean namespaceAware, boolean validation, boolean blockExternal, boolean urlPatternsProvidedInDecodedForm)
Deprecated.
This constructor will be removed in Tomcat 12
Constructs a new WebXmlParser.

Parameters:
  `namespaceAware` - Whether the parser is namespace aware
  `validation` - Whether validation is enabled
  `blockExternal` - Whether external entities are blocked
  `urlPatternsProvidedInDecodedForm` - Whether URL and URL patterns will be provided in decoded form

## Method Details

### parseWebXml

public boolean parseWebXml(URL url, WebXml dest, boolean fragment) throws IOException
Parse a web descriptor at a location.

Parameters:
  `url` - the location; if null no load will be attempted
  `dest` - the instance to be populated by the parse operation
  `fragment` - indicate if the descriptor is a web-app or web-fragment
Returns:
  true if the descriptor was successfully parsed
Throws:
  `IOException` - if there was a problem reading from the URL

### parseWebXml

public boolean parseWebXml(InputSource source, WebXml dest, boolean fragment)
Parses a web descriptor from an InputSource.

Parameters:
  `source` - The input source
  `dest` - The WebXml instance to populate
  `fragment` - Whether this is a web-fragment
Returns:
  `true` if parsing was successful

### setClassLoader

public void setClassLoader(ClassLoader classLoader)
Sets the ClassLoader to be used for creating descriptor objects.

Parameters:
  `classLoader` - the ClassLoader to be used for creating descriptor objects

### getUrlPatternsProvidedInDecodedForm

@Deprecated public boolean getUrlPatternsProvidedInDecodedForm()
Deprecated.
This method will be removed in Tomcat 12 where it will effectively be hard-coded to `true`
Does this parser expect URLs and URL patterns provided in web.xml, annotations and their programmatic equivalents to be in URL-decoded form?

Returns:
  `true` if URLs and URL patterns are expected in URL-decoded form, otherwise `false`