我有一个ejb-jar.xml,标签中没有'id'属性。
解决此问题的最佳方法是什么?可以使用XSLT吗?
<session>
<ejb-name>EJB1</ejb-name>
<local-home>x.E1LH</local-home>
<local>x.E1L</local>
<ejb-class>x.E1EJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
应改写为:
<session id="EJB1"> <!--ejb-name gets added as an "id" attribute -->
<ejb-name>EJB1</ejb-name>
<local-home>x.E1LH</local-home>
<local>x.E1L</local>
<ejb-class>x.E1EJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
答案 0 :(得分:1)
xslt当然可以做到......但这实际上取决于你需要做什么。
像(未经测试的)
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="session">
<session id="{ejb-name}">
<xsl:apply-templates select="@* | node()"/>
</session>
</xsl:template>