• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Вопрос по Xslt.

  • Автор темы Xellos
  • Дата начала
X

Xellos

Подскажите, такая задача решается через XSLT или придётся писать преобразование на ЯВУ?

Некоторые элементы входного XML (некоторые - определяется текстовым содержанием элемента) нужно преобразовать в два элемента, находящихся в разных местах выходного дерева.
Грубый пример - программу на C++ преобразовать в программу на Pascal. Ключевой момент - все описания переменных необходимо вытащить в начало документа. То есть когда мы доходим до определённых элементов (объявлений переменных), преобразование должно часть выхода записать "вот сюда, где мы сейчас", а часть - "вон туда".
 
X

Xellos

Да бог с ним. Считайте, что она в xml.
Код:
<expression>
int a=10;
</expression>
<expression>
int b=20;
</expression>
<expression>
int c;
</expression>
<expression>
c=a;
</expression>
<expression>
a=b;
</expression>
<expression>
b=c;
</expression>
Ну вот набросал первое, что пришло в голову. Нужно все "int a;" вытащить в начало документа.
 
X

Xellos

Охх. Ну допустим так:
Код:
<declarations>
var a: integer;
var b: integer;
var c: integer;
</declarations>
<program>
.....
<expression>
a=10;
</expression>
<expression>
b=20;
</expression>
<expression>
c=a;
</expression>
<expression>
a=b;
</expression>
<expression>
b=c;
</expression>
...
</program>
Пример утрированный, но суть показывает. Просто я не понимаю, как в XSLT писать "не сюда"? Или делать двойной проход, forward looking?
 
E

etc

О батенька этак вы свой компилятор сооружаете. Тогда надо ачинать с азов.
 
X

Xellos

Да не компилятор. Я просто пример привёл преобразования. Нужно часть преобразованных данных записать в начало документа.
 
M

morfius

хм.... а можно увидеть пример не утрированный а реальный?
Какой нибудь реальный документ во что должен быть преобразован?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!