Local XML validation with DTD or XSD using a relative path?

eactor picture eactor · Feb 5, 2013 · Viewed 12.9k times · Source

An XML file can be defined and validated with an Document Type Description (DTD) or XML Schema (xsd) as follows:

<?xml version='1.0' encoding='UTF-8'?>
<annotation xmlns="http://www.xyz.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.xyz.com
    file:system.xsd" >

or

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE annotation SYSTEM "http://www.xyz.de/system.dtd">

Both ways define a URL where the DTD or XSD is found. Is there a way to give a relative or local path? So I can store them allong with the XML files instead of relying on a server?

Answer

Stanley De Boer picture Stanley De Boer · Feb 5, 2013

It's easy. Just put the relative location of the file like

<?xml version='1.0' encoding='UTF-8'?>
<annotation xmlns="http://www.xyz.com" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.xyz.com ./system.xsd" >