Hello, that is interesting, I see targetNamespace in the XML-Schema 1.1 spec for top level elements and attributes.
http://www.w3.org/TR/xmlschema11-1/ But it is not in the XML Schema.xsd. (only one occurence of 'name="targetNamespace"') on the <schema> element. http://www.w3.org/2001/XMLSchema.xsd BTW: top level elements do require a name="" attribute. You have specified it on the <simpleType> I think thats not correct. In your case, can you just use the targetNamespace on the schema element? This is the most common usage as it cannot be mixed anyway. Gruss Bernd Am Thu, 6 Aug 2015 18:58:22 +0100 schrieb Julian Cromarty <julian.croma...@gmail.com>: > Hi, > > I'm trying to write a schema using the 1.1 schema language and I need > to be able to set the targetNamespace attribute on some of the > elements. When I try and create a Validator to validate XML against > the schema however, I get an instance of XMLSchema11Factory but when I > pass the XSD file to the factory's newSchema() method I always get the > following exception: > > s4s-att-not-allowed: Attribute 'targetNamespace" cannot appear in > element 'element'. > > I've trimmed the XSD down to a minimal test case that reproduces the > problem: > > <?xml version="1.0" encoding="UTF-8"?> > > <xs:schema targetNamespace="http://www.foo.com" > xmlns="http://www.foo.com" xmlns:other="http://www.bar.com" > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <xs:element targetNamespace="http://www.bar.com"> > <xs:simpleType name="ans"> > <xs:restriction base="xs:string"/> > </xs:simpleType> > </xs:element> > </xs:schema> > > And here is the code I'm using to try and create the validator > > System.setProperty("javax.xml.validation.SchemaFactory:http://www.w3.org/XML/XMLSchema/v1.1", > "org.apache.xerces.jaxp.validation.XMLSchema11Factory"); > SchemaFactory factory = > SchemaFactory.newInstance("http://www.w3.org/XML/XMLSchema/v1.1"); > Schema schema = > factory.newSchema(new > StreamSource(ClassLoader.getSystemResourceAsStream("test.xsd"))); > xmlValidator = schema.newValidator(); > > Does anyone have any idea why this isn't working? > > Kind regards, > > Julian > > --------------------------------------------------------------------- > To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org > For additional commands, e-mail: j-users-h...@xerces.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org For additional commands, e-mail: j-users-h...@xerces.apache.org