Steve Lawrence reassigned DAFFODIL-1924:

    Assignee: Steve Lawrence

> DaffodilXMLLoader needs to explicitly specify which instance to use
> -------------------------------------------------------------------
>                 Key: DAFFODIL-1924
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1924
>             Project: Daffodil
>          Issue Type: New Feature
>          Components: Front End
>    Affects Versions: 2.1.0
>            Reporter: Steve Lawrence
>            Assignee: Steve Lawrence
>            Priority: Major
>             Fix For: 2.2.0
> The SAXParserFactory.newInstance() method is used to create a new instance of 
> a SAXParser. There are a handful of steps taken to find a SAXParser to use, 
> as documented in the [newInstance() 
> JavaDocs|https://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/SAXParserFactory.html#newInstance()].
>  The problem with this is that Daffodil sets the entity-resolver property to 
> an instance of the DFDLCatalogResolver, which extends a specific Xerces 
> XMLEntityResolver. In order for this to work, we must be guaranteed that the 
> SAXParserFactory instance we get is the Xerces one, and not some other one 
> overridden by one of the ways described in newInstace().
> So instead, we should use the newInstance method that lets you provide a 
> string specifying which factory class to use, and specify our Xerces one.

This message was sent by Atlassian JIRA

Reply via email to