2.3.2.2. Deklaracja typu dokumentu
DTD tworzy się zgodnie z prostą składnią zdefiniowaną w standardzie. Jest to zbiór deklaracji, który rozpoczyna się deklaracją typu dokumentu DOCTYPE.
DTD może być również przedstawione w postaci systemowego lub publicznego identyfikatora (ang. system, public identifier). Identyfikator jest częścią deklaracji DOCTYPE i pozwala zlokalizować zasoby systemowi SGML przetwarzającemu dokumenty.
Identyfikator systemowy (ang. system identifier) odsyła do źródła w lokalnych zasobach:
<!DOCTYPE book SYSTEM ''book.dtd">
<!DOCTYPE manual SYSTEM ''C:\sgml\dtd\manual.dtd">
Identyfikator publiczny (ang. public identifier) jest najczęściej przedstawiany w postaci sformalizowanej jako formalny publiczny identyfikator (ang. formal public identifier). W tym przypadku tworzymy odsyłacz do tekstu publicznego (ang. public text). Tekstem publicznym może być DTD, jego fragment, zbiór encji, zestaw znaków, a nawet cały dokument SGML udostępniany do powszechnego użycia.
Formalny publiczny identyfikator składa się z dwóch zasadniczych części:
- identyfikatora właściciela (ang. owner identifier)
- identyfikatora tekstu (ang. text identifier)
Przykłady DTD z formalnym publicznym identyfikatorem:
<!DOCTYPE book PUBLIC ''-//USA/AAP//DTD BK-1//EN">
<!DOCTYPE sd PUBLIC ''+//British Library//DTD
Starter Document//EN">
Znaki - oraz + wskazują, czy identyfikator właściciela został zarejestrowany. Mamy wówczas pewność, że nie istnieją różne DTD o tych samych nazwach. Do rejestracji uprawniona jest Registration Authority ustanowiona przez International Organisation for Standarisation (ISO). Przydziela ona nazwę, która powinna pojawić się na początku identyfikatora właściciela. Procedura rejestracyjna została dokładnie opisana w standardzie ISO 9070.
W przypadku zarejestrowanego identyfikatora właściciela na początku formalnego publicznego identyfikatora pojawi się znak +, w przypadku nie zarejestrowanego znak -, natomiast jeżeli właścicielem tekstu publicznego jest International Organisation for Standarisation - znak ISO. Identyfikator tekstu możemy podzielić na kilka części składowych, z których dwie są obowiązkowe. Pierwsza to klasa tekstu publicznego (ang. public text class), która wskazuje jakiego typu obiektu SGML dotyczy (DTD, encja, zestaw znaków itd.). Druga część, która opisuje tekst to opis tekstu publicznego (ang. public text description).
|