Cytat
To nie jest do konca prawda. Oczywiscie w bardzo, bardzo wielkim uproszczeniu mozna tak myslec jednak, DTD troche zle potraktowales bo w DTD w pewnym sensie mozna okreslac typ danych (oczywiscie jest to ograniczone w wielkim stopniu ale jednak jest) ograniczenia zawartosci rowniez wystepuja w postaci wyrazen regolarnych (tutaj rowniez nie jest to zaawansowane poniewaz ogranicza sie to do *, + itp
Czytając Twój opis, stwierdzam że nie różni się aż tak bardzo (,,w bardzo, bardzo wielkim uproszczeniu'') od mojego. Kwantyfikatory
* i
+ w wyrażaniu regularnym troche słabo definiują typ i robią to na dość niskim poziomie abstrakcji, niezbyt odpowiednim dla klasycznych typów. Poza tym w tej postaci są dość prymitywne do opisania bardziej subtelnych niuansów.
Cytat
w XML Schema mozemy uzywac juz "pelnych" wyrazen Pearlowych
Pearl => Perl
Cytat
Dam jeden przyklad: powiedzmy ze chcemy opisac dokument XML i w nim wystapic moga tylko 4 znaczniki o nazwie "adres". W DTD mozemy (dzieki wyrazeniom regolarnym) opkerslic tylko ze moze wystepowac z przedzialy od 0 do +nieskonczonosci lub od 1 do +nieskonczonosci a w XML Schema mozemy okreslic dokladnie liczne w naczym wypadku 4.
Ale nie zapiszesz w DTD, że wewnątrz elementu może znaleźć się np. tylko i wyłącznie poprawna data i właśnie o taką złożoność (i wyższą) opisu mi chodzi.
Cytat
XML Schema jest zgodny z (prostym) XML-em a a DTD jest zgodny z (trudnym) SGML-em
Ja nie znam dobrze XML Schema (tyle co przeczytałem fragmenty specyfikacji), ale wydaje mi się, że DTD nie jest aż takie trudne. Na tyle ile miałem do czynienia z różnymi dokumentami SGMLowymi (więcej niż z XMLowymi) to DTD było łatwo czytelne, głównie za sprawą właśnie bardzo uproszczonej struktury. Być może norma ISO 8879 przewiduje znacznie bardziej złożoną strukturę, ale te które spotkałem w praktyce były łatwe w parsowaniu i czytaniu.
Z mojej strony to EOT, bo nie ma co dalej dyskutować. Twój post był wyczerpujący, poza tym masz pewnie większą wiedzę teoeretyczną z zakresu ML niż ja (znam je głównie z praktyki), więc nie zabieram głosu nt. teorii.