| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
The openMSX XML format is unique to the openMSX emulator and contains many distinctions between items that are not available in other formats. These DATs tend to be used to catalog the available pieces of MSX software and have been tailor-made for this purpose.
Below is an older, trimmed example taken from a real openMSX software database file.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE softwaredb SYSTEM "softwaredb1.dtd">
<softwaredb timestamp="1590601761">
<!-- Credits -->
<![CDATA[
The softwaredb.xml file contains information about rom mapper types
- Copyright 2003 Nicolas Beyaert (Initial Database)
- Copyright 2004-2013 BlueMSX Team
- Copyright 2005-2020 openMSX Team
- Generation MSXIDs by www.generation-msx.nl
- Thanks go out to:
- - Generation MSX/Sylvester for the incredible source of information
- p_gimeno and diedel for their help adding and valdiating ROM additions
- GDX for additional ROM info and validations and corrections
]]>
<software>
<title>Flipper Slipper</title>
<system>SVI</system>
<company>Spectravideo</company>
<year>1983</year>
<country>UK</country>
<dump><rom><hash>7acd00c9053fbf7f7d698485759d170a483b123d</hash><remark>SD-291C</remark></rom></dump>
</software>
<software>
<title>Frantic Freddie</title>
<system>SVI</system>
<company>Spectravideo</company>
<year>1983</year>
<country>UK</country>
<dump><rom><hash>60adadb294d5492dfe6ada4b0710c5c31ef3e69c</hash><remark>SD-232C</remark></rom></dump>
</software>
</softwarelist>
<!-- Roms in this XML file:5821 - Created on Wed May 27 2020 - 9:49:32 AKDT-->
Implied by the header in the example, there is a DTD available directly from the openMSX GitHub. It has been mirrored here for convenience.
<!ELEMENT softwaredb (person*)> <!ELEMENT software (title, genmsxid?, system, company,year,country,dump)> <!ELEMENT title (#PCDATA)> <!ELEMENT genmsxid (#PCDATA)> <!ELEMENT system (#PCDATA)> <!ELEMENT company (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT country (#PCDATA)> <!ELEMENT dump (#PCDATA)>
Notably, the official DTD appears to be missing a subset of elements. The DTD that SabreTools uses for parsing can be found here.
<!ELEMENT softwaredb (software*)>
<!ATTLIST softwaredb timestamp #IMPLIED>
<!ELEMENT software (title, genmsxid?, system, company, year, country, dump*)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT genmsxid (#PCDATA)>
<!ELEMENT system (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT dump (original?, rom?, megarom?, sccpluscart?)>
<!ELEMENT original (#CDATA)>
<!ATTLIST original value #IMPLIED>
<!ELEMENT rom (start?, type?, hash?, remark?)>
<!ELEMENT start (#CDATA)>
<!ELEMENT type (#CDATA)>
<!ELEMENT hash (#CDATA)>
<!ELEMENT remark (#CDATA)>
<!ELEMENT megarom (start?, type?, hash?, remark?)>
<!ELEMENT start (#CDATA)>
<!ELEMENT type (#CDATA)>
<!ELEMENT hash (#CDATA)>
<!ELEMENT remark (#CDATA)>
<!ELEMENT sccpluscart (start?, type?, hash?, remark?)>
<!ELEMENT start (#CDATA)>
<!ELEMENT type (#CDATA)>
<!ELEMENT hash (#CDATA)>
<!ELEMENT remark (#CDATA)>
| Back | FazBrowse Home | New Git URL |