Обратный выход XSL - PullRequest
       9

Обратный выход XSL

5 голосов
/ 08 декабря 2010

У меня есть XSL и его вывод XML.Могу ли я создать образец входного файла, используя их?Мне нужно посмотреть, какой должна быть структура входного XML.

Ответы [ 2 ]

3 голосов
/ 08 декабря 2010

У меня есть XSL и его вывод XML.Могу ли я создать образец входного файла, используя их?

Чтобы любая функция f() имела реверс, необходимо, чтобы f() было двунаправленным отображением 1: 1.

Не все функции являются двунаправленными отображениями 1: 1.Самый простой пример, который приходит на ум:

f(x) = x^2

Таким образом, возведение в квадрат не является двунаправленным отображением 1: 1.Применение обратного возведения в квадрат к 9 должно привести к двум значениям - -3 и 3, но по определению функция может выдавать только одно значение.

Как правило, если функция не 'При двунаправленном отображении 1: 1, оно с потерями, и не вся информация, которую он имеет на входе, присутствует (или может быть вычтена из) в результате.

В случае возведения в квадрат потерянная информациябыл ли аргумент положительным или отрицательным.

Существуют функции, которые теряют 100% всего, например, константы:

f(x) = 1

Обычно XSLT-преобразование - это функция, которая преобразует исходный XML-документ внекоторый выходной результат.Обычно такое преобразование с потерями (например, нам часто говорят отбрасывать / игнорировать некоторые атрибуты или элементы).

Таким образом, ответ, можно ли восстановить входные данные для преобразования из выходных данных, обычно отрицательный .

Даже если необходим не точный ввод, а «ввод выборки», он не всегда может быть получен и никогда не будет содержать данные, потерянные при преобразовании.

1 голос
/ 08 декабря 2010

Вы можете получить представление о некотором оригинальном формате, однако вполне вероятно, что вы не сможете восстановить полный оригинал.

Если XSLT не использует часть исходного XML для создания выходных данных, вы не можете восстановить исходную структуру.

Кроме того, если ваш XSLT использует шаблоны правильно, может быть трудно определить, какие шаблоны были вызваны когда (и, в частности, как был обработан исходный XML).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...