Как изменить расширение обработанного XML-файла (используя eXist & cocoon) - PullRequest
1 голос
/ 17 февраля 2010

Я действительно новичок во всем этом веб-материале, поэтому, пожалуйста, будьте добры, если я пропустил что-то важное, чтобы опубликовать.

Short: Есть ли возможность изменить имяобработанный файл (eXist-DB) после сериализации?

Вот мой случай, следующий запрос к моей eXist-db:

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

и я хочу после сериализацииfollwing (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>

Итак, мой вопрос: Как изменить расширение из test.xml на test.html после обработки XML-файла?

Справочная информация: Я генерирую некоторую информацию из некоторых xml-dbs, эта информация будет отображаться в формате html (работает), но я хочу изменить некоторые записи позже, после того, какЯ создал HTML-сайт.Чтобы сделать это удобным, я хочу использовать Jquery & Jeditable, но код не работает с файлами XML.Сохранение сгенерированного html не вариант.

tia для любых предложений [и | или] help

CC

Редактировать: После прочтенияМожет ли быть, что расширение не имеет значения, и что это только проблема порта 8080?Я в замешательстве ...

1 Ответ

1 голос
/ 19 марта 2010

Вот один из способов.

Для ясности, вы хотите, чтобы db / caos / test.html был выбран на этой карте: соответствует элемент выше, верно? Но вы хотите пройти test.xml около

Измените <map:match pattern="db/caos/**"> на <map:match pattern="db/caos/**.html">. С этого момента, {1} будет содержать «тест», поэтому вам нужно будет изменить такие вещи, как {../1} на {../1}.xml

По сути, я записал часть имени файла до .html в {1} с элементом map: match.

...