== How to fix it in SAX

=== Code examples

include::../../common/fix/code-rationale.adoc[]

==== Noncompliant code example

[source,java,diff-id=31,diff-type=noncompliant]
----
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

public void decode() {
    XMLReader reader = XMLReaderFactory.createXMLReader(); // Noncompliant
}
----

==== Compliant solution

Set `disallow-doctype-decl` to `true`.

[source,java,diff-id=31,diff-type=compliant]
----
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

public void decode() {
    XMLReader reader = XMLReaderFactory.createXMLReader();
    reader.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
}
----

=== How does this work?

include::../../common/fix/xxe.adoc[]
