ok, since david asked for it, here is the full explanation: element declarations in XSD can either be global or local. global declarations are on the level directly under xs:schema, local declarations are declarations inside other declarations. globally declared elements by definition always are defined in the targetNamespace of the schema (if there is one). local declarations, on the other hand, by default are in no namespace (specifically, not in the targetNamespace of the schema), unless you make them "qualified" by one of the two methods discussed already. the effect of elements declared without a namespace is that the document would have to look like this (using the "Name" and "Value" elements as elements without namespace-qualified names):
<?xml version="1.0"?> <KpiReport xmlns="http://www.me.com/orpm/kpi/automation/report"> <Name xmlns=""> <Value>Test</Value> </Name> </KpiReport>
this is not very pretty and definitely hard to use and understand, so this style of mixing qualified and unqualified element is never used (i've definitely never seen it).