2
У меня есть эта application.xmlxmltask удалить не работает
<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_1326308152661" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
<description>MIC Server Application.</description>
<module>
<web> ...
</web>
</module>
<module>
<ejb>mic-sqlbridge.jar</ejb>
</module>
<security-role> ...
</security-role>
</application>
В этом XML-часть «модуль» тег, содержащий тег EJB должен быть удален. Для этого я попытался
<xmltask source="application.xml" dest="application_X.xml">
<remove path="/application/module[ejb/text() = 'mic-sqlbridge.jar']"/>
</xmltask>
К сожалению, это ничего не удалить - вот журнал часть:
[xmltask] Reading application.xml
[xmltask] Executing xmltask 1.16
[xmltask] Processing application.xml into application_X.xml
[xmltask] Using predefined xml catalog
[xmltask] Applying RemovalAction() to /application/module[ejb/text() = 'mic-sqlbridge.jar']
[xmltask] Applied RemovalAction() - 0 match(es)
[xmltask] RemovalAction() (/application/module[ejb/text() = 'mic-sqlbridge.jar']) failed to match
[xmltask] Normalizing resultant document
Любая идея? Заранее спасибо!
Франк
Ваше выражение пути не выбирает элемент модуля, который вы хотите. Вы должны попытаться убедиться, что у вас есть правильное выражение. –
Пробел - это пространство имен ... Использование/* [local-name() = 'application'] вместо/application позволило мне удалить узел/приложение/модуль/ejb - но, кажется, сложнее удалить полный тег 'module', который содержит этот тег ejb. –