Mam takie zadanko "proste", czy to co zrobiłem jest ok?
Stwórz dokument XML zawierający przykładowe dane w postaci odpowiednich powiązanych ze sobą elementów: pracownik, klient, zamówienie, oraz zewnętrzną deklarację DTD dla tego dokumentu. Rozwiązanie powinno ponadto posiadać następujące własności:

wspólne części zawartości deklaracji elementów pracownik i klient powinny być "wyciągnięte przed nawias" przez zastosowanie encji parametrycznych
Zamówienie powinno wskazywać klienta zamawiającego oraz pracownika przyjmującego zamówienie za pomocą atrybutów wskaźnikowych (prowadzących do atrybutów ID odpowiednich elementów)
Podobnie, niech element pracownik posiada opcjonalny atrybut podwladni, który będzie mógł zawierać zbiór wskaźników do innych elementów pracownik
W obu powyższych zastosowaniach dobór typów atrybutów powinien być maksymalnie precyzyjny, aby można było podczas walidacji wykontrolować integralność referencyjną (np. brak unikalności wartości identyfikatora itp.)
Dokument wraz z jego DTD powinien być pomyślnie sprawdzony pod kątem jego poprawności strukturalnej.

<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE SHOP [<!ELEMENT SKLEP (EMPLOYEE+, COSTOMER+, ORDER+)> employee
<!ENTITY % nr "nr ID #REQUIRED" >
<!ELEMENT ORDER (TOWAR+)>
<!ATTLIST ORDER
    COSTOMER IDREFS #REQUIRED
    EMPLOYEE IDREFS #REQUIRED>
 
<!ATTLIST EMPLOYEE
    nr ID #REQUIRED
    SUBORNIDATE IDREFS #IMPLIED>
 
<!ELEMENT ITEM (#PCDATA)>
<!ELEMENT EMPLOYEE (#PCDATA)>
 
 
 
<!ELEMENT COSTOMER (#PCDATA)>
 
<!ATTLIST COSTOMER
    nr ID #REQUIRED>]>
 
<SHOP>
 
<EMPLOYEE nr='emp1'>Kevin</EMPLOYEE>
<EMPLOYEE nr='emp2' SUBORNIDATE='emp1'>Alex</EMPLOYEE>
<COSTOMER nr='cos'>Adam</COSTOMER>
 
<ORDER COSTOMER='cos' EMPLOYEE='emp1'>
    <ITEM>ski</ITEM>
    <ITEM>ball</ITEM>
</ORDER>
</SHOP>