2016-11-09 3 views
0

전방 및 전방으로 생각할 수있는 모든 것을 시도했습니다. 내 자신과 gt를 반복해서 계산하고 계산했지만이 외부 dtd 파일은 메시지와 함께 무효화됩니다. XML 구문 분석 오류 @line 30 (">>"이 포함 된 마지막 줄) : 시작 태그가 필요합니다. '<'을 찾을 수 없습니다. " 누구든지 나를 도울 수 있습니까? 많이 고맙다!외부 dtd 유효성 검사 오류 : XML 구문 분석 오류

<?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이므로이 DTD를 참조하는 XML 파일에 DOCTYPE 선언이 있습니까? 그렇다면 DTD에서 doctype을 제거해야합니다.

여기가 주석 것을 시도하는 예입니다 :이 답변으로 문제가 해결되지 않는 경우 minimal, complete, and verifiable example로 업데이트하시기 바랍니다 External referenced DTD in XML

:

<!--<!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

Thanx, Daniel 및 예 XML 파일에서 참조했습니다. 내가 주석 처리 한 첫 번째 줄과 마지막 줄을 삭제하면 "XML 구문 분석 오류 @ 줄 1 : 문서 끝에 여분의 내용이 있습니다."라는 다른 오류 메시지가 나타납니다. 나는 비웃을 준비가되어있다! 고맙습니다. (많이!) – ecelizzy

+0

@ecelizzy - XML ​​및 업데이트 된 DTD로 질문을 업데이트 할 수 있습니까? –

+0

문제가 프로그램이 아닌 유효성 검사기에 있다고 밝혀졌습니다. 고맙다, 또! – ecelizzy