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

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xml-dev] tricky validation problem w multiple schemas



"Naomi Dushay" <Naomi@cs.cornell.edu> writes:

<snip/>

> instance doc 2:
> 
> <DO xsi:noNamespaceSchemaLocation="DO.xsd">
> 	<DS DSID="a">
> 		<MIME>text/plain</MIME>
> 	</DS>
> 	<DS DSID="b">
> 		<MIME>image/gif</MIME>
> 	</DS>
> 	<FRIP FID="f1">
> 		<desc>this is an instance of a Q frip</desc>
> 		<FSch:root xmlns:FSch="http://fsch.ns";
> xsi:schemaLocation="http://fsch.ns FRIPQ.xsd">
> 			<FSch:roleq1 RDSID="a" />
> 			<FSch:roleq2 RDSID="b" />
> 		</FSch:root>
> 	</FRIP>
> </DO>
> 
> I can validate instance doc 2 against DO.xsd.
> 
> If I snip out the FSch qualified XML, I can validate that against
> FRIPQ.xsd.
> 
> 
> But I'm still not happy:
> 
> 1.	Neither XML Spy nor Topologi has a way for me to validate the
> appropriate piece of XML instance doc 2 against FRIPQ "in situ."  That
> is, the only way I've found to validate against FRIPQ.xsd is to snip out
> that piece of XML and make it a separate instance doc.

XSV will handle this one just fine -- whenever it hits a previously
unseen namespace, it looks for an xsi:schemaLocation attribute and
does the right thing.

> 2.	RDSID within a frip role tag is supposed to be an IDREF to a
> DSID attribute in a DS tag.
> 
> 	But in the above model, my frip schema doesn't know about DO.xsd
> ... so how can they refer to XML in the DO?

RDSID is an IDREF, the IDs will be IDs, it should all work.

> Is there a way for me to do all of these:
> 
> 	a.  have DO schema that will allow extensible frips to be
> plugged in at the appropriate spot.
> 
> 	b.  DO schema doesn't know anything about specific frip schemas,
> only DO instance docs know about specific frip schemas.
> 
> 	c.  specific frip validating doc can be used to validate
> specific frip instance in DO instance doc.
> 
>  	d.  specific frip validating doc can validate:
> 		i.	correct role elements for specific frip
> 		ii.	attribute RDSID for each role is an IDREF
> refering to a DSID in a DS element in DO instance doc.
> 		iii.	match RDSID for each role to DSID pertaining to
> correct MIME type specified (e.g. for Frip Q, roleq1 must match DS with
> MIME "text/plain")

(a), (b), (c), (d) i and ii are fine with W3C XML Schema.  (d)iii is
application logic/business rule, and W3C XML Schema can't help.

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2001, part-time member of W3C Team
     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/