未定义内容上的命名空间前缀媒体
Posted
技术标签:
【中文标题】未定义内容上的命名空间前缀媒体【英文标题】:Namespace prefix media on content is not defined 【发布时间】:2016-11-29 19:55:26 【问题描述】:我正在尝试从头开始构建自定义 RSS 提要,并希望包含一个我可以使用 Mailchimp 提取的图像。
所以我当前的 RSS 项目如下所示:
<item>
<link><?php echo get_permalink($beforeAfter->procedureID); ?></link>
<media:content url="<?php echo get_bloginfo('url').'/wp-content/uploads/before-after/md/'.$beforeAfter->after_img;?>" type="image/jpg" />
<?php rss_enclosure(); ?>
<?php do_action('rss2_item'); ?>
</item>
但是当我查看它时,我得到了错误:
第 15 行第 124 列的错误:内容上的命名空间前缀媒体是 未定义
如果我删除 <media:content>
行,错误就会消失。任何想法为什么会出现错误,为什么它不能正确读取?
以下是我用作参考的一些链接: http://www.rssboard.org/media-rss#media-content http://kb.mailchimp.com/merge-tags/rss-blog/feedblock-rss-merge-tags
【问题讨论】:
有人请解释一下否决票? 【参考方案1】:见http://www.rssboard.org/media-rss#namespace-declaration:
媒体 RSS 的命名空间定义为 http://search.yahoo.com/mrss/
例如:
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
在<media:content/>
元素的父元素之一上包含xmlns:media
声明。
【讨论】:
谢谢,你救了我的命!我不知道为什么会出现这个错误...... 看起来好像 yahoo 的媒体命名空间定义不再存在:wget search.yahoo.com/mrss --2018-02-16 19:34:19-- search.yahoo.com/mrss Resolving search.yahoo。 com... 63.250.200.63 正在连接到 search.yahoo.com|63.250.200.63|:80... 已连接。已发送 HTTP 请求,等待响应... 302 找到位置:video.search.yahoo.com/mrss [以下] --2018-02-16 19:34:19-- video.search.yahoo.com/mrss 正在解析 video.search.yahoo.com... 63.250.200.63重用与 search.yahoo.com:80 的现有连接。已发送 HTTP 请求,等待响应... 404 "不再存在";见***.com/questions/27613891/…以上是关于未定义内容上的命名空间前缀媒体的主要内容,如果未能解决你的问题,请参考以下文章
JAXB:为啥在生成的 xml 文档中未使用定义的命名空间前缀?
org.apache.jasper.JasperException:未指定默认命名空间时,函数测试必须使用前缀