我有一些XML有一個xmlns聲明如下:XML - 單個xmlns定義中的雙重URI,是否有效?
<dc:record xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mods="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd">
此行似乎絆倒在Python中eTree XML解析器:
lxml.etree.XMLSyntaxError: xmlns:mods: 'http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd' is not a valid URI, line 6, column 63
如果我刪除發現的兩個URI之一在xmlns:mods聲明中,它解析得很好。
因此,知道xmlns元素有助於人類解析,並且不是特別需要推定,這是對XML的真正約束(在xmlns命名空間聲明中使用單個URI)還是它lxml etree解析器的過度執行?
一個挑剔:'xmlns'不適用於人類 - 它是實際的命名空間,並且命名空間*必須是一個URI(可以不參考)。這是用於人類的*前綴*。 – 2013-04-08 03:20:36
@FrancisAvila啊,很好,謝謝。考慮我的挑戰,挑選。 – 2013-04-08 03:30:01