This is the mail archive of the docbook@lists.oasis-open.org mailing list for the DocBook project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[docbook] XML schema: Wrong usage of abstraction in dbhierx.xsd?


Hi Docbook team!

I had a look at the XML schemes of the Docbook DTD.
I'm using XMLSpy and wanted to validate my Docbook instance document (which
is valid for the DTD) against the separately delivered XSD. After validating
an error arised:
"element or complexType 'book' is abstract='true'; please use xsi:type
[...]"
I took a look into the dbhierx.xsd an figured out (I'm not quite sure,
that's why I'm writing :-)) that the usage of the abstraction in XML schema
is wrong.
The element particle book.class with its inner complexType is declared
abstract. The element particle book (which is in the subtitutionGroup of
book.class) is therefore of an abstract complexType (namely the inner
complexType of book.class). Now, if you create an instance of the book, you
create an instance whose type is abstract. And that is forbidden (IMHO).
What is correct, would look like:
1) Make the inner complexType of book.class public and name it e.g.
"book.class.type"
2) book.class is of type="book.class.type"
3) book is of type="book.class.type" (and still in
substitutionGroup="book.class")

When I make these changes the validation works for "my" book instance.

Any idea, if I'm thinking correct or incorrect? In second case I would thank
you for a suggestion what I'm doing wrong.

Thanks for reading and answering,

Victor

-- 
Supergünstige DSL-Tarife + WLAN-Router für 0,- EUR*
Jetzt zu GMX wechseln und sparen http://www.gmx.net/de/go/dsl


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]