【发布时间】:2014-01-07 16:07:46
【问题描述】:
我正在尝试创建一个管道,该管道从数据库中获取一个 BLOB 并将其作为二进制文件通过浏览器传递给用户,使用 SQL 处理器为 HTTP 序列化程序提供数据。我在 Orbeon 4.4 上。这是我的 page-flow.xml:
<controller xmlns="http://www.orbeon.com/oxf/controller">
<page path="/dl/" model="file-get.xpl"/>
<epilogue url="oxf:/config/epilogue.xpl"/>
</controller>
这里是文件-get.xpl:
<p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"
xmlns:sql="http://orbeon.org/oxf/xml/sql"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:oxf="http://www.orbeon.com/oxf/processors"
xmlns:xi="http://www.w3.org/2001/XInclude">
<p:processor name="oxf:sql">
<p:input name="datasource" href="/config/datasource-sql.xml"/>
<p:input name="config">
<sql:config>
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:base64Binary">
<sql:connection>
<sql:execute>
<sql:query>
select blob_col from blob_table where rownum = 1
</sql:query>
<sql:result-set>
<sql:row-iterator>
<sql:get-column-value column="blob_col"/>
</sql:row-iterator>
</sql:result-set>
</sql:execute>
</sql:connection>
</document>
</sql:config>
</p:input>
<p:output name="data" id="image-data"/>
</p:processor>
<p:processor name="oxf:http-serializer">
<p:input name="config">
<config>
<content-type>image/jpeg</content-type>
<force-content-type>true</force-content-type>
</config>
</p:input>
<p:input name="data" href="#image-data"/>
</p:processor>
</p:config>
通过这种配置,我得到 "Undeclared prefix in xsi:type: xs"
我错过了什么吗?这是我第一次尝试深入研究 xpl。谢谢!
【问题讨论】:
-
xsi:type="xs:base64Binary" 标签中的 xs:
-
@spojam - 我想了这么多,所以我尝试修复它是添加 xmlns:xs="w3.org/2001/XMLSchema" 到
标签...运气不好 -
w3.org/TR/xml-media-types 在名称空间中多了一个 xmime,请参阅第 1.2 节要求