регистры groff не определены во время макроса

Я решил с помощью файла xsl, подобного этому:

idгенерируется функцией generate-idXPATH.

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

Команда с xmlstarlet —:

xmlstarlet tr stile.xsl input.xml

0
13.01.2020, 21:05
1 ответ

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

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

.de MACRO  \"defines a new macro with name MACRO
.nr a 1    \"creates a number register with the name a and the value 1
\\n[a]       \"prints the content of register a
..         \"end of MACRO definition
.MACRO     \"calls MACRO

Таким образом, значение, указанное в макросе, печатается, поэтому 1в данном случае.

1
08.12.2020, 11:23

Теги

Похожие вопросы