In Eclipse plug-ins we encounter W3C XML Schemas like the following: <?xml version='1.0' encoding='UTF-8'?> <!-- Schema file written by PDE --> <schema targetNamespace="com.google.cloud.tools.eclipse.appengine.libraries" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="extension"> <complexType> <choice minOccurs="1" maxOccurs="unbounded"> <element ref="library" /> </choice> <attribute name="point" type="string" use="required" /> <attribute name="id" type="string" /> <attribute name="name" type="string"> <annotation> <appinfo> <meta.attribute translatable="true" /> </appinfo> </annotation> </attribute> </complexType> </element> ... Note in particular: 1. elementFormDefault is not specified. Therefore it takes the default value of unqualified. 2. extension is defined by a top-level element. Therefore the targetNamespace applies and extension is defined only in the namespace com.google.cloud.tools.eclipse.appengine.libraries 3. The library element is a child of extension and therefore the targetNamespace does not apply. Note the use of a Java package name as a target namespace. That's not recommended, but what's more shocking are the instance documents this describes. They look like this: <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension-point id="com.google.cloud.tools.eclipse.appengine.libraries" name="App Engine Libraries" schema="schema/com.google.cloud.tools.eclipse.appengine.libraries.exsd"/> Note the complete lack of namespace declarations. In itself this is not a problem. Documents don't have to use namespaces. However, if I'm reading the schema spec correctly, this means that this document is invalid according to the schema. Am I correct? The schema spec is quite opaque on these matters. In more generic terms if a schema declares a target namespace, and elementFormDefault="unqualified", then top-level elements defined in the schema should be in the targetNamespace. Am I readin this right? FWIW, I'm primarily concerned with elements here. The extra complexities of attributes aren't immediately relevant.