![您可以使用 Sublime Text 2 应用 XSLT 转换吗?](https://linux22.com/image/1358490/%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20Sublime%20Text%202%20%E5%BA%94%E7%94%A8%20XSLT%20%E8%BD%AC%E6%8D%A2%E5%90%97%EF%BC%9F.png)
场景:我有一个包含多个 XML 文件的项目,我想对这些文件应用 XSLT 转换,然后将该输出用于其他目的。
有多种工具可以做到这一点,但如果能够在调试/使用转换时留在编辑器中就更好了。
答案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 -->
withhead -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