[Fwd: DocBook 5.0b1]

From
Jirka Kosek <>
Date
2005-11-18T10:47:46+00:00
ID
Thread
[Fwd: DocBook 5.0b1]
Hi Norm,

there is a bug in RELAX NG schema. Wildcard patterns for db._any.svg 
(and mml too) allow only one child element inside SVG/MathML root 
element (svg:svg or mml:math respectively) which is wrong.

I didn't fixed it in CVS, DocBook schemas are your toys. ;-)

				Jirka

-------- Original Message --------
Subject: DocBook 5.0b1
Date: Fri, 18 Nov 2005 11:07:18 +0100
From: Hussein Shafie <>
To: Jirka Kosek <>

Hello,

I've found a problem in DocBook 5.0b1's docbook.rng. (If there is a
mailing list where I need to send this, just tell me.)

---
   <div>
     <define name="db._any.svg">
       <element>
         <a:documentation>Any element from the SVG
         namespace</a:documentation>
         <nsName ns="http://www.w3.org/2000/svg"/>
         <ref name="db._any"/>
       </element>
     </define>
   </div>
---

where:

---
     <define name="db._any">
       <element>
         <a:documentation>Any element from any namespace except the
         DocBook namespace</a:documentation>
         <anyName>
           <except>
             <nsName/>
             <nsName ns="http://www.w3.org/1999/xhtml"/>
           </except>
         </anyName>
         <zeroOrMore>
           <choice>
             <attribute>
               <anyName/>
             </attribute>
             <text/>
             <ref name="db._any"/>
           </choice>
         </zeroOrMore>
       </element>
     </define>
  ---

Also note that db._any.mml may have the same problem as db._any.svg

I'm not a RELAX NG expert, but James Clark's Jing is really not happy
when I insert any svg:svg graphics in an imageobject.

In my opinion, Jing is right and the problem comes from here:

---
         <nsName ns="http://www.w3.org/2000/svg"/>
         <ref name="db._any"/> <---- This is an element, hence
                                     svg:svg can only contain a
                                     *single* child element!
---

I've rewritten db._any.svg (and db._any.mml) as follows (this is just a
quick and dirty fix):

---
     <define name="db._any.svg">
       <element>
         <a:documentation>Any element from the SVG
         namespace</a:documentation>
         <nsName ns="http://www.w3.org/2000/svg"/>
         <zeroOrMore>
           <choice>
             <attribute>
               <anyName/>
             </attribute>
             <text/>
             <ref name="db._any"/>
           </choice>
         </zeroOrMore>
       </element>
     </define>
---



-- 
------------------------------------------------------------------
   Jirka Kosek     e-mail:      http://www.kosek.cz
------------------------------------------------------------------
   Profesionální školení a poradenství v oblasti technologií XML.
      Podívejte se na náš nově spuštěný web http://DocBook.cz
        Podrobný přehled školení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
Nejbližší termíny školení: XML schémata (včetně RELAX NG) 7.-9.11.
          *** DocBook 5.-7.12. *** XSL-FO 19.-20.12. ***
------------------------------------------------------------------