XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 02 Feb 2006 10:57 AM
I'm trying to open a Biztalk schema. In Biztalk, we have projects and we make references to other projects, so a schema in one project can include elements that tie to a schema in another project.

When I open the schema below, I get errors like this:
The file:///c:/shared/etc/Compassion.Biztalk.Schemas.CCQ.CICCQPackageCode does not exist.

I see that you are getting this from the "schemalocation" element, but no such file physically exists, the actual filename is:
file:///c:/shared/etc/Compassion.Biztalk.Schemas.CCQ/CICCQPackageCode.xsd.

Also, I'm getting an additional error message, when I try to map from this schema. I create an XSLT map, click "Add Source Document", select the "Order" schema below, and the error says: "Schema file doesn't have the root element. Do you want to open the schema file and review it?


<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://schemas.compassion.com/order/2006-01-01" xmlns:pkg="http://schemas.compassion.com/ccq/packagecode/2006-01-01" xmlns:item="http://schemas.compassion.com/order/orderitem/2006-01-01" xmlns:prof="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ur="http://schemas.compassion.com/common/updaterecord/2005-03-01" xmlns:ex="http://schemas.compassion.com/common/exceptions/2005-03-01" elementFormDefault="qualified" targetNamespace="http://schemas.compassion.com/order/2006-01-01" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Common.CIExceptions" namespace="http://schemas.compassion.com/common/exceptions/2005-03-01" />
<xs:import schemaLocation=".\ciorderlineitem.xsd" namespace="http://schemas.compassion.com/order/orderitem/2006-01-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.CCQ.CICCQPackageCode" namespace="http://schemas.compassion.com/ccq/packagecode/2006-01-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Profile.CIProfile" namespace="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Common.CIUpdateRecord" namespace="http://schemas.compassion.com/common/updaterecord/2005-03-01" />
<xs:annotation>
<xs:appinfo>
<b:references>
<b:reference targetNamespace="http://schemas.compassion.com/common/updaterecord/2005-03-01" />
<b:reference targetNamespace="http://schemas.compassion.com/common/exceptions/2005-03-01" />
<b:reference targetNamespace="http://schemas.compassion.com/order/orderitem/2006-01-01" />
<b:reference targetNamespace="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" />
<b:reference targetNamespace="http://schemas.compassion.com/ccq/packagecode/2006-01-01" />
</b:references>
</xs:appinfo>
</xs:annotation>
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="OrderHeaderId" type="xs:long" />
<xs:element minOccurs="0" maxOccurs="1" name="CampaignCode" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="ConstituentId" type="xs:long" />
<xs:element minOccurs="0" maxOccurs="1" name="OrderTypeCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="C" />
<xs:enumeration value="SR" />
<xs:enumeration value="MA" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="AccountCode" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="OrderStatusCode" type="xs:string" />
<xs:element minOccurs="1" maxOccurs="1" name="RequestDate" type="xs:dateTime" />
<xs:element minOccurs="0" maxOccurs="1" name="EnteredDate" type="xs:dateTime" />
<xs:element minOccurs="0" maxOccurs="1" name="NeedByDate" type="xs:dateTime" />
<xs:element name="OrderPartitionStatusCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NoExceptions" />
<xs:enumeration value="InventoryExceptionsOnly" />
<xs:enumeration value="BusinessExceptionsOnly" />
<xs:enumeration value="NotSavedWithExceptions" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="SpecialInstruction" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" ref="prof:Profile" />
<xs:element minOccurs="0" maxOccurs="1" name="OrderItems">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="item:OrderItem" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="CCQPackages">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="pkg:CCQPackageCode" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" ref="ex:Exceptions" />
<xs:element ref="ur:UpdateRecord" />
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##local" processContents="lax" />
</xs:sequence>
<xs:attribute name="SchemaVersion" type="xs:decimal" />
<xs:attribute name="PartnerCountryCode" type="xs:string" />
<xs:anyAttribute namespace="##any" />
</xs:complexType>
</xs:element>
</xs:schema>

Release Info: Build 501h eval version 2006 XML Enterprise Edition.

At the last site I worked at, we started using Stylus Studio for all our complex Biztalk maps because of the excellent debugging capabilities. At that site, we didn't have any references to other schemas.

