Print

Print


Turns out, in XML schemata, local elements with form="unqualified" are
in no namespace, i.e. xmlns="". This is different from the example
below, which appears to define a whole class of elements with the same
local name.

--Andy

>>> [log in to unmask] 01/25/05 3:59 PM >>>
I just created three files in RELAX NG:

M-Library.rnc
mods.rnc
mads.rnc

The first has no default namespace; the last two each have their own
default namespaces.

Defined like so:

M-Library.rnc
=======
Title = element title { text }
Name = element name { text }

mods.rnc
=======
default namespace = "http://www.loc.gov/mods"
include "M-Library.rnc"
start = MODS
MODS = element mods { Title, Name }

mads.rnc
=======
default namespace = "http://www.loc.gov/mads"
include "M-Library.rnc"
start = MADS
MADS = element mads { Title, Name }


Now, instance documents created against the two schemas:

<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns="http://www.loc.gov/mods">
   <title>Some Title</title>
   <name>Jane Doe</name>
</mods>

<?xml version="1.0" encoding="UTF-8"?>
<mads xmlns="http://www.loc.gov/mads">
   <title>Some Title</title>
   <name>Jane Doe</name>
</mads>

Isn't this how it should be?

Bruce