Электронный магазин на Java и XML

         

Исправленный файл catalog .dtd



Листинг 2.6. Исправленный файл catalog .dtd

<!ENTITY % running_text "(#PCDATA | bold | italics | quote | link | general)*">
<!ENTITY % date_time "(day_of_week?, month?, day_of_month?, year?,(hour, minute, seconds?)?)">
<!ELEMENT catalog (product_line*) >
<!ELEMENT product_line (product*)>
<!ATTLIST product_line name CDATA #IMPLIED>
<!ELEMENT product (name,author*,artist*,description, price,quantity_in_stock,image*, onsale_date?,clip*,shipping_info*)>
<!ATTLIST product id ID #REQUIRED>
<!ATTLIST product keywords CDATA #IMPLIED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT author (name)>
<!ELEMENT artist (name)>
<!ELEMENT description (paragraph|general)* >
<!ELEMENT paragraph %running_text;>


<!ELEMENT bold (#PCDATA)>
<!ELEMENT italics (#PCDATA)>
<!ELEMENT quote (#PCDATA)>
<!ATTLIST quote attrib CDATA #IMPLIED>
<!ELEMENT link (#PCDATA)>
<!ATTLIST link href CDATA #REQUIRED alt CDATA #IMPLIED>
<!ELEMENT general (#PCDATA)>
<!ATTLIST general type CDATA #REQUIRED>
<!ELEMENT price (#PCDATA)>
<!ATTLIST price discount CDATA #IMPLIED>
<!ELEMENT quantity_in_stock (#PCDATA)>
<!ELEMENT image (caption?)>
<!ATTLIST image format (gif|png|jpg) #REQUIRED width CDATA #IMPLIED height CDATA #IMPLIED src CDATA #REQUIRED>
<!ELEMENT caption (paragraph)* >
<!ELEMENT onsale_date %date_time;>
<!ELEMENT day_of_week (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT day_of_month (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT hour (#PCDATA)>
<!ELEMENT minute (#PCDATA)>
<!ELEMENT seconds (#PCDATA)>
<!ELEMENT clip (title,description?)>
<!ATTLIST clip format (mp3|mpeg|mov|rm) #REQUIRED length CDATA #IMPLIED size CDATA #IMPLIED src CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>

В листинге 2.7 содержится правильно оформленный и допустимый документ XML, в котором используется DTD из файла catalog.dtd. Это только фрагмент исходного текста для полного каталога, который вы найдете на прилагаемом к данной книге компакт-диске.



Содержание раздела