Attaching xsd schemas with include

B

Brandt Barretto

I've got a schema that I am trying to reference over the
web in a Word document. The referenced schema extends
some data types from a second schema.

When I try to attach to the schema over the web, Word 2003
gives me this:

"One or more schemas you have selected cannot be used in
this document. A schema may not be available, may not be
valid, or may require additional schemas to function
correctly"

The details point me to a temporary file buried deep in a
Temporary Internet Files subfolder.

If I copy the included schema to this temp directory,
things seem to work fine -- but I shouldn't have to do
this manual copy to make it work.

Now if I reference the schema locally on my machine
(somewhere on my d: drive), it finds the included schema
with no problem.

I'm trying to put together a document that will be used
across our company and I don't want to have to make people
copy schema files in order to use it.

GetRequest.xsd includes TimsTypes.xsd. TimsTypes.xsd
contains basic types used by a lot of other schemas.

Thanks for any advice,

Brandt Barretto

....Schemas follow

**************************************************
GetRequest.xsd

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 2 U
(http://www.xmlspy.com) by John Buchenberger (Cisco
Systems Inc) -->
<xs:schema
targetNamespace="http://tims.cisco.com/namespace"
xmlns="http://tims.cisco.com/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified" version="3.5">
<xs:include schemaLocation="TimsTypes.xsd"/>
<xs:element name="GetResponse">
<xs:annotation>
<xs:documentation>The GetResponse message for
the TIMS web service</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="ResponseType">
<xs:sequence>
<xs:element name="Project"
type="SystemIDType"/>
<xs:element ref="Entity"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>

******************************************************

TimsTypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U
(http://www.xmlspy.com) by Brandt Barretto (Cisco
Systems) -->
<xs:schema
targetNamespace="http://tims.cisco.com/namespace"
xmlns="http://tims.cisco.com/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified" version="3.5">
<xs:complexType name="RequestType">
<xs:sequence>
<xs:element name="Credential"
type="CredentialType"/>
<xs:element name="Project"
type="SystemIDType"/>
<xs:element name="Parameter" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:NMTOKEN">
<xs:attribute name="name"
type="xs:NMTOKEN" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="reqid" type="xs:ID"
use="optional"/>
</xs:complexType>
<xs:complexType name="ResponseType">
<xs:sequence>
<xs:element name="Parameter" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name"
type="xs:NMTOKEN" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="reqid" type="xs:ID"
use="optional"/>
</xs:complexType>
<xs:complexType name="ContextType">
<xs:attribute name="db" type="DatabaseIDType"
use="optional"/>
<xs:attribute name="project" type="SystemIDType"
use="optional"/>
</xs:complexType>
<xs:complexType name="CredentialType">
<xs:attribute name="user" type="xs:NMTOKEN"
use="required"/>
<xs:attribute name="token" type="xs:NMTOKEN"
use="required"/>
</xs:complexType>
<xs:complexType name="EntityType" abstract="true">
<xs:sequence>
<xs:element name="Title">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="256"/>
<xs:whiteSpace value="preserve"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SystemID"
type="SystemIDType" minOccurs="0"/>
<xs:element name="Description" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="4000"/>
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Owner" minOccurs="0"
maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TextField" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name"
type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="NumberField" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="name"
type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="DateField" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:dateTime">
<xs:attribute name="name"
type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ListField"
type="ListFieldType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Detail" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name"
type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="File" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:IDREF"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="FolderRef" type="xs:IDREF"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FolderID"
type="SystemIDType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Created" type="xs:dateTime"
minOccurs="0"/>
<xs:element name="LastModified"
type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="docID" type="xs:ID"
use="optional"/>
</xs:complexType>
<xs:complexType name="ResultType">
<xs:complexContent>
<xs:extension base="EntityType">
<xs:sequence>
<xs:element name="Status">
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:enumeration
value="Pending"/>
<xs:enumeration
value="Passed"/>
<xs:enumeration
value="Failed"/>
<xs:enumeration
value="Blocked"/>
<xs:enumeration
value="Dropped"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:choice>
<xs:element name="ConfigID"
type="SystemIDType" minOccurs="0"/>
<xs:element name="ConfigRef"
type="xs:IDREF" minOccurs="0"/>
</xs:choice>
<xs:choice>
<xs:element name="CaseRef"
type="xs:IDREF" minOccurs="0"/>
<xs:element name="CaseID"
type="SystemIDType" minOccurs="0"/>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CaseType">
<xs:complexContent>
<xs:extension base="EntityType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ConfigType">
<xs:complexContent>
<xs:extension base="EntityType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="FolderType">
<xs:complexContent>
<xs:extension base="EntityType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TechNoteType">
<xs:complexContent>
<xs:extension base="EntityType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="PersonType"/>
<xs:complexType name="ListFieldType">
<xs:simpleContent>
<xs:extension base="ListValueType">
<xs:attribute name="name" type="xs:string"
use="required"/>
<xs:attribute name="multivalue"
type="xs:boolean" use="optional" default="false"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ListType">
<xs:sequence>
<xs:element name="ListValue" type="xs:string"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"
use="required"/>
</xs:complexType>
<xs:complexType name="SearchContextType"/>
<xs:complexType name="CriterionType" abstract="true">
<xs:sequence>
<xs:element name="FieldName"
type="xs:normalizedString"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DateCriterionType">
<xs:complexContent>
<xs:extension base="CriterionType">
<xs:sequence>
<xs:element name="Value"
type="xs:dateTime"/>
</xs:sequence>
<xs:attribute name="operator"
type="DateOperatorType" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NumberCriterionType">
<xs:complexContent>
<xs:extension base="CriterionType">
<xs:sequence>
<xs:element name="Value"
type="xs:float"/>
</xs:sequence>
<xs:attribute name="operator"
type="NumberOperatorType" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TextCriterionType">
<xs:complexContent>
<xs:extension base="CriterionType">
<xs:sequence>
<xs:element name="Value"
type="xs:string"/>
</xs:sequence>
<xs:attribute name="operator"
type="TextOperatorType" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ListCriterionType">
<xs:complexContent>
<xs:extension base="CriterionType">
<xs:sequence>
<xs:element name="Value"
type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="operator"
type="ListOperatorType" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="FolderTreeType">
<xs:complexContent>
<xs:extension base="FolderType">
<xs:sequence>
<xs:element ref="Entity" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="FolderTree"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="SystemIDType">
<xs:restriction base="xs:normalizedString">
<xs:pattern value="T+[a-z]*[A-Z]*[0-9]*[a-z]
+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DateOperatorType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="ISON"/>
<xs:enumeration value="ISAFTER"/>
<xs:enumeration value="ISBEFORE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NumberOperatorType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="EQ"/>
<xs:enumeration value="NEQ"/>
<xs:enumeration value="GT"/>
<xs:enumeration value="LT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TextOperatorType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="CONTAINS"/>
<xs:enumeration value="IS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ListOperatorType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="ONEOF"/>
<xs:enumeration value="ALLOF"/>
<xs:enumeration value="IS"/>
<xs:enumeration value="ISNOT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DatabaseIDType">
<xs:restriction base="xs:NMTOKEN"/>
</xs:simpleType>
<xs:simpleType name="EntityNameType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Folder"/>
<xs:enumeration value="Case"/>
<xs:enumeration value="Config"/>
<xs:enumeration value="Result"/>
<xs:enumeration value="TechNote"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SearchScope">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="project"/>
<xs:enumeration value="folder"/>
<xs:enumeration value="orphan"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ListValueType">
<xs:restriction base="xs:token">
<xs:pattern value="[^,]+"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Case" type="CaseType"
substitutionGroup="Entity"/>
<xs:element name="Folder" type="FolderType"
substitutionGroup="Entity"/>
<xs:element name="Config" type="ConfigType"
substitutionGroup="Entity"/>
<xs:element name="Entity" type="EntityType"
abstract="true"/>
<xs:element name="Result" type="ResultType"
substitutionGroup="Entity"/>
<xs:element name="TechNote" type="TechNoteType"
substitutionGroup="Entity"/>
<xs:element name="FolderTree" type="FolderTreeType"/>
<xs:element name="Credential" type="CredentialType"/>
<xs:element name="ID">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="SystemIDType">
<xs:attribute name="docID"
type="xs:ID" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Criterion" type="CriterionType"
abstract="true"/>
<xs:element name="DateCriterion"
type="DateCriterionType" substitutionGroup="Criterion"/>
<xs:element name="TextCriterion"
type="TextCriterionType" substitutionGroup="Criterion"/>
<xs:element name="NumberCriterion"
type="NumberCriterionType" substitutionGroup="Criterion"/>
<xs:element name="ListCriterion"
type="ListCriterionType" substitutionGroup="Criterion"/>
</xs:schema>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top