如何使用XSLTransformer仅转换选定的XML元素
我有一个自定义名称空间的XML。我想编写XSTL,通过转换名称空间下的选定元素,将此输入XML转换为输出XML。其他元素在输出XML中保持不变 范例如何使用XSLTransformer仅转换选定的XML元素,xml,xslt,namespaces,transform,Xml,Xslt,Namespaces,Transform,我有一个自定义名称空间的XML。我想编写XSTL,通过转换名称空间下的选定元素,将此输入XML转换为输出XML。其他元素在输出XML中保持不变 范例 <xml version="1.0"> <a dmlns:abc="http://abc.en.com/abc"> <abc:A> <summary>Books</summary> </abc:A> </a> 书 我想将此XML
<xml version="1.0">
<a dmlns:abc="http://abc.en.com/abc">
<abc:A>
<summary>Books</summary>
</abc:A>
</a>
书
我想将此XML转换为
<xml version="1.0">
<a>
<sample>
<summary>Book</summary>
</sample>
</a>
书
如何为此转换编写XSTL?考虑以下输入XML:
<?xml version="1.0" encoding="UTF-8"?>
<a xmlns:abc="http://abc.en.com/abc">
<abc:A>
<summary>Books</summary>
</abc:A>
<abc:B>just another element</abc:B>
</a>
书
只是另一个因素
应用此样式表时:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:abc="http://abc.en.com/abc">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="abc:A">
<sample>
<xsl:apply-templates/>
</sample>
</xsl:template>
</xsl:stylesheet>
输出为:
<a xmlns:abc="http://abc.en.com/abc">
<sample>
<summary>Books</summary>
</sample>
<abc:B>just another element</abc:B>
</a>
书
只是另一个因素
请提供更多详细信息。在这个上下文中,“selected”是什么意思?元素名“sample”来自哪里?我想使用XSTL解析XML文档,以便在结果中将元素更改为