I have a DTD that I need to convert to an XSD (XML schema) file. Is there a free utility or simple way to accomplish this?
Asked
Active
Viewed 9.0k times
4 Answers
57
If you happen to have Visual Studio, open the DTD file an you should have a button to "Create Schema" out of it.
I haven't checked if it was available on Express edition, though.

Serge
- 6,554
- 5
- 30
- 56
-
7Nice, worked perfectly in VS2012. The option is found in the main menu under XML -> Create schema – René Jan 04 '14 at 14:32
-
1Seems supported by the 2015 community edition as well. :) Thanks! – UweB Feb 26 '16 at 14:17
-
3Visual Studio Community 2015 >>> open .dtd file >>> XML tab >>> Create Schema – Stephen C Apr 18 '17 at 15:34
45
The W3C offers one. There are also online converters.

Martin v. Löwis
- 124,830
- 17
- 198
- 235
-
10The 'online converters' XML Utilities link is currently out-of-date. The tool moved to: [http://www.xmlutilities.net](http://www.xmlutilities.net). But now you'll have to request for access. I found a link to this tool [http://www.lumrix.net/dtd2xs.php](http://www.lumrix.net/dtd2xs.php) in an O'REILLY article and it worked well for me (you do need the Java Runtime Environment installed, but most of us still have that :-) ). – Maarten Docter Dec 04 '13 at 11:10
-
4
-
3
-
There is another version of the W3C tool here http://www.mathling.com/xmlschema/ . Found it here: http://edutechwiki.unige.ch/en/XML_Schema#DTD_to_XSD_Conversion_tools – MeTTeO Aug 22 '16 at 19:37
-
1The lumrix.net link is also broken/out-of-date. A Google search on just "dtd2xs.php" turns up quite a few hits, but most are the same link, or sites that I was a little nervous about downloading from... – Peter Howe Sep 28 '16 at 12:06
-
-
1The lumrix dtd2xs tool (Java) can be found here: https://github.com/reposit/dtd2xs This worked for me: `java -cp . dtd2xsd report.dtd > report.xsd` – seanf Feb 02 '17 at 14:00
-
-
1the w3c one is actually broken, I guess it is too old. it generates invalid xsd. – Wang May 16 '21 at 09:36
13
Try xmlpad from https://download.cnet.com/XmlPad/3000-7241_4-10252051.html to convert DTD to XSD. Really nice tool.

Sean Duggan
- 1,105
- 2
- 18
- 48

asingh
- 157
- 2
- 5
-
2You need to open a DTD file before you can access the requested functionality (convert DTD to XSD in this case; it can also generate a sample XML). Works great, thanks! – Buffalo Mar 26 '12 at 08:48
-
1
-
2
-
Currently, that URL comes up with my firewall flagging it as malware. – Sean Duggan Apr 11 '22 at 19:14
12
http://www.thaiopensource.com/relaxng/trang.html
Trang converts between different schema languages for XML. It supports the following languages:
- RELAX NG (XML syntax)
- RELAX NG compact syntax
- XML 1.0 DTDs
- W3C XML Schema

Andriy Plokhotnyuk
- 7,883
- 2
- 44
- 68
-
-
The thaiopensource link currently redirects to https://relaxng.org/jclark/trang-manual.html – TonyG Jan 12 '20 at 22:15