[relaxng-user] combining schemas

Bruce D'Arcus bdarcus at fastmail.fm
Tue Nov 25 10:49:03 ICT 2003


Sorry to post this again, but I really need an answer to this question, 
and the documentation I've found isn't helping me (more a function of 
my limitations than that of the documentation I'm sure!).  Anyone?

On Nov 20, 2003, at 5:46 PM, Eric van der Vlist wrote:

>> What am I doing wrong??
>
> If you include the schema for docbook, you need to either redefine the
> start pattern defined in the schema for docbook or combine its content
> with a new one.

Thanks for this Eric.  I was able to get it working ultimately.

I'm now stuck with the same duplicate start problem in another 
circumstance.

The mods schema has an extension element that allows one to embed 
content from other namespaced schema.  I have create simple schema 
called bibio-notes, which I want to use to add marked up annotations to 
the record.

I assumed the following would work, but I am getting the duplicate 
start error from nxml mode.  The start pattern for mods is:

start = ModsSchema.

Here's my schema:

===============================

include "biblio-notes.rnc" { start = ModsSchema }

include "mods.rnc" {
    extension = element extension { biblio-notes }*
}

===============================

Once again: what am I missing?

Also, do I need to do something special to get the namespace for 
biblio-notes attached to the extension element in mods for validation?  
In other words, a simple instance would look like:

<mods xmlns="http://www.loc.gov/mods/v3">
	<name/>
	<titleInfo/>
	<originInfo/>
	<extension xmlns:bn="http://www.whatever.com/biblio-notes">
		<bn:notes>
			<bn:para>content wrapped in the foreign schema tags</bn:para>
		</bn:notes>
	</extension>
</mods>

Bruce



More information about the relaxng-user mailing list