我正在尋找一個邏輯來根據propety的值從xml文件中刪除屬性。 在下面的例子:基於屬性值刪除屬性xslt
<jndi:binding name="myabc/myconfig/myservice/myabcservice">
<jndi:value type="java.lang.String">
DELETE
</jndi:value>
</jndi:binding>
由具有所謂的「刪除」的值,無論我看到單詞「刪除」中的XML文件,該特定屬性必須被刪除。
<mbean code="org.jboss.naming.JNDIBindingServiceMgr"
name="abc.myconfig.jndi:name=myconfigAppPartitionJNDI">
<attribute name="BindingsConfig" serialDataType="jbxb">
<jndi:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jndi="urn:jboss:jndi-binding-service:1.0"
xs:schemaLocation="urn:jboss:jndi-binding-service:1.0 resource:jndi-binding-service_1_0.xsd">
<jndi:binding name="myabc/myconfig/myabcdefService/myabcdefServiceUrl">
<jndi:value type="java.lang.String">
@[email protected]
</jndi:value>
</jndi:binding>
<jndi:binding
name="myabc/myconfig/myservice/myabcservice">
<jndi:value type="java.lang.String">
DELETE
</jndi:value>
</jndi:binding>
<jndi:binding name="myabc/myconfig/myabcdefService/myabcFileNet">
<jndi:value type="java.lang.String">
@[email protected]
</jndi:value>
</jndi:binding>
</jndi:bindings>
</attribute>
</mbean>
預期輸出是:
<mbean code="org.jboss.naming.JNDIBindingServiceMgr"
name="abc.myconfig.jndi:name=myconfigAppPartitionJNDI">
<attribute name="BindingsConfig" serialDataType="jbxb">
<jndi:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jndi="urn:jboss:jndi-binding-service:1.0"
xs:schemaLocation="urn:jboss:jndi-binding-service:1.0 resource:jndi-binding-service_1_0.xsd">
<jndi:binding name="myabc/myconfig/myabcdefService/myabcdefServiceUrl">
<jndi:value type="java.lang.String">
@[email protected]
</jndi:value>
</jndi:binding>
<jndi:binding name="myabc/myconfig/myabcdefService/myabcFileNet">
<jndi:value type="java.lang.String">
@[email protected]
</jndi:value>
</jndi:binding>
</jndi:bindings>
</attribute>
</mbean>
這與我之前問這個問題,但唯一不同的是財產的格式。 Delete node from xml using xslt based on node value
當我在{j:binding [normalize-space}: 未聲明的命名空間前綴{j}'上使用上述代碼,XPST0081:第12行字符12處的XSLT模式語法錯誤時,我得到以下錯誤'下面的代碼和它的工作原理。 ' –
phani
...或者你可以定義命名空間前綴'j'。 –