If the first step in a process is to verify that everything in the XML file that is being brought in is exactly as expected, it eliminates the need to check that input file as each element is located and used.
This causes an error when trying to process schemas that refer to included schemas from the root of a URL.
This issue is expected to be fixed in the next major release of the . is used to include schema definitions from another namespace.
DTD documents are the old way for specifying the valid format of an XML file.
One of the changes that happened when you migrated from DTD documents to XML Schemas was that XML schemas can be modular.
XML files have the option of specifying where their schema is by specifying it directly in the file.
In this case, using a validating reader can not only verify that the schema is well formed, but can validate that it matches the schema—or at least that's the idea.
This is the same thing that it will do if the referenced schema namespace isn't a URL, but is, instead, a Uniform Resource Identifier (URI).
Universal Resource Names (URNs) are another form of URI. For instance, urn:my Schema is a valid URN and, therefore, a valid URI.
The schema Location attribute specifies where to resolve the new schema.
This is typically a relative path to the current schema document. NET framework (up to V 1.1) that doesn't allow URIs to be created with a single / as their first character.
In other words, namespaces allow the unique identification of a schema so it can be determined whether two or more XML files conform to the same schema.