schema targetNamespace attribute

Can someone please explain what this means:

It is important to remember that many XML 1.0 documents are not associated with namespaces at all. To validate these documents, it is necessary to use a schema that doesn't have a targetNamespace attribute.

What would be the problem with the schema having a targetNamespace attribute if the XML instance document isn't associated with a namespace?
SAbboushiAsked:
Who is Participating?
 
Geert BormansInformation ArchitectCommented:
the targetNamespace in a schema puts the elements declared in that schema in a namespace.
if the schema has a targetNamespace it means you need to associate the elements in the instance that needs validation by that schema with that namespace

if schema has targetnamespace "urn:com:foo"
and there is an element declaration in that schema
<xs:element name="bar">

Then

<foo:bar xmlns:foo="urn:com:foo">....
refers to the element declared in that schema by prefix binding

<bar xmlns="urn:com:foo">....
refers to the element declared in that schema by default binding

<bar>....
has no relation at all with the element declared in the schema
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.