xsltproc不使用模板进行修改

时间:2018-09-27 12:04:52

标签: xml unix xslt

我有一个以.xml开头的.xml文件。

<?xml version='1.0' encoding='UTF-8'?>
<domain xmlns="http://xmlns.oracle.com/weblogic/domain" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/security/xacml http://xmlns.oracle.com/weblogic/security/xacml/1.0/xacml.xsd http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator/1.0/passwordvalidator.xsd http://xmlns.oracle.com/weblogic/domain http://xmlns.oracle.com/weblogic/1.0/domain.xsd http://xmlns.oracle.com/weblogic/security http://xmlns.oracle.com/weblogic/1.0/security.xsd http://xmlns.oracle.com/weblogic/security/wls http://xmlns.oracle.com/weblogic/security/wls/1.0/wls.xsd">

当我应用模板时:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <!-- Identity transform -->
   <xsl:template match="@* | node()" name="identity">
      <xsl:copy>
         <xsl:apply-templates select="@* | node()"/>
      </xsl:copy>
   </xsl:template>

<xsl:template match="domain[*]/server/listen-address">
        <listen-address>server.domain</listen-address>
</xsl:template>

</xsl:stylesheet>

它什么都不做,我所看到的是,如果我将xml的标头替换为:

<?xml version="1.0"?>
<domain>

它确实可以正常工作,我是否需要在模板中添加其他内容以使其与原始域标记一起使用而无需修改它?

0 个答案:

没有答案