6

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

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

1 ответ1

1

Если у вас есть 3 разных файла, которые вам нужны, вы можете использовать комментарии первой строки (или секунды, если вам нужны файлы utf8). Я использую его для компиляции основного файла TeX от одного из детей.

%!../main_file.tex
\documentclass[12pt,a4paper]{scrartcl}

\usepackage[czech,english]{babel}

У меня есть скрипт, который смотрит на первую строку:

match=`head -n1 $1 | grep %!`

if [[ $match ]]
    then
        # do stuff with the parent's name, which is ${match:2:100}
    else
        # no match :/
fi

и простой файл сборки, нацеленный на мой собственный скрипт:

{
    "cmd": ["/path/to/build/script.sh", "$file"],
    "selector": "whatever"
}

Таким образом, вы можете иметь столько "ссылок" в ваших файлах, сколько захотите. Просто переключите значение head -n1 .

В XML вы, вероятно, использовали бы <!--%somefilename --> с head -n1 $1 | grep '<!--%' и ${match:5:100} .

В заключение я представляю вам мой скрипт сборки XeLaTeX;)

#!/bin/bash
file="$1"
flag="-halt-on-error"

match=`head -n1 $file | grep %!`

if [[ $match ]]
    then
        if [ ${match:2:3} = ../ ]
            then
                cd .. &&
                target=${match:5:100}
            else
                target=${match:2:100}
        fi
    else
        target=$file
fi
rubber -c 'set arguments -shell-escape' -f -m xelatex -W all $target

exit 0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .