Если бы у меня был файл XML, в котором указано пространство имен, например
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
version="3.1">
<enterprise-beans>
<session>
<ejb-name>Manager</ejb-name>
<ejb-class>com.something.ManagerBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>Manager</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>com.something.ManagerLocalHome</local-home>
<local>com.something.ManagerLocal</local>
<ejb-link>Manager</ejb-link>
</ejb-local-ref>
</session>
</enterprise-beans>
</ejb-jar>
И я хотел бы извлечь только имена с помощью XSLT, например,
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://java.sun.com/xml/ns/javaee"
version="1.0"
>
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="/ejb-jar/enterprise-beans/session">
<session>
<xsl:value-of select="ejb-name"/>
</session>
</xsl:template>
</xsl:stylesheet>
Чтоя скучаю?Это преобразование, похоже, сработает, если я удалю xmlns
источника - как я могу оставить его включенным и все еще запустить преобразование?
Я ожидал что-то вроде:
<session>
Manager
</session>
<session>
Manager2
</session>
...
(На самом деле простопытаясь выяснить проблему с пространством имен)