Thanks again,
Neal Walters
http://Biztalk-Training.com - 3 CD ROM Videos Teach Biztalk

Postnext
Tony LavinioSubject: Opening Biztalk schema that references other schemas
Author: Tony Lavinio
Date: 02 Feb 2006 12:01 PM
Here's the problem (don't worry, there's a solution). According to the
fourth paragraph under
http://www.w3.org/TR/xmlschema-1/structures.html#element-import

"The ·actual value· of the schemaLocation, if present, gives a hint
as to where a serialization of a ·schema document· with declarations
and definitions for that namespace (or none) may be found. ... When a
schemaLocation is present, it must contain a single URI reference
which the schema author warrants will resolve to a serialization of a
·schema document· containing the component(s) in the <import>ed
namespace referred to elsewhere in the containing schema document."

What all that blather means is that you've guaranteed that the
schemaLocation value will resolve to a valid XSD file - which it
doesn't, outside of BizTalk. BizTalk handles some of the URI
resolution on its own, which you're discovering.

You may use an OASIS catalog (one of my very favorite technologies) to
solve this problem. You will need a catalog something like this:
<catalog>
<uri name="file:///c:/shared/etc/Compassion.Biztalk.Schemas.CCQ.CICCQPackageCode"
uri="file:///c:/shared/etc/Compassion.Biztalk.Schemas.CCQ/CICCQPackageCode.xsd"/>
</catalog>

With a <uri/> entry for each file that isn't addressable via a normal
URI.

Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 02 Feb 2006 12:47 PM
Thanks, but I need a quick idiot-proof lesson on the Oasis Catalog.

