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?
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" >
来源:https://stackoverflow.com/questions/14711569/local-xml-validation-with-dtd-or-xsd-using-a-relative-path