OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Sanity check please

[ Lists Home | Date Index | Thread Index ]

I'm working on a new schema and have managed to get much of what I  
need done, but I'm afraid that I'm doing some things incorrectly in  
an effort to get it working. Sort of like adding closing parens to  
LISP code until it works. ;)

Here's what I'm trying to accomplish....

A schema that references several other schemas in which are defined  
an number of types. Everything to be pulled together by a catalog file.

I've included a heavily truncated and simplified version of what I'm  
working with. My questions are as follows...

1). Have I created an operable catalog file
2). Have I correctly built the <schema/> headers for the subsequent  
files?
3). If 1 & 2 are correct, why must I import the schemas in order to  
use their defined elements? Shouldn't that be handled via my catalog  
file and the <schema/> declarations?

I'd appreciate any input (good or bad) as to what I've provided  
below. I have other questions, but their are predicated on the  
answers to my questions above. ;)

-David

catalog.xml
=========

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog
   PUBLIC "-//OASIS//DTD XML Catalogs V1.1//EN"
          "http://www.oasis-open.org/committees/entity/release/1.0/ 
catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"  
prefer="public">
     <public publicId="-//NEDRON//FOO Base Types V1.0//EN"  
uri="basetypes.xsd"/>
     <public publicId="-//NEDRON//FOO Data Types V1.0//EN"  
uri="datatypes.xsd"/>
     <public publicId="-//NEDRON//FOO Test V1.0//EN" uri="test.xsd"/>
</catalog>

basetypes.xsd
===========

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
     xmlns:ipbt="-//NEDRON//FOO Base Types V1.0//EN"
     elementFormDefault="qualified">
     <!--Declare a number of generic type equivalents-->
     <!-- string type -->
     <xs:complexType name="stringType" abstract="true">
         <xs:annotation>
             <xs:documentation>Character strings.</xs:documentation>
         </xs:annotation>
         <xs:simpleContent>
             <xs:extension base="xs:string"/>
         </xs:simpleContent>
     </xs:complexType>
</xs:schema>

datatypes.xsd
===========

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
     targetNamespace="-//NEDRON//FOO Data Types V1.0//EN"
     xmlns:ipbt="-//NEDRON//FOO Base Types V1.0//EN"
     xmlns:ipdt="-//NEDRON//FOO Data Types V1.0//EN"
     elementFormDefault="qualified">
     <!--Generic descriptive text type -->
     <xs:import schemaLocation="ipbt.xsd"/>
     <xs:complexType name="descriptionType" abstract="true">
         <xs:annotation>
             <xs:documentation>This is a generic descriptive text
             entry.</xs:documentation>
         </xs:annotation>
         <xs:simpleContent>
             <xs:extension base="stringType"/>
         </xs:simpleContent>
     </xs:complexType>
</xs:schema>

test.xsd
======
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
     targetNamespace="-//NEDRON//FOO Test V1.0//EN"
     xmlns:ipft="-//NEDRON//FOO Filter Types V1.0//EN"
     xmlns:ipdt="-//NEDRON//FOO Data Types V1.0//EN"
     elementFormDefault="qualified">
     <xs:import schemaLocation="basetypes.xsd"/>
     <xs:import schemaLocation="datatypes.xsd"/>
     <xs:element name="ruleset">
         <xs:complexType>
             <xs:sequence>
                 <xs:element name="rule" minOccurs="1"  
maxOccurs="unbounded">
                     <xs:complexType>
                         <xs:sequence>
                             <xs:element name="name"  
type="descriptionType"
                                 minOccurs="1" maxOccurs="1"/>
                             <xs:element name="desc"  
type="descriptionType"
                                 minOccurs="1" maxOccurs="1"/>
                             <xs:element name="vdesc"  
type="descriptionType"
                                 minOccurs="1" maxOccurs="1"/>
                         </xs:sequence>
                     </xs:complexType>
                 </xs:element>
             </xs:sequence>
         </xs:complexType>
     </xs:element>
</xs:schema>





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS