您好我有哪些需要改造一个XML文件中的XSLT文件。
示例XSLT
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Document>
<Customer>
<Header>
<Message>
<xsl:value-of select="//Header/Message"/>
</Message>
</Header>
</Customer>
</Document>
</xsl:Template>
<xsl:include href="Inc1.xsl" />
</xsl:stylesheet>
现在,我需要的是取决于底部的包括文件名,一件事节点名客户更改为供应商,我对文档节点的特定属性也取决于包括文件。
感谢,并希望有人能帮助我。
唯一可行的机制是具有包括的样式表处理特定元素名称和<文档>属性:像这样:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Document>
<xsl:call-template name="apply-document-attributes" />
<xsl:element name="{$customer-element-name}">
<Header>
<Message>
<xsl:value-of select="//Header/Message" />
</Message>
</Header>
</xsl:element>
</Document>
</xsl:template>
<xsl:include href="Inc1.xsl" />
</xsl:stylesheet>
与包括样式表:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="customer-element-name" select="'Supplier'"/>
<xsl:template name="apply-document-attributes">
<xsl:attribute name="foo">bar</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
要么,
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="customer-element-name" select="'Customer'"/>
<xsl:template name="apply-document-attributes"/>
</xsl:stylesheet>