views:

24

answers:

1

Hi all,

I'm really new to this whole web stuff, so please be nice if I missed something important to post.

Short: Is there a possibility to change the name of a processed file (eXist-DB) after serialization?

Here my case, the following request to my eXist-db:

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

and I want after serialization the follwing (xslt is working fine):

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

I'm using the followong sitemap.xmap with cocoon (hoping this is responsible for it)

        <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>

So my Question is: How do I change the extension of the test.xml to test.html after processing the xml file?

Background: I'm generating some information out of some xml-dbs, this infos will be displayed in html (which is working), but i want to change some entrys later, after I generated the html site. To make this confortable, I want to use Jquery & Jeditable, but the code does not work on the xml files. Saving the generated html is not an option.

tia for any suggestions [and|or] help

CC

Edit: After reading all over: could it be, that the extension is irrelevant and that this is only a problem of port 8080? I'm confused...

A: 

Here's one way.

To be clear, you want db/caos/test.html to be picked up in that map:match element above, right? But you want to pass test.xml around

Change <map:match pattern="db/caos/**"> to <map:match pattern="db/caos/**.html">. From that point on, {1} will contain "test" so you would need to change things like {../1} to {../1}.xml

Essentially, I've captured the part of the file name before .html in {1} with the map:match element.

Michael