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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: XML Schema Question

[ Lists Home | Date Index | Thread Index ]
  • From: ht@cogsci.ed.ac.uk (Henry S. Thompson)
  • To: Brett McLaughlin <bmclaugh@algx.net>
  • Date: 02 Jan 2000 18:32:23 +0000

Brett McLaughlin <bmclaugh@algx.net> writes:

> My understanding is for XML like this:
> 
> <?xml version="1.0"?>
> 
> <myNamespace:Doc xmlns="Schema/mySchema.xsd" 
>                  xmlns:myNamespace="http://someUrl.com"
> >
> 
>   <myNamespace:element1>
>     <myNamespace:element2 />
>   </myNamespace:element1>
> 
>   <myNamespace:element3>Some content</myNamespace:element3>
> 
> </myNamespace:Doc>
> 
> the myNamespace namespace is of course associated with
> http://someUrl.com.  And the schema for the document that would be used
> for validation would be Schema/mySchema.xsd, as defined in the default
> namespace.  Is that correct?  I know that was the previous version...

This is not quite the right approach.  The default namespace
declaration is doing no work, and is unlikely to yield the right
results.

The preferred approach is as follows:

 <myNamespace:Doc xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" 
                  xmlns:myNamespace="http://someUrl.com"
                  xsi:schemaLocation="http://someUrl.com
                                      Schema/mySchema.xsd"
 >

The following would also work, in a context where dereferencing
namespace URIs is mandated/encouraged.

 <myNamespace:Doc
    xmlns:myNamespace="http://someUrl.com/Schema/mySchema.xsd"
>

but would require that you use your schema URL as your namespace URI.

> And in my schema (here's where everything changed):
> 
> <?xml version="1.0"?>
> <!DOCTYPE schema
>     PUBLIC 
>       "-//W3C//DTD XML Schema Version 1.0//EN"
>     SYSTEM 
>       "http://www.w3.org/TR/1999/WD-xmlschema-1-19991217/structures.dtd"
> >
> 
> <schema targetNamespace="http://someUrl.com"
>         xmlns="http://www.w3.org/1999/XMLSchema"
>         xmlns:myNamespace="http://someUrl.com"
> >
> 
>   <element name="element1" type="myNamespace:element1Type" />
> 
>   <type name="element1Type">
>     <element name="element2">
>       <type content="empty" />
>     </element>
>   </type>
> 
>   <element name="element3" type="string" />
> 
> </schema>
> 
> That would be right, as I can tell.  My only unsurety is whether it is
> correct to omit the namespace before each element's name (in a DTD, of
> course, this has to be myNamespace:element1 and myNamespace:element2). 
> As far as I can tell, the element is defined, and the namespace listed
> in targetNamespace is then applied to all elements named.  That would be
> why the type element1Type must be referred to as
> myNamespace:element1Type in the definition of the element1 element,
> correct?  The namespace is applied to it.  So can someone let me know if
> I am reading this right, or if I'm off in left field somewhere ;-)

The schema is all correct, and your analysis of the namespace story in 
the schema is correct (see also my message on this subject yesterday [1]).

ht

[1] http://www.lists.ic.ac.uk/hypermail/xml-dev/xml-dev-Jan-2000/0013.html
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)






 

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

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