• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

schema defaultNamespace or targetNamespace?

 
Prashant Neginahal
Ranch Hand
Posts: 77
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am confused with meaning of default namespace and targetNamespace in XML schema.

In the below example the default namespace is com.prashu.java.xml.jaxb and I have declared 2 elements Employee and Address. I have NOT provided the targetNamespace. The schema validation is failing when i try to refer the Address element from Employee, it is asking either define targetNamespace or remove defaultnamespace.

Can anyone please explain me the reason behind this?


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="com.prashu.java.xml.jaxb" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Employee">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="Adress"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Adress">
<xs:complexType>
<xs:sequence>
<xs:element name="Address1" type="xs:string"/>
<xs:element name="Address2" type="xs:string"/>
<xs:element name="City" type="xs:string"/>
<xs:element name="PinCode" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Thanks in advance.

Regards,
Prashant
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic