Имам някакъв работещ 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. Не мисля, че сървърният код е опция.