Thank you Murphy for the link. It provided me with a lot of info.
I still have one 'practical' question that I would lilke tto put across..
Here it goes.. I was trying to define a schema of my own. and the first line went something like this:
<schema targetNamespace="http://abcd.com/abcd.xsd" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb">
My understanding it that the namespace denoted by 'http://www.w3.org/2001/XMLSchema'(which in this case is set to default) has elements and attributes(like for example complexType or sequence etc) which I can use to define my own schema. Another namespace also being used is denoted by 'http://xmlns.oracle.com/xdb' and has its own set of element names.
My questions:
1. The strings used for the namespace like
http://xmlns.oracle.com/xdb need not actually be mapped to anything on the internet. And my schema only includes the string info in my schema document. So how does the parser know the underlying schema, the elements of which I am using? How does it know for example the sequence in which elements can be defined? Or for that matter what an element like <complextype> could mean? How does it get to know the information that is there in the schema of the namespace?
2. I also noticed that the parser throws up an error if I write 'http://www.w3.org/2000/XMLSchema' instead of 'http://www.w3.org/2001/XMLSchema'. However if I write 'http://xmlns.oracle.com/xd1b' instead of
http://xmlns.oracle.com/xdb, if does not complain... Does it mean that details of 'http://www.w3.org/2000/XMLSchema' is somehow hardcoded into the parser that XMLSpy uses(Btw I am using XMLSpy)?
Hope somebody helps me clear up the muddle that I have gotten myself into...
Rgds,
P