DTD for repomd.xml

Miroslav Suchý <[email protected]>
Newsgroups gmane.linux.rpm.yum
Organization Red Hat, Registered Address: Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic, Registered in Brno under identification number CZ27690016
Message-ID <[email protected]>
I created DTD file for repomd.xml. It is available at:
  http://miroslav.suchy.cz/spacewalk/repomd.dtd

Using this file you can validate whether you repomd.xml file is valid.

There is two way (at least) how to validate repomd.xml.

a) since repomd.xml do not have DOCTYPE element you can insert it there:
e.g.:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE repomd PUBLIC "-//Red Hat//repomd.xml DTD 1.0//EN" 
"http://miroslav.suchy.cz/spacewalk/repomd.dtd">
<repomd>
...
And then run:
xmllint --loaddtd --noout --valid /tmp/repomd.xml

This way you did not get any error (assuming you repomd.xml file is valid)

b) run:
$ wget http://miroslav.suchy.cz/spacewalk/repomd.dtd
$ xmllint --noout --valid --dtdvalid file:///home/msuchy/repomd.dtd 
/tmp/repomd.xml

But this way you get one error, which is safe to ignore (for now):
/tmp/repomd.xml:2: validity error : Validation failed: no DTD found !
<repomd>
        ^


I created this DTD according to my study of RHEL5 and F12 repomd.xml 
file and quick study of yum code source. If you think I missed some 
allowed element or attribute or if you see some error in DTD (it is my 
first) feel free to comment it.

I would like to start discussion if FPI I suggested is appropriate. And 
even find better home url for this document other then my homepage.

If you find this usefull I can continue with creating DTD for other 
xmlfiles like filelists.xml and primary.xml.

Comments?

-- 
Miroslav Suchy
Red Hat Satellite Engineering
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.