簡體   English   中英

DTD和XML不匹配?

[英]DTD and XML don't match?

我試圖使我的DTD和XML完全匹配,並使用驗證器檢查我的XML和DTD文件是否都匹配。 運行驗證器時,出現錯誤,並且似乎無法理解,我多次檢查了XML和DTD。

錯誤是:

Error Code: -1072898028
Error Reason: Element content is invalid according to the DTD/Schema. 
Error Line: 46 

我的XML文件:

    <?xml version="1.0"?>
<!DOCTYPE wcms_ontology SYSTEM "wcms_ontology.dtd">
<wcms_ontology>
        <wcms>
            <name>Joomla!</name>
            <homepage>http://www.joomla.org/</homepage>
            <version>2.5.4</version>
            <versiondate>5/2/2012</versiondate>
            <license>Open Source</license>
            <cost>Free</cost>
            <type>General Purpose</type>
            <system_requirements>
                <server_env>CGIM</server_env>
                <operating_system>Any</operating_system>
                <programming_language>PHP</programming_language>
            </system_requirements>
            <security>
            <captcha>Add-on</captcha>
            <login_history>Yes</login_history>
            <session_management>Yes</session_management>
            </security>
            <features>
            <commercial_support>Yes</commercial_support>
            <drag_and_drop>No</drag_and_drop>
            <load_balancing>Yes</load_balancing>
            <page_caching>Yes</page_caching>
            </features>
        </wcms>
        <wcms>
            <name>WordPress</name>
            <homepage>http://www.wordpress.org/</homepage>
            <version>3.3.2</version>
            <versiondate>5/29/2012</versiondate>
            <license>Open Source</license>
            <cost>Free</cost>
            <type>General Purpose</type>
            <system_requirements>
                <server_env>None</server_env>
                <operating_system>Any</operating_system>
                <programming_language>PHP</programming_language>
            </system_requirements>
            <security>
            <captcha>Add-on</captcha>
            <login_history>Add-on</login_history>
            <session_management>Add-on</session_management>
            <features>
            <commercial_support>Yes</commercial_support>
            <drag_and_drop>Yes</drag_and_drop>
            <load_balancing>Yes</load_balancing>
            <page_caching>Add-on</page_caching>
            </features>
        </wcms>
        <wcms>
            <name>Alfresco</name>
            <homepage>http://www.alfresco.com/products/</homepage>
            <version>Enterprise + Community</version>
            <versiondate>2/20/2008</versiondate>
            <license>Open Source</license>
            <cost>$15000/year</cost>
            <type>Document Management</type>
            <system_requirements>
                <server_env>J2EE</server_env>
                <operating_system>Any</operating_system>
                <programming_language>Java</programming_language>
            </system_requirements>
            <security>
            <captcha>No</captcha>
            <login_history>Yes</login_history>
            <session_management>Limited</session_management>
            <features>
            <commercial_support>Yes</commercial_support>
            <drag_and_drop>Limited</drag_and_drop>
            <load_balancing>Yes</load_balancing>
            <page_caching>Limited</page_caching>
            </features>
        </wcms>
                <wcms>
            <name>Kentico CMS for ASP.NET</name>
            <homepage>http://www.kentico.com</homepage>
            <version>7</version>
            <versiondate>11/30/2012</versiondate>
            <license>Closed Source</license>
            <cost>$2000</cost>
            <type>Document Management</type>
            <system_requirements>
                <server_env>IIS/.Net</server_env>
                <operating_system>Windows Only</operating_system>
                <programming_language>C#</programming_language>
            </system_requirements>
            <security>
            <captcha>Yes</captcha>
            <login_history>Yes</login_history>
            <session_management>Yes</session_management>
            <features>
            <commercial_support>Yes</commercial_support>
            <drag_and_drop>Yes</drag_and_drop>
            <load_balancing>Yes</load_balancing>
            <page_caching>Yes</page_caching>
            </features>
        </wcms>
            <wcms>
            <name>TYPO3 Enterprise CMS</name>
            <homepage>http://www.typo3.org</homepage>
            <version>6.1</version>
            <versiondate>2/03/2014</versiondate>
            <license>Open Source</license>
            <cost>Free</cost>
            <type>Enterprise</type>
            <system_requirements>
                <server_env>Apache</server_env>
                <operating_system>Any</operating_system>
                <programming_language>PHP</programming_language>
            </system_requirements>
            <security>
            <captcha>Add-on</captcha>
            <login_history>Yes</login_history>
            <session_management>Yes</session_management>
            <features>
            <commercial_support>Yes</commercial_support>
            <drag_and_drop>Add-on</drag_and_drop>
            <load_balancing>Yes</load_balancing>
            <page_caching>Yes</page_caching>
            </features>
        </wcms> 
</wcms_ontology>

我的DTD文件:

<!ELEMENT wcms_ontology (wcms+)>
<!ELEMENT wcms (name, homepage, version, versiondate, license, cost, type, system_requirements, security, features)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT homepage (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT versiondate (#PCDATA)>
<!ELEMENT license (#PCDATA)>
<!ELEMENT cost (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT system_requirements (server_env, operating_system, programming_language)>
<!ELEMENT server_env (#PCDATA)>
<!ELEMENT operating_system (#PCDATA)>
<!ELEMENT programming_language (#PCDATA)>
<!ELEMENT security (captcha, login_history, session_management)>
<!ELEMENT captcha (#PCDATA)>
<!ELEMENT login_history (#PCDATA)>
<!ELEMENT session_management (#PCDATA)>
<!ELEMENT features (commercial_support, drag_and_drop, load_balancing, page_caching)>
<!ELEMENT commercial_support (#PCDATA)>
<!ELEMENT drag_and_drop (#PCDATA)>
<!ELEMENT load_balancing (#PCDATA)>
<!ELEMENT page_caching (#PCDATA)>

由於stackoverflow不會對行進行編號,因此我將提供第46行的屏幕截圖:

在此處輸入圖片說明

在此先感謝大家!

您的XML格式不正確。 <features>元素之前, <security>元素不會用</security>結束標記關閉。

Xerces錯誤說明:

意外的元素“功能”。 父元素類型的內容必須匹配“(captcha,login_history,session_management)”

驗證錯誤告訴您<features>元素不應該作為<security>的子元素。

如果刪除DTD關聯,則會看到XML解析錯誤:

元素類型“ security”必須由匹配的結束標記"</security>"終止。

一旦關閉<security>元素,它將根據DTD進行驗證,並成為格式正確的XML文檔。

暫無
暫無

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

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