2016-11-09 10 views
0

Я пробовал все, о чем я могу думать в обратном и вперёд, я подсчитал и пересчитал свои файлы lt и gt снова и снова, но этот внешний файл dtd продолжает оставаться недействительным с сообщением: Ошибка анализа XML-диаграммы @line 30 (последняя строка, содержащая «]>»): начальный тег ожидается, «<« не найден ». Может кто-нибудь мне помочь? Тонк много!Внешняя ошибка проверки dtd: ошибка анализа партитуры

<?xml version="1.0"?> 
<!DOCTYPE items 
[ 
<!ELEMENT items (item+)> 
<!ELEMENT item  (description, country, sellingPrice, cost, quantityOnHand, 
        backorderedAmount, dateLastReceived, quantitySoldYearToDate, 
        warehouseSection, warehouseShelve, remarks, supplier, supplier+)> 
<!ATTLIST item itemNumber ID #REQUIRED>  
<!ELEMENT description (#PCDATA)> 
<!ELEMENT country (#PCDATA)> 
<!ELEMENT sellingPrice  (#PCDATA)> 
<!ATTLIST sellingPrice saleItem (Y|N) #REQUIRED>  
<!ELEMENT cost (#PCDATA)> 
<!ELEMENT quantityOnHand (#PCDATA)> 
<!ELEMENT backorderedAmount (#PCDATA)> 
<!ATTLIST backorderedAmount dateOrdered NMTOKEN #IMPLIED> 
<!ELEMENT dateLastReceived (month, day, year)> 
<!ELEMENT month (#PCDATA)> 
<!ELEMENT day (#PCDATA)> 
<!ELEMENT year (#PCDATA)> 
<!ELEMENT quantitySoldYearToDate (#PCDATA)> 
<!ELEMENT warehouseSection (#PCDATA)> 
<!ELEMENT warehouseShelve  (#PCDATA)> 
<!ELEMENT remarks  (#PCDATA)> 
<!ELEMENT supplier  (number, shipmentLeadTime, supCost)> 
<!ELEMENT number (#PCDATA)> 
<!ELEMENT shipmentLeadTime (#PCDATA)> 
<!ATTLIST shipmentLeadTime unit (days|weeks) #REQUIRED> 
<!ELEMENT supCost (#PCDATA)> 
]> 

ответ

0

Поскольку это внешнее DTD, вы также декларацию DOCTYPE в файле XML, который ссылается этот DTD? Если это так, вам нужно удалить doctype из DTD.

Вот пример, чтобы попробовать что это закомментирована:

<!--<!DOCTYPE items [--> 
<!ELEMENT items (item+)> 
<!ELEMENT item  (description, country, sellingPrice, cost, quantityOnHand, 
        backorderedAmount, dateLastReceived, quantitySoldYearToDate, 
        warehouseSection, warehouseShelve, remarks, supplier, supplier+)> 
<!ATTLIST item itemNumber ID #REQUIRED>  
<!ELEMENT description (#PCDATA)> 
<!ELEMENT country (#PCDATA)> 
<!ELEMENT sellingPrice  (#PCDATA)> 
<!ATTLIST sellingPrice saleItem (Y|N) #REQUIRED>  
<!ELEMENT cost (#PCDATA)> 
<!ELEMENT quantityOnHand (#PCDATA)> 
<!ELEMENT backorderedAmount (#PCDATA)> 
<!ATTLIST backorderedAmount dateOrdered NMTOKEN #IMPLIED> 
<!ELEMENT dateLastReceived (month, day, year)> 
<!ELEMENT month (#PCDATA)> 
<!ELEMENT day (#PCDATA)> 
<!ELEMENT year (#PCDATA)> 
<!ELEMENT quantitySoldYearToDate (#PCDATA)> 
<!ELEMENT warehouseSection (#PCDATA)> 
<!ELEMENT warehouseShelve  (#PCDATA)> 
<!ELEMENT remarks  (#PCDATA)> 
<!ELEMENT supplier  (number, shipmentLeadTime, supCost)> 
<!ELEMENT number (#PCDATA)> 
<!ELEMENT shipmentLeadTime (#PCDATA)> 
<!ATTLIST shipmentLeadTime unit (days|weeks) #REQUIRED> 
<!ELEMENT supCost (#PCDATA)> 
<!--]>--> 

Также см этот ответ здесь: External referenced DTD in XML

Если это не ответ на ваш вопрос, пожалуйста, обновите его с minimal, complete, and verifiable example.

+0

Thanx, Daniel и да, на это я ссылаюсь в своем XML-файле. Когда я удаляю первую и последнюю строки (вы закомментировали), у меня появляется другое сообщение об ошибке «XML Parsing error @line 1: Extra content в конце документа». Я готов СКРИМ! Спасибо за помощь! (MUCH!) – ecelizzy

+0

@ecelizzy - Можете ли вы обновить свой вопрос с помощью XML и обновленного DTD? –

+0

Оказывается, проблема была в валидаторе, а не в программе. Тонкс, снова! – ecelizzy