Example 6     <<      >>       intro       contents     

This example uses a combination of [ + * ?]

  DTD   HOME     

The root element XXX can contain one element AAA followed by one or more elements BBB. Element AAA can contain one element CCC and several elements DDD. Element BBB must contain precisely one element CCC and one element DDD:

               <!ELEMENT XXX (AAA? , BBB+)>
               <!ELEMENT AAA (CCC? , DDD*)>
               <!ELEMENT BBB (CCC , DDD)>
               <!ELEMENT CCC (#PCDATA)>
               <!ELEMENT DDD (#PCDATA)>
               
            


  Valid documents   HOME     

A valid document:

               <!DOCTYPE tutorial SYSTEM "tutorial.dtd">

               <XXX>
                    <AAA>
                         <CCC/><DDD/>
                    </AAA>
                    <BBB>
                         <CCC/><DDD/>
                    </BBB>
               </XXX>
               
            

Elements in AAA are not mandatory:

               <!DOCTYPE tutorial SYSTEM "tutorial.dtd">

               <XXX>
                    <AAA/>
                    <BBB>
                         <CCC/><DDD/>
                    </BBB>
               </XXX>
               
            

Element AAA can be omitted:

               <!DOCTYPE tutorial SYSTEM "tutorial.dtd">

               <XXX>
                    <BBB>
                         <CCC/><DDD/>
                    </BBB>
               </XXX>
               
            

  Documents with errors   HOME     

Element BBB must contain elements CCC and DDD:

               <!DOCTYPE tutorial SYSTEM "tutorial.dtd">

               <XXX>
                    <AAA/>
                    <BBB/>
               </XXX>
               
            

Element AAA can contain maximaly one element CCC:

               <!DOCTYPE tutorial SYSTEM "tutorial.dtd">

               <XXX>
                    <AAA>
                         <CCC/><CCC/>
                         <DDD/><DDD/>
                    </AAA>
                    <BBB>
                         <CCC/><DDD/>
                    </BBB>
               </XXX>