У меня есть рабочий код Javascript, который генерирует документ RDF/XML с использованием переменных, взятых из полей HTML:
...
peopleDoap += " <foaf:name>" + person_name + "</foaf:name>\n";
if (person_url != "") {
peopleDoap += " <foaf:homepage rdf:resource=\"" + person_url + "/\"/>\n";
}
if (person_pic != "") {
peopleDoap += " <foaf:depiction rdf:resource=\"" + person_pic + "/\"/>\n";
}
...
Глядя на этот код, сложно понять, как будет выглядеть вывод (особенно потому, что этот код разбросан по подфункциям и т. д.).
Мне интересно, есть ли простой способ, который позволил бы мне иметь что-то вроде этого:
...
<foaf:name>%person_name%</foaf_name>
<foaf:homepage rdf:resource="%person_url%"/>
<foaf:depiction rdf:resource="%person_pic%"/>
...
А потом какой-то код подстановки. Одна небольшая сложность заключается в том, что если поля оставлены пустыми, я не захочу генерировать весь элемент. То есть, если person_url='', вышеприведенное должно генерироваться как:
...
<foaf:name>%person_name%</foaf_name>
<foaf:depiction rdf:resource="%person_pic%"/>
...
Я думаю, я мог бы сделать это довольно наивно, определив шаблон как огромную строку, а затем выполнив для нее кучу замен, но есть ли что-нибудь более элегантное? Умеренное предпочтение нативного Javascript, а не библиотек, но рад убедиться...
(Кстати, да, поскольку это RDF/XML, может быть, есть более разумный способ использовать какую-то библиотеку RDF. Если вы хотите вместо этого решить этот вопрос, я не против.)
Кроме того, это виджет, работающий на сервере Jetty. Я не думаю, что код на стороне сервера является вариантом.