I have a schema that i have "flattened" using XML Editor. After i flatten it i get a validation error. What can i do to fix it?
Error Message:
F [Xerces] Element or attribute do not match QName production: QName::=(NCName':')?NCName.
code:
<xs:import namespace="http://www.opengis.net/gml"
schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"
xmlns:="http://www.opengis.net/gml/3.1.1" />
<xs:annotation xmlns:="http://www.opengis.net/sps/1.0">
<xs:documentation>
<copyright> SPS is an OGC Standard. Copyright (c)
2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. To
obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</copyright>
</xs:documentation>
</xs:annotation>
Here's a screenshot that might better illustrate my error:
EDIT:
Remove the colon somehow. What exactly does this "flattening" supposed to do?
The flattening of the xsd takes an xsd with a lot of includes and puts it all into one file (without any includes).
xmlns:=
is invalid syntax. The colon is extra or the namespace prefix after the colon is missing. Correct syntax would bexmlns="http://some.uri"
orxmlns:something="http://some.uri"
Note that you have 2 un-needed colons: first one on line 1002 (where the red arrow is pointing) and the second one is on the line 1003. This gives a hint that there might be even more of them.
"QName" refers to "qualified name" and "NCName" refers to "non-colonized name". Non-colonized name is an XML name that doesn't contain a colon character (:). Qualified name is either a non-colonized name or combination of two non-colonized names separated with a colon. For example "abc:defgh". The part before the colon is called the namespace prefix and the part after the colon is called the local name. If a qualified name has a namespace prefix, then that prefix must be bound to a namespace-URI with a prefixed namespace declaration, for example
xmlns:abc="http://some.uri"
.