Имена тегов мопса с символами / символами (@) - PullRequest
0 голосов
/ 07 мая 2018

Я использую pug для записи .json файлов (скомпилировано с gulp, gulp-pug и gulp-xml2json).

Обычно он работает очень хорошо, но я не могу понять, как заставить его обрабатывать асперанды (@), необходимые для json-ld структурированных данных . Я пробовал каждый тип интерполяции , который я могу придумать, включая метод, предложенный автором для аналогичной проблемы (см. issue # 2783 на github), но не имел любая удача.

Есть ли простое решение, которое я пропускаю?

Это работает

// data.json.xml.pug   

root
  context https://json-ld.org/contexts/person.jsonld

компилируется в

// data.json

{
  "context": "https://json-ld.org/contexts/person.jsonld"
}

Это не

// data.json.xml.pug   

root
  @context https://json-ld.org/contexts/person.jsonld

неожиданный текст "@cont"

Это тоже не

// data.json.xml.pug   

root
  #{'@context'} https://json-ld.org/contexts/person.jsonld

Ошибка: ошибка: не закодирована <</p>

...

Char: @

1 Ответ

0 голосов
/ 14 мая 2018

Ответ из @ ForbesLindsay на GitHub (спасибо!) -

#{'@context'}

производит

<@context></@context>

Проблема, с которой вы столкнулись, заключается в том, что xml2json не интерпретирует это как действительный xml (потому что это не так), вам необходимо выяснить, существует ли какая-либо допустимая строка xml, которая создает желаемый JSON, тогда вы может понять, как сгенерировать этот XML в pug.

...