0

我是

trying to update xsl file
   <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
      <xsl:output method="xml" indent="yes" doctype-public="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" doctype-system="http://java.sun.com/dtd/web-app_2_3.dtd"/>
         <xsl:template match="node()|@*">
    <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="display-name">
    <xsl:copy-of select="."/>
    <filter>
      <filter-name>ssoauthagent</filter-name>
      <filter-class>12234455</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>ssoauthagent</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>INCLUDE</dispatcher>
      <dispatcher>FORWARD</dispatcher>
      <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
  </xsl:template>
</xsl:stylesheet>

使用 xmlstarlet 将“xsl:stylesheet/xsl:template/filter/filter-class”的值更改为“Hello”给出以下命令,但它给出了错误:-

xml ed -O -u "xsl:stylesheet/xsl:template/filter/filter-class"  -v "Hello" transformWeb.xsl 
XPath error : Undefined namespace prefix
xmlXPathCompiledEval: evaluation failed

我在哪里错了?

4

1 回答 1

0

在下面做了并且足够好去

xml ed -N xsl='http://www.w3.org/1999/XSL/Transform' -u '//xsl:stylesheet/xsl:template/filter/filter-class' -v 'hello' /root/transformWeb.xsl
于 2013-07-25T09:03:59.337 回答