反向XSL输出

时间:2010-12-08 12:55:32

标签: xml xslt

我有一个XSL及其XML输出。我可以使用这些生成样本输入文件吗?我需要看看输入XML的结构如何。

2 个答案:

答案 0 :(得分:3)

  

我有一个XSL及其XML输出。能够   我使用生成一个示例输入文件   这些?

要使任何函数f()具有反转,f()必须是双向1:1映射。

并非所有函数都是双向1:1映射。想到的最简单的例子是:

f(x) = x^2

因此,平方不是双向1:1映射。将平方反转应用到9必须生成两个值 - -33,但根据定义,函数只能生成一个值。

通常,如果函数不是双向1:1映射,则它是有损的,并且它在输入中的所有信息都不存在于结果中(或可以从结果中扣除)。

在对丢失的信息进行平方的情况下,参数是正面的还是负面的。

有些函数会丢失100%的所有内容,例如常量:

f(x) = 1

通常,XSLT转换是将源XML文档转换为某些输出结果的函数。通常这种转换是有损的(例如我们经常被告知放弃/忽略某些属性或元素)。

因此可以从输出中恢复转换输入的答案通常为负

即使不是确切的输入,但是“样本输入”是必要的,也不能总是生成它,并且它永远不会包含转换丢失的数据。

答案 1 :(得分:1)

您可能会了解原始格式的部分,但很可能您无法重建原始格式。

如果XSLT不使用部分原始XML来构造输出,则无法重建原始结构。

此外,如果您的XSLT正确使用模板,则可能很难辨别何时调用哪些模板(特别是原始XML的处理方式)。