cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with referenced XSD file

peter_wallner2
Active Contributor
0 Kudos

Dear experts,

I have an XSD file (main.xsd) that I imported into "External definitions". It has an include in the beginning


<xsd:include schemaLocation="second.xsd" />

I also imported that referenced XSD into External definitions. Now in my main XSD under the tab "External References" it tells me the source in the column "Source" (second.xsd) but not the name in the column "Name"! And I can't change the name either!

I already looked at but that does not help me either.

I tried to zip both XSD-files and import them into "External definitions" but that does not help either.

I also read that on my "External definition" page of my "main.xsd" I have to fill in the line "Source" - but what do I have to fill in - maybe that would be the solution!

Thank you very much for any hints!

Best regards,

Peter

Accepted Solutions (1)

Accepted Solutions (1)

former_member200962
Active Contributor
0 Kudos

This blog should guide you through the procedure: /people/james.guanzon/blog/2006/02/22/how-to-support-industry-standards-in-xi-part-i-of-iii--interfaces

However when i import the XSD into IR which refers other XSD I do not follow the above (lengthy) procedure....neither is my Source section filled...may be a proper import statement like below should suffice:

<xs:import schemaLocation=".\second.xsd" namespace="namespace_of_second.xsd" />

The above statement should be placed before the reference begins in the main xsd....probably aftre the xs:schema tag.....just import both the XSDs (main and second) separately under the ED section of IR

Regards,

Abhishek.

peter_wallner2
Active Contributor
0 Kudos

Hello Abhishek,

Thank you! I did not need the import-Statement that you gave me.

I referred to the blog you gave me and it is working now. My mistake was that on the "External Definitions" page of my "second.xsd" I had to fill in the source!! I had done this on the external definitions page of my "main.xsd" which is wrong.

Best regards,

Peter

Answers (1)

Answers (1)

former_member187339
Active Contributor
0 Kudos

Hi Peter,

When every we reference an external XSD with an include statement then we need to use the import statement before it..

I am not sure whether this will help or not but you can give a try (also update us on the outcome )

The sysntax for import and include are:

<import id = ID namespace = anyURI schemaLocation = anyURI {any attributes with non-schema Namespace}...>

Content: (annotation?)

</import>

<include id = ID schemaLocation = anyURI {any attributes with non-schema Namespace}...>

Content: (annotation?)

</include>

Example


<?xml version="1.0"?>
<xs:schema elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/05/XMLInfoset" xmlns="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://www.example.com/IPO" />
  <xs:include schemaLocation="example.xsd" />
</xs:schema>

Regards

Suraj

PS: Taken from link http://msdn.microsoft.com/en-us/library/ms256480.aspx

peter_wallner2
Active Contributor
0 Kudos

Hello Suraj,

I tried this and in the tab "External references" under "Source" I can see the imported namespace but when I go to tab "Messages" the ones from the included "second.xsd" still do not show up.

By the way in my "main.xsd" there is already it already says <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" ... /> which is the namespace that "second.xsd" is in.

Do you have any other ideas?

Thank you again,

Peter