簡體   English   中英

DTD XML不確定錯誤

[英]DTD XML Not Deterministic error

我正在為此處給出的XML編寫DTD。 http://s3.amazonaws.com/spark-public/db/docs/courses-ID.xml

我不知道如何編寫部門元素。 這是我的DTD代碼。

<!ELEMENT Course_Catalog (Department+)>
<!ELEMENT Department ---**don't know what to write here**--->
<!ATTLIST Department Code CDATA #REQUIRED Chair IDREF #REQUIRED>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Course (Title,Description*)>
<!ELEMENT Professor (First_Name,Middle_Initial?,Last_Name)>
<!ELEMENT Lecturer (First_Name,Middle_Initial?,Last_Name)>
<!ATTLIST Course Number ID #REQUIRED Prerequisites IDREFS #IMPLIED Instructors IDREFS    #REQUIRED Enrollment CDATA #IMPLIED>
<!ATTLIST Professor InstrID ID #REQUIRED>
<!ATTLIST Lecturer InstrID ID #REQUIRED>
<!ELEMENT First_Name (#PCDATA)>
<!ELEMENT Middle_Initial (#PCDATA)>
<!ELEMENT Last_Name (#PCDATA)>
<!ELEMENT Description (#PCDATA | Courseref)*>
<!ELEMENT Courseref EMPTY>
<!ATTLIST Courseref Number IDREF #REQUIRED>

請幫我。

[首先,請注意-如果您提供更多證據來證明您自己完成了某些工作,您會得到更好的結果,提出問題:它使您看起來更像是可以使用幫助的人,而不是像您那樣需要幫助的人。不想自己做任何工作,這有助於答題者更好地了解他們的工作,不需要解釋。 此外,對於您嘗試過的內容以及為什么它不起作用的完整說明,幾乎總會包含您所收到的錯誤消息的說明,這對於想要幫助您的人很有幫助。 如果您想獲得有關Stack Overflow的幫助,建議您閱讀Eric Raymond的有關如何提出好的問題以及他說的話的知識 。]

您提供的樣本文檔中的Department元素均以一個Title元素開頭,以可變數量的Course元素繼續,並以Professor和Lecturer元素的混合結尾。 您不了解其中的哪一部分表達方式? (到底,它與確定性有什么關系?)

以下是一些元素聲明,這些聲明將接受示例中的Department元素。

<!ELEMENT Department ANY >
<!ELEMENT Department (Title | Course | Professor | Lecturer)* >
<!ELEMENT Department (Title | Course | Professor | Lecturer)+ >
<!ELEMENT Department (Title, Course*, (Professor | Lecturer)* >
<!ELEMENT Department (Title, Course+, (Professor | Lecturer)+ >
<!ELEMENT Department (Title, Course+, (Professor?, Lecturer?)* >
<!ELEMENT Department (Title, Course+, (Professor?, Lecturer?)+ >
<!ELEMENT Department (Title, Course*, 
                     (Professor | Lecturer | Instructor | TA)* >
<!ELEMENT Department (Title, Course+, Professor,
                     (Professor | Lecturer)+ >

有幫助嗎?

您嘗試了哪些無效的方法?

您可能沒有意識到,出於分組目的,內容模型可以具有多個級別的括號。 就像是

(Title, Course+, (Professor | Lecturer)+)

應該適用於此XML實例,但是Course_catalog XML的其他實例可能會顯示其他要求。

嘗試這個

<!ELEMENT Course_Catalog (Department*)>
<!ELEMENT Department (Title, Course*,  (Professor | Lecturer)+)>
<!ATTLIST Department Code CDATA #REQUIRED
                                 Chair IDREF #REQUIRED>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Professor (First_Name, Middle_Initial?, Last_Name)>
<!ATTLIST Professor InstrID  ID  #REQUIRED>
<!ELEMENT First_Name (#PCDATA)>
<!ELEMENT Last_Name (#PCDATA)>
<!ELEMENT Course (Title, Description?)>
<!ELEMENT Description (#PCDATA | Courseref )*>
<!ELEMENT Courseref EMPTY>
<!ATTLIST Courseref Number IDREF  #REQUIRED>
<!ATTLIST Course Number ID #REQUIRED
                           Prerequisites CDATA #IMPLIED
                           Instructors IDREFS #REQUIRED
                           Enrollment  CDATA #IMPLIED>
<!ELEMENT Instructors (Professor | Lecturer)+>
<!ELEMENT Lecturer (First_Name, Middle_Initial?, Last_Name)>
<!ATTLIST Lecturer InstrID  ID  #REQUIRED>
<!ELEMENT Middle_Initial (#PCDATA)>

謝謝,Bimal

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM