Gabriele
Gabriele

Reputation: 466

Get DTD from an XML file

How can I get in Java the DTD file name specified in an xml file?

So, if I have:

<!DOCTYPE TEI SYSTEM "dtd-file.dtd"  [
[
<!ENTITY c24r SYSTEM "c2r.jpg" NDATA JPEG>
<!NOTATION JPEG SYSTEM "image/jpeg">
<!ELEMENT figure EMPTY>
<!ATTLIST figure entity CDATA #REQUIRED>
]>

I want the string "dtd-file.dtd"

Upvotes: 2

Views: 2439

Answers (1)

BalusC
BalusC

Reputation: 1108782

To get the document type's system ID use DocumentType#getSystemId():

Document document = documentBuilder.parse(someXmlInputStream);
String systemId = document.getDoctype().getSystemId();

Upvotes: 3

Related Questions