1

我对这整个网络的东西真的很陌生,所以如果我错过了一些重要的东西,请善待。

简短:是否有可能在序列化后更改已处理文件(eXist-DB)的名称?

在我的情况下,对我的 eXist-db 的以下请求:

http://localhost:8080/exist/cocoon/db/caos/test.xml

我想要在序列化之后进行以下操作(xslt 工作正常):

http://localhost:8080/exist/cocoon/db/caos/test.html

我正在使用带有茧的followong sitemap.xmap(希望这是对此负责)

        <map:match pattern="db/caos/**">
           <!-- if we have an xpath query -->
            <map:match pattern="xpath" type="request-parameter">
                <map:generate src="xmldb:exist:///db/caos/{../1}/#{1}"/>
                <map:act type="request">
                    <map:parameter name="parameters" value="true"/>
                    <map:parameter name="default.howmany" value="1000"/>
                    <map:parameter name="default.start" value="1"/>
                    <map:transform type="filter">
                        <map:parameter name="element-name" value="result"/>
                        <map:parameter name="count" value="{howmany}"/>
                        <map:parameter name="blocknr" value="{start}"/>
                    </map:transform>
                    <map:transform src=".snip./webapp/stylesheets/db2html.xsl">
                        <map:parameter name="block" value="{start}"/>
                        <map:parameter name="collection" value="{../../1}"/>
                    </map:transform>
                </map:act>
                <map:serialize type="html" encoding="UTF-8"/>
            </map:match>
            <!-- if the whole file will be displayed -->
            <map:generate src="xmldb:exist:/db/caos/{1}"/>
            <map:transform src="..snip../stylesheets/caos2soac.xsl">
                <map:parameter name="collection" value="{1}"/>
            </map:transform>
            <map:transform type="encodeURL"/>
            <map:serialize type="html" encoding="UTF-8"/> 
        </map:match>

所以我的问题是:如何在处理 xml 文件后更改to的扩展名test.xmltest.html

背景:我正在从一些 xml-dbs 中生成一些信息,这些信息将显示在 html 中(正在工作),但我想在生成 html 站点后更改一些条目。为了使这个舒适,我想使用 Jquery & Jeditable,但代码不适用于 xml 文件。保存生成的 html 不是一种选择。

tia 提供任何建议 [和|或] 帮助

抄送

编辑:通读一遍后:可能是扩展名无关紧要,这只是端口 8080 的问题吗?我很困惑...

4

1 回答 1

1

这是一种方法。

明确地说,您希望 db/caos/test.html 在上面的 map:match 元素中被选中,对吗?但是你想通过 test.xml

更改<map:match pattern="db/caos/**"><map:match pattern="db/caos/**.html">。从那时起,{1}将包含“测试”,因此您需要更改{../1}以下内容{../1}.xml

本质上,我已经{1}使用 map:match 元素捕获了 .html 之前的文件名部分。

于 2010-03-19T18:11:15.507 回答