Pubmed 是否返回无效 XML 结果?
Is Pubmed returning invalid XML results?
我正在使用 JEUtils 来获取和解析 Java 中的 Pubmed 结果(这是一个似乎被遗弃的工具)。
从几天前开始,该工具在某些结果中抛出异常,经检查,Pubmed 似乎不尊重自己的 DTD (the first one in its DTDs Page)。
例如,this article, whose XML result you can see by Format: XML or see directly here有以下元素:
<DataBankList CompleteYN="Y" />
<GrantList CompleteYN="Y" />
但是根据 DTD,这些元素必须至少有一个嵌套元素:
<!ELEMENT DataBankList (DataBank+)>
<!ELEMENT GrantList (Grant+)>
问题:我是不是遗漏了什么,或者 Pubmed 创建的结果 XML 不符合他们自己的 DTD?
在我看来你是对的。 2016-01-01 NLMMedlineCitationSet DTD 似乎是最新版本(另请参阅 https://www.nlm.nih.gov/databases/dtd/history_dtd_nlmmedline.html),并且它似乎确实需要这两个元素的一个或多个子元素。
我会在 https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html 使用 "Contact NLM" link 来打开支持票。
我正在使用 JEUtils 来获取和解析 Java 中的 Pubmed 结果(这是一个似乎被遗弃的工具)。
从几天前开始,该工具在某些结果中抛出异常,经检查,Pubmed 似乎不尊重自己的 DTD (the first one in its DTDs Page)。
例如,this article, whose XML result you can see by Format: XML or see directly here有以下元素:
<DataBankList CompleteYN="Y" />
<GrantList CompleteYN="Y" />
但是根据 DTD,这些元素必须至少有一个嵌套元素:
<!ELEMENT DataBankList (DataBank+)>
<!ELEMENT GrantList (Grant+)>
问题:我是不是遗漏了什么,或者 Pubmed 创建的结果 XML 不符合他们自己的 DTD?
在我看来你是对的。 2016-01-01 NLMMedlineCitationSet DTD 似乎是最新版本(另请参阅 https://www.nlm.nih.gov/databases/dtd/history_dtd_nlmmedline.html),并且它似乎确实需要这两个元素的一个或多个子元素。
我会在 https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html 使用 "Contact NLM" link 来打开支持票。