我对 XSLT 很陌生。因此我面临一些困难。我必须将相当大的 XML 转换为新的 XML。然而,在我前进的道路上,我面临着一些困难:
输入 XML 可能类似于:
<Employees>
<Employee>
<Name>A</Name>
<Role>Manager</Role>
<Salary>5000$</Salary>
</Employee>
<Employee>
<Name>A</Name>
<Role>Director</Role>
<Salary>8000$</Salary>
</Employee>
</Employees>
并且输出 XML 应该是这样的:
<Manager>
<Employee_Name>A</Employee_Name>
</Manager>
<Count_Of_Employee>2</Count_Of_Employee>
<Director>
<Employee_Name>B</Employee_Name>
</Director>
现在如果,我将应用模板<xsl:Employees/Employee>
,那么它将检查每个员工,并在 Manager 标签之后创建 Director 标签。
因此,在针对 XSD 运行验证时,它将失败,因为它期望在之间有一个 coutn 标记。
所以我的第一个问题是:如何在编写通用模板时控制输出元素节点的顺序?
我的另一个问题是:我必须转换一个大的 XML,所以我不想<xsl:element>
每次生成标签时都写..
我尝试搜索各种通用模板..但找不到或编写一个好的通用模板来生成标签名称(在目标 xml 中)与(在源 XML 中)不同的元素[我发现两个 XML 中元素名称相同的各种通用模板]。
有人可以帮我解决这个问题吗.. 我也查看了 XSL 标准库.. 但找不到一个好的选择..
任何建议或建议都会对我有很大帮助。