If I understand your problem description correctly, you are attempting to construct a schema from three schema documents:
- your main schema document (not shown), which includes, or imports, the schema document shown in your problem description.
- the schema document shown in the problem description, which
- declares the elements Table, Cell, and mathImage, which it does not bind to a namespace
- imports the namespace
http://ns.adobe.com/AdobeInDesign/4.0/
and points to the local schema document aid.xsd
as a place to find appropriate declarations
- the schema document aid.xsd, which is not shown but is referred to from schema document 2. From the declarations in schema document 2, we can infer that this schema document
- should be located locally (in the same directory as schema document 2, given that a relative reference is used to point to it)
- should declare
http://ns.adobe.com/AdobeInDesign/4.0/
as its target namespace
- should declare top-level attributes named table, tcol, trows, ccol, ccolwidth, crows, and theader
Your error messages refer to problems reading a schema document named 'Table_ASVAB.xsd'; it's not clear to me from your description whether this file name denotes schema document 1 or schema document 2.
If Table_ASVAB.xsd is the schema document shown in your problem description, then the possible causes of the problem are those given in the error message, minus the ones we can see are not the case:
could not find the document. Quite possible: different validators look for schema documents in different places, and you will need to consult the documentation for your validator to see how to tell it where to find your schema documents. It's not clear from your description how you are currently telling, or trying to tell, the validator where to find the schema documents.
document could not be read. Also possible: check that the process running the validator has read permissions for the schema document.
root element of the document is not xsd:schema. Not the cause of this error message; we can see that the root element of the schema document shown in your problem description is schema, and that it is in the XSD namespace.
If Table_ASVAB.xsd is not the schema document shown in your problem description, but your main schema document, then the same possible causes apply (and you should also check to make sure it's got the right namespace binding and name for its root element).
A couple of remarks on side issues:
If you are supplying the schema document aid.xsd
yourself, it doesn't matter whether Adobe is supporting the product or not: the schema validator will read a schema document for the given namespace as happily from your hard disk as from a URI at adobe.com. If you're not supplying aid.xsd yourself, then you have two problems (at least): you have to find an existing schema document for that namespace, and you have to provide an appropriate URI for it in the schemaLocation attribute on the import.
The difference between import and include is straightforward: include
fetches schema documents which declare additional components in the calling schema document's target namespace; import
declares that the importing schema document depends on components in the imported namespace (this dependency typically takes the form of references to those components; in the case of the schema document you show, it's the references to the attributes aid:table
etc. It's an error to include schema documents which specify a different target namespace; it's an error to import namespaces which are the same as the current schema document's target namespace. If you are suffering from confusion on this point, you might find it helpful to consult a good tutorial introduction to XSD.