http://www.w3.org/XML/1998/namespace issue while importing XSD

By | May 18, 2018

If you are trying to work with XSD you may encounter following errors

  • Namespace ‘http://www.w3.org/XML/1998/namespace’ is not available to be referenced in this schema.
  • Imported schema for namespace ‘http://www.w3.org/XML/1998/namespace’ was not resolved.

This error means that either you need to declare the namespace “http://www.w3.org/XML/1998/namespace” within XSD or the xml.xsd file in which this namespace is declared is not available.

If you need to declare the namespace, add the following line within xsd as a first child within <xsd:schema> tag

<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" />

Also the directory in which you have your xsd file, you need to have xml.xsd file available. Create xml.xsd file within the same directory and add following code in it.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/XML/1998/namespace" xml:lang="en">
   <xs:annotation>
      <xs:documentation>See http://www.w3.org/XML/1998/namespace.html and
http://www.w3.org/TR/REC-xml for information about this namespace.</xs:documentation>
   </xs:annotation>
   <xs:annotation>
      <xs:documentation>This schema defines attributes and an attribute group
suitable for use by
schemas wishing to allow xml:base, xml:lang or xml:space attributes
on elements they define.

To enable this, such a schema must import this schema
for the XML namespace, e.g. as follows:
<schema . . .>
. . .
<import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>

Subsequently, qualified reference to any of the attributes
or the group defined below will have the desired effect, e.g.

<type . . .>
. . .
<attributeGroup ref="xml:specialAttrs"/>

will define a type which will schema-validate an instance
element with any of those attributes</xs:documentation>
   </xs:annotation>
   <xs:annotation>
      <xs:documentation>In keeping with the XML Schema WG's standard versioning
policy, this schema document will persist at
http://www.w3.org/2001/03/xml.xsd.
At the date of issue it can also be found at
http://www.w3.org/2001/xml.xsd.
The schema document at that URI may however change in the future,
in order to remain compatible with the latest version of XML Schema
itself. In other words, if the XML Schema namespace changes, the version
of this document at
http://www.w3.org/2001/xml.xsd will change
accordingly; the version at
http://www.w3.org/2001/03/xml.xsd will not change.</xs:documentation>
   </xs:annotation>
   <xs:attribute name="lang" type="xs:language">
      <xs:annotation>
         <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
codes as the enumerated possible values . . .</xs:documentation>
      </xs:annotation>
   </xs:attribute>
   <xs:attribute default="preserve" name="space">
      <xs:simpleType>
         <xs:restriction base="xs:NCName">
            <xs:enumeration value="default" />
            <xs:enumeration value="preserve" />
         </xs:restriction>
      </xs:simpleType>
   </xs:attribute>
   <xs:attribute name="base" type="xs:anyURI">
      <xs:annotation>
         <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
information about this attribute.</xs:documentation>
      </xs:annotation>
   </xs:attribute>
   <xs:attributeGroup name="specialAttrs">
      <xs:attribute ref="xml:base" />
      <xs:attribute ref="xml:lang" />
      <xs:attribute ref="xml:space" />
   </xs:attributeGroup>
</xs:schema>
Vishal Monpara is a full stack Solution Developer/Architect with 12 years of experience primarily using Microsoft stack. He is currently working in Retail industry and moving 1’s and 0’s from geographically dispersed hard disks to geographically dispersed user leveraging geographically dispersed team members.

Leave a Reply

Your email address will not be published. Required fields are marked *