I created a project called BiztalkOrders (from help files I'm getting the idea that I need a project to do this, or not???)

I created an XML file called BiztalkOrderCatalog.xml (I'm guessing the catalog goes in a separate file instead of putting in the schema itself?).

I added this catalog XML file to my project.

If I right-click on the project, it looks like I can only add existing files?

So do I need to create a new XSLT document and put it in the project?
Or somehow assign the project or just the catalog to my XSLT document?

Yes, I read the help - but still at a loss.

Now what?

Thanks,
Neal Walters
http://Biztalk-Training.com

Postnext
Tony LavinioSubject: Opening Biztalk schema that references other schemas
Author: Tony Lavinio
Date: 02 Feb 2006 02:33 PM
Sorry, I meant to provide you with a link.
http://www.stylusstudio.com/super_catalogs.html
The above contains a catalog tutorial.

Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 10 Feb 2006 04:31 PM
I had some time today to get back to this issue. I read over the page you pointed me to, watched the video, but I think I fell off the track somewhere.

I created a project called "BiztalkOrders" and created a file in that project called "CompassionCatalogForStylusStudio.xml".

It contains the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "www.stylusstudio.com/Stylus-Catalog.dtd">
<!--
Copyright (c) 2004-2005 Progress Software Corporation. All rights reserved.
http://www.progress.com

Stylus Studio
http://www.stylusstudio.com/
-->
<catalog xmlns:stylus="http://www.stylusstudio.com/catalog">
<stylus:description>Compassion Catalog for Biztalk Schemas (required to resolve references)</stylus:description>

<group>
<public publicId="http://schemas.compassion.com/common/exceptions/2005-03-01"
uri="file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/CompassionCatalogForStylusStudio.xml"/>
<public publicId="http://schemas.compassion.com/common/updaterecord/2005-03-01"
uri="file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/Compassion.BizTalk.Schemas.Common/CIUpdateRecord.xsd"/>
</group>
</catalog>

I created this as regular XML file, saved it and then used "Project/Add User-Defined Catalog".

So am I on the right track so far?
I specified the schemas namespace in the "public" attribute, then in the uri I specified the name of the file on the hard-drive that contains that schema.

Now what?

I create a new XSLT map and still get the error.
I was under the idea I have to add the XSLT map to the project, but I don't see that option. I saved the empty XSLT map to disk, then added it to project, but I still get the original error
"Schema doesn't have the root element. Do you want to open the schema file and review it."?

I also added my catalog to the bottom of the list of catalog in BaseCatalog:
<nextCatalog catalog="xhtml.xml"/>
<nextCatalog catalog="c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\CompassionCatalogForStylusStudio.xml"/>
</catalog>

Also if I try to validate my schema I get this:
Validating CIOrderStartedOrchResponse.xsd...
file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/Compassion.BizTalk.Schemas.Order/CIOrderStartedOrchResponse.xsd:3,155: FATAL ERROR: Cannot open Compassion.BizTalk.Schemas.Common.CIUpdateRecord

Also, it would be great to have a wizard build all this for us. We probably have 100 schemas, so that means I'll have to build the catalog file. I may write a program to do it, I basically would need to just open every .XSD, get the namespace, then save the namespace and the filename to the catalog file, right?

Thanks again,
Neal Walters
http://Biztalk-Training.com





Postnext
Tony LavinioSubject: Opening Biztalk schema that references other schemas
Author: Tony Lavinio
Date: 10 Feb 2006 04:44 PM
First, you don't need the <group></group>, but it won't hurt.

Second, for publicId is for public IDs, as in a DOCTYPE's PUBLIC
value. Instead of

<public publicId="..." uri="....xsd"/>

you should use

<use name="..." uri="....xsd"/>

If you try this and it doesn't work, why don't you zip up the .prj,
the catalog, the xslt, the xsds, and the source xmls, and send it to
stylus-field-report (at) progress.com and we'll take a whack at it.

Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 14 Feb 2006 11:37 AM
Thanks again, we are getting closer.
Okay, I think I'm on the right track. Some schemas open.

Here's my catalog:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "www.stylusstudio.com/Stylus-Catalog.dtd">

<catalog xmlns:stylus="http://www.stylusstudio.com/catalog">
<stylus:description>Compassion Catalog for Biztalk Schemas (required to resolve references)</stylus:description>

<group>
<use name="http://schemas.compassion.com/common/exceptions/2005-03-01"
uri="file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/CompassionCatalogForStylusStudio.xml"/>
<use name="http://schemas.compassion.com/common/updaterecord/2005-03-01"
uri="file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/Compassion.BizTalk.Schemas.Common/CIUpdateRecord.xsd"/>
<use name="http://schemas.compassion.com/order/orderitem/2006-01-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.Order\CIOrderLineItem.xsd"/>
<use name="http://schemas.compassion.com/common/address/2005-03-01"
uri="c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.Common\CIAddress.xsd"/>
<use name="http://schemas.compassion.com/common/comment/2005-03-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.Common\CIComment.xsd"/>
<use name="http://schemas.compassion.com/common/email/2005-03-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.Common\CIEmail.xsd"/>
<use name="http://schemas.compassion.com/common/phone/2005-03-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.Common\CIPhone.xsd"/>
<use name="http://schemas.compassion.com/ccq/packagecode/2006-01-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.CCQ\CICCQPackageCode.xsd"/>
<use name="http://schemas.compassion.com/ccq/order/2006-01-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.CCQ\CICCQOrder.xsd"/>
<use name="http://schemas.compassion.com/constituent/profile/profile/2005-03-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.Profile\CIProfile.xsd"/>
</group>

</catalog>

I'm trying to open this Order.xsd which starts with these imports and references:

?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://schemas.compassion.com/order/2006-01-01" xmlns:pkg="http://schemas.compassion.com/ccq/packagecode/2006-01-01" xmlns:item="http://schemas.compassion.com/order/orderitem/2006-01-01" xmlns:prof="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" xmlns:ur="http://schemas.compassion.com/common/updaterecord/2005-03-01" xmlns:ex="http://schemas.compassion.com/common/exceptions/2005-03-01" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns0="http://Compassion.BizTalk.Schemas.Order.PropertySchema.PropertySchema" elementFormDefault="qualified" targetNamespace="http://schemas.compassion.com/order/2006-01-01" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Common.CIExceptions" namespace="http://schemas.compassion.com/common/exceptions/2005-03-01" />
<xs:import schemaLocation=".\ciorderlineitem.xsd" namespace="http://schemas.compassion.com/order/orderitem/2006-01-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.CCQ.CICCQPackageCode" namespace="http://schemas.compassion.com/ccq/packagecode/2006-01-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Profile.CIProfile" namespace="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Common.CIUpdateRecord" namespace="http://schemas.compassion.com/common/updaterecord/2005-03-01" />
<xs:annotation>
<xs:appinfo>
<b:references>
<b:reference targetNamespace="http://schemas.compassion.com/common/updaterecord/2005-03-01" />
<b:reference targetNamespace="http://schemas.compassion.com/common/exceptions/2005-03-01" />
<b:reference targetNamespace="http://schemas.compassion.com/order/orderitem/2006-01-01" />
<b:reference targetNamespace="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" />
<b:reference targetNamespace="http://schemas.compassion.com/ccq/packagecode/2006-01-01" />
</b:references>
<b:imports>
<b:namespace prefix="ns0" uri="http://Compassion.BizTalk.Schemas.Order.PropertySchema.PropertySchema" location=".\propertyschema.xsd" />
</b:imports>
</xs:appinfo>
</xs:annotation>
<xs:element name="Order">

Since the "references" are under an <xs:annotation> tag, I'm guessing that is some Biztalk thing that you ignore.

When I open the XSD in Stylus Studio, I get this error:
file:///c:/Shared/CI-OMC/SourceCode/Compassion.Biztalk/Compassion.BizTalk.Schemas.Order/Compassion.BizTalk.Schemas.CCQ.CICCQPackageCode does not exist.

I want it to use the filename is this use statement:
<use name="http://schemas.compassion.com/ccq/order/2006-01-01"
uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.CCQ\CICCQOrder.xsd"/>

After careful comparison of the files, the file not found error has inserted an extra directory name (i.e. the Compassion.BizTalk.Schemas.Order - which is where the file is that I'm trying to load). So you seem to be taking the current directory and adding the "schemaLocation" rather than using my catalog.

Thank again,
Neal Walters
http://Biztalk-Training.com




Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 14 Feb 2006 12:42 PM
By the way, I would mind sending to you - but you would have to have the same directory structure, and there are probably 10 directories each having 10 schemas (over 100 schemas). This is why I will probably have to write a VBScript to generate the catalog file.

Neal

Postnext
Tony LavinioSubject: Opening Biztalk schema that references other schemas
Author: Tony Lavinio
Date: 14 Feb 2006 01:25 PM
Remember that any file references within the catalog are
relative to the location of the catalog, if that helps.

Also, there are ways to map whole prefixes, which might
reduce whole sets of mappings to single entries.

See http://www.oasis-open.org/committees/download.php/4952/wd-entity-xml-catalogs-1.0_2e.html#s.rewriteuri

Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 14 Feb 2006 03:20 PM
I still have a suspicion that my catalog is not being used. As you can see from my post, all files in the catalog are fully qualfiied with file:///C:/ etc...

It looks like Stylus Studio is taking the schemaLocation from the schema and building a filename, rather than using the catalog.

I'm still confused about the project concept. If I open the schema, does the schema have to be in the project or added to the project for the catalog to be used? I created a project called BiztalkOrders, and as mentioned in prior post, I added BaseCatalog.xml with a reference to my catalog.

Question 1:
Do I need to put file:/// on my catalog entry below?

<catalog xmlns:stylus="http://www.stylusstudio.com/catalog">
<nextCatalog catalog="catalogs.xml"/>
<nextCatalog catalog="xhtml.xml"/>
<nextCatalog catalog="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\CompassionCatalogForStylusStudio.xml"/>
</catalog>

NOTE: I tried putting c:\xxxShared as the directory name, and nothing seemed to happen.

Question 2:
Do I have to add the schema to the project before I open it? I've tried that with same result. What's the magic that makes the catalog in the project apply to the schema.

Thanks again,
Neal

Postnext
Tony LavinioSubject: Opening Biztalk schema that references other schemas
Author: Tony Lavinio
Date: 15 Feb 2006 01:56 AM
After adding the catalog to the project, right-click on it to
mark it as a catalog using the menu choice 'use file as catalog'.
The catalog file in the project will have a blue icon. From that
point forward, any file should use the catalog, whether that other
file is in the project or not.

Within the catalog, the references need to be URIs and not plain
file specifications, so file:/// is needed.

Try one simple case. Take a file you know is failing, and take the
first schema reference that the validator complains about. Then add
a catalog entry like this:

<uri name="reference-as-it-appears-in-xsd" uri="file:///c:/nameondisk.xsd"/>

and then try again. Do you see any difference?

Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 15 Feb 2006 11:09 AM
That's exactly what I have done. I have "BaseCatalog.xml" and "CompassionCatalogForStylusStudio.xml" marked as catalogs in a project called BiztalkOrders.

The simplest schema I can find is CIOrderItem which refers to just one other schema.

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:ur="http://schemas.compassion.com/common/updaterecord/2005-03-01" xmlns="http://schemas.compassion.com/order/orderitem/2006-01-01" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" elementFormDefault="qualified" targetNamespace="http://schemas.compassion.com/order/orderitem/2006-01-01" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Common.CIUpdateRecord" namespace="http://schemas.compassion.com/common/updaterecord/2005-03-01" />


I temporarily simplified my catalog to this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "www.stylusstudio.com/Stylus-Catalog.dtd">


<catalog xmlns:stylus="http://www.stylusstudio.com/catalog">
<stylus:description>Compassion Catalog for Biztalk Schemas (required to resolve references)</stylus:description>

<use name="http://schemas.compassion.com/common/updaterecord/2005-03-01"
uri="file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/Compassion.BizTalk.Schemas.Common/CIUpdateRecord.xsd"/>


</catalog>

When I check to see if the catalog file is well-formed, I get this error:
Checking CompassionCatalogForStylusStudio.xml...
file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/CompassionCatalogForStylusStudio.xml:2,68: FATAL ERROR: Cannot open www.stylusstudio.com/Stylus-Catalog.dtd

The DOCTYPE statement is identical to the one in the base catalog (where the well-formed check works fine).

I have verified the file in the catalog exists by copying it, doing a file open, then pasting the file name, and it opens fine.

BUT - you still haven't answered one question. How does Stylus Studio know to use which "project". For instance, if I have Stylus Studio closed, and I right-click open a schema with Stylus Studio.

I think I just figured out one BIG ISSUE. I have to be in Stylus Studio (with the project open) and then open the schema. I have been using Windows and then right-clicking "open with" then program "Stylus Studio". Even though Stylus Studio was running and the project was open, the schema opens and gets the errors.

HOWEVER - even though I can get OrderLineItem to open from within Stylus Studio, I still get the same file not found errors when I try to open the CIOrder.xsd.

So I still don't understand your logic or how you are coming up with this error:

file:///c:/Shared/CI-OMC/SourceCode/Compassion.Biztalk/Compassion.BizTalk.Schemas.Order/Compassion.BizTalk.Schemas.CCQ.CICCQPackageCode does not exist.

According to my understanding, you look at the following import statements in the CIOrder.xsd.

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://schemas.compassion.com/order/2006-01-01" xmlns:pkg="http://schemas.compassion.com/ccq/packagecode/2006-01-01" xmlns:item="http://schemas.compassion.com/order/orderitem/2006-01-01" xmlns:prof="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" xmlns:ur="http://schemas.compassion.com/common/updaterecord/2005-03-01" xmlns:ex="http://schemas.compassion.com/common/exceptions/2005-03-01" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns0="http://Compassion.BizTalk.Schemas.Order.PropertySchema.PropertySchema" elementFormDefault="qualified" targetNamespace="http://schemas.compassion.com/order/2006-01-01" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Common.CIExceptions" namespace="http://schemas.compassion.com/common/exceptions/2005-03-01" />
<xs:import schemaLocation=".\ciorderlineitem.xsd" namespace="http://schemas.compassion.com/order/orderitem/2006-01-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.CCQ.CICCQPackageCode" namespace="http://schemas.compassion.com/ccq/packagecode/2006-01-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Profile.CIProfile" namespace="http://schemas.compassion.com/constituent/profile/profile/2005-03-01" />
<xs:import schemaLocation="Compassion.BizTalk.Schemas.Common.CIUpdateRecord" namespace="http://schemas.compassion.com/common/updaterecord/2005-03-01" />

Another question - do you do anything with the schemaLocation attribute or do you ignore it?

You see a namespace http://schemas.compassion.com/ccq/packagecode/2006-01-01 and you look up this namespace in all the catalogs.

You go to my catalog and find this line:
<use name="http://schemas.compassion.com/ccq/packagecode/2006-01-01" uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.CCQ\CICCQPackageCode.xsd"/>

You try to open this file, but obviously this file exists, and this file name is different than the filename that the error is reporting.

The error is correct that the file does not exist, because the directory name is wrong. So apparently the software is not using my catalog in this instance.

How else can I trace through this. It's starting to drive me crazy.

Thanks again,
Neal


Postnext
Tony LavinioSubject: Opening Biztalk schema that references other schemas
Author: Tony Lavinio
Date: 15 Feb 2006 04:21 PM
1. Catalogs map _physical_ names, not namespaces. You need to fix up the
schemaLocation and noNamespaceSchemaLocation attributes that you find.
So in this case, your catalog entry would as below.

2. Also, your DOCTYPE is missing the http:// before the www.... (The
reason it works for the included catalogs is because there is a directory
called www.stylusstudio.com that contains our DTD right below where the
'Catalog' directory, so it's referencing a local file.) Unless your catalog
is also in that directory, you'll have to use a different path or an
absolute path.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "http://www.stylusstudio.com/Stylus-Catalog.dtd">
<catalog>
<uri name="Compassion.BizTalk.Schemas.Common.CIUpdateRecord" uri="file:///c:/Shared/CI-OMC/SourceCode/Compassion.BizTalk/Compassion.BizTalk.Schemas.Common/CIUpdateRecord.xsd"/>
</catalog>

Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 21 Feb 2006 01:21 PM
I'm still getting no-where! Still getting exact same error (it's looking in wrong directory for CIUpdateRecord.

CompassionCatalog.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "http://www.stylusstudio.com/Stylus-Catalog.dtd">
<catalog xmlns:stylus="http://www.stylusstudio.com/catalog">
<stylus:description>Compassion Catalog for Biztalk Schemas (required to resolve references)</stylus:description>

<use name="Compassion.BizTalk.Schemas.Common.CIUpdateRecord" uri="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\Compassion.BizTalk.Schemas.Common\CIUpdateRecord.xsd"/>
</catalog>

So how can I deterermine if Stylus is even using my user-catalog or not?

My "base catalog" looks like this:
<catalog>
<!-- all your catalogs then mine below -->
<nextCatalog catalog="file:///c:\Shared\CI-OMC\SourceCode\Compassion.BizTalk\CompassionCatalogForStylusStudio.xml"/>
</catalog>

Neal


Postnext
Tony LavinioSubject: Opening Biztalk schema that references other schemas
Author: Tony Lavinio
Date: 24 Feb 2006 12:21 AM
There is a freeware tool from http://www.sysinternals.com called
filemon that will show you which files your system is attempting
to open and operate on.

I often use it when diagnosing path-related problems, because it
will show what files a program is *trying* to open as well as those
it successfully opens.

If the catalog is being seen, using this program you should be able
to see the catalog being opened and then the XSD being opened.

If one or both isn't being opened, that should show up also.

Postnext
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 28 Feb 2006 10:27 AM
I was trying FileMon, BUT - I also finally got my client to license the product. I installed the professional version and activated (was using trial enterprise version before). Unfortunately, the un-install of the enterprise edition wiped out my base catalog. I'll rebuild and report back in a hopefully a few minutes.

Neal


Posttop
Neal WaltersSubject: Opening Biztalk schema that references other schemas
Author: Neal Walters
Date: 28 Feb 2006 11:46 AM
Filemon doesn't show that Stylus is accessing the catalog.
I have Stylus open with catalog in project window. I clear FileMon, then I open the CIOrderLineItem.xsd.

I'm using mask of *.xml in FileMon and the only thing it shows is ...\LOCALS~1\Temp\IDE60A.xml.

For all I know you could be caching the base catalog.

So, does this prove that when I load CIOrderLineItem.xsd the base catalog is not being used. What should I try next?

In prior posts of I have told you I'm confused how it knows what the base catalog is and how it know how to find it when I open an *.xsd type file. Do I have to be "in the project", add the .xsd to the project?

So I tried adding the CIOrderLineItem.xsd to my project that has the BaseCatalog and my Compassion Catalog it seems to work. But after further investigation, I think the file was just open. If I close the .xsd file and re-open it I still get the same error reported earlier.

So I also asked in a prior post - what if I want to use a file/explorer tool, and do right-click "Open with Stylus Studio" on an .xsd file.
In this case it will not know which project/catalog to use?

Thanks,
Neal

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.