## org.apache.ivy.plugins.parser.xml
Class XmlModuleDescriptorParser

    java.lang.Object
      org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser
          org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser

All Implemented Interfaces:
  ModuleDescriptorParser

    public class XmlModuleDescriptorParser

extends AbstractModuleDescriptorParser

Parses an xml ivy file and output a ModuleDescriptor. For dependency and performance reasons, it uses only the SAX API, which makes the parsing code harder to understand.

Nested Class Summary
`static class` `XmlModuleDescriptorParser.Parser`

Nested classes/interfaces inherited from class org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser
`AbstractModuleDescriptorParser.AbstractParser`

Constructor Summary
`protected` `XmlModuleDescriptorParser()`

Method Summary
`boolean` `accept(Resource res)`
`static XmlModuleDescriptorParser` `getInstance()`
`protected XmlModuleDescriptorParser.Parser` `newParser(ParserSettings ivySettings)` Instantiates a Parser instance responsible for actual parsing of Ivy files.
`ModuleDescriptor` `parseDescriptor(ParserSettings ivySettings, java.net.URL xmlURL, Resource res, boolean validate)`
`void` `toIvyFile(java.io.InputStream is, Resource res, java.io.File destFile, ModuleDescriptor md)` Convert a module descriptor to an ivy file.
`java.lang.String` `toString()`

Methods inherited from class org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser
`getMetadataArtifact, getType, parseDescriptor`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### XmlModuleDescriptorParser

    protected XmlModuleDescriptorParser()

Method Detail

### getInstance

    public static XmlModuleDescriptorParser getInstance()

### parseDescriptor

    public ModuleDescriptor parseDescriptor(ParserSettings ivySettings,
                                            java.net.URL xmlURL,
                                            Resource res,
                                            boolean validate)
                                     throws java.text.ParseException,
                                            java.io.IOException

  Parameters:
    `settings` -
    `xmlURL` - the url pointing to the file to parse
    `res` - the real resource to parse, used for log only
    `validate` -
  Returns:
  Throws:
    `java.text.ParseException`
    `java.io.IOException`

### newParser

    protected XmlModuleDescriptorParser.Parser newParser(ParserSettings ivySettings)

  Instantiates a Parser instance responsible for actual parsing of Ivy files.

  Override this method if you want to use a custom Parser.

  Parameters:
    `ivySettings` - the settings to use during parsing
  Returns:
    the Parser instance used for parsing Ivy files

### accept

    public boolean accept(Resource res)

### toIvyFile

    public void toIvyFile(java.io.InputStream is,
                          Resource res,
                          java.io.File destFile,
                          ModuleDescriptor md)
                   throws java.io.IOException,
                          java.text.ParseException

  Description copied from interface: `ModuleDescriptorParser`
  Convert a module descriptor to an ivy file. This method MUST close the given input stream when job is finished

  Parameters:
    `is` - input stream with opened on original module descriptor resource
  Throws:
    `java.io.IOException`
    `java.text.ParseException`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`