Може ли някой да обясни разликата между следните DTD изявления?
<!ELEMENT all (book+, dvd+)>
и
<!ELEMENT all (book, dvd)+>
Може ли някой да обясни разликата между следните DTD изявления?
<!ELEMENT all (book+, dvd+)>
и
<!ELEMENT all (book, dvd)+>
Моделът на съдържанието (книга+, dvd+) съответства на последователност от елементи: първо, един или повече елементи на книга (това е book+
), след това (това е ,
) един или повече dvd елементи (това е dvd+
). Така че следното съответства на този модел на съдържание:
<book/><dvd/>
<book/><book/><book/><dvd/>
<book/><dvd/><dvd/><dvd/><dvd/><dvd/>
<book/><book/><book/><book/><dvd/><dvd/>
и т.н.
Моделът на съдържание (книга, dvd)+ съответства на едно или повече появявания на последователността, състояща се от една книга, последвана от едно dvd. Така че следното съвпада с него:
<book/><dvd/>
<book/><dvd/><book/><dvd/>
<book/><dvd/><book/><dvd/><book/><dvd/>
<book/><dvd/><book/><dvd/><book/><dvd/><book/><dvd/>
и т.н.
Разликата е, че в първия израз двата оператора + се прилагат към отделните имена на елементи book и dvd; във втория знакът + се отнася за поредицата (книга, DVD) като цяло.
Обърнете внимание, че първият пример във всеки списък е законен и при двата модела на съдържание и че никой от другите не е законен.
С 0 познания за dtd:
Бих казал, че първият трябва да съдържа поне 1 книгаИ1 DVD. Но може да съдържа много книги и/или DVD-та.
Вторият съдържа трябва да съдържа поне 1 книга ИЛИ 1 DVD. Но може да съдържа много книги и/или DVD-та.