DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14787>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14787

Multiple schema locations

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID



------- Additional Comments From [EMAIL PROTECTED]  2002-12-04 19:50 -------
So you are writing xsi:schemaLocation like this:
"myns xsd1 myns xsd2 myns xsd3"

Xerces has a one-grammar-per-namespace rule for schema grammars, that is, after 
the first time we load a grammar for a namespace, we'll always use that grammar 
if the same namespace is encountered. So your xsd2 and xsd3 are ignored.

This is allowed by the schema spec. (Don't want to go into detail about this.)

And it's not a good practice to have many *schemas* with the same target 
namespace. It's like you have many java classes with the same name, and put 
them in different jars. Of course the JVM will only pick up the first one in 
the classpath.

Note that I said *schemas*, not "schema documents". It's OK to have many schema 
documents to share the same target namespace. You can then identify one of them 
as the root, and include the others into that root. Now whenever you want to 
reference to a component in that namespace, you only need to mention that root 
document. So in your case, if you xsd1 includes xsd2 and xsd3, then you only 
need to say xsi:schemaLocation = "myns xsd1".

Hope this helps.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to