簡體   English   中英

為什么XML格式正確?

[英]Why is this XML well formed?

我第一次看到這樣的XML:

<?xml version="1.0" encoding="UTF-8"?>
<test>
     <enclosingTag>Floating_Strange_Text <!--It's new to me-->
         <tag>data</tag>
         <tag>data</tag>
     </enclosingTag>
</test>

但是,在對格式良好的XML驗證器(如標記驗證服務)進行測試之后,我懷疑確實允許這樣做。

這個XML片段真的有效嗎?

如果某些內部內容未包裝在<> ,則表示為“文本節點”。 此外,您可以有多個同級文本節點,這些節點可以使您的XML看起來與HTML十分相似,並且所有粗體/斜體/下划線標簽都與主要文本內容混合在一起。 唯一的是,與HTML不同,標記不能隨意地相互重疊,因為XML要求完全按照打開標記的相反順序關閉標記。

例如,這是非常合法的XML:

<root>The <truth /> is that there <is> no </is> spoon</root>

如果我們將其“分解”為節點,則漂亮的打印結構可能像這樣:

<root>
    The 
    <truth />
    is that there 
    <is>
         no 
    </is>
    spoon
</root>

如您所見, <root>標記中包含3個文本節點,而<is>標記中又包含一個文本節點。

確實,與基於標簽的方法不同,由於復雜的驗證架構等,這種XML變體沒有得到廣泛使用。同時,您應考慮這種情況並糾正XML流。

是。 驗證者是正確的。 XML支持文本節點。

從未這樣的規則:“ 如果元素具有文本節點作為子節點,則不允許其他子節點 。”

暫無
暫無

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

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