Преимущества XSLT:
Недостатки XSLT:
Один способ получить процедурное поведение, между прочим, состоит в том, чтобы объединить несколько преобразований в цепочку вместе. После каждого шага у Вас есть совершенно новый DOM для работы, на котором отражает изменения на том шаге. Некоторые процессоры XSL имеют расширения, чтобы эффективно сделать это в, каждый преобразовывает, но я забываю детали.
Так, если Ваш код главным образом производится и не много логики, XSLT может быть очень аккуратным способом выразить его. Если будет большая логика, но главным образом форм, которые встроены к XSLT (выберите все элементы, которые похожи на вздор, и для каждого выходного вздора), это, вероятно, будет вполне дружественная среда. Если Вы представляете себе думать XML-ishly в любом случае, то даете XSLT 2 движение.
Иначе, я сказал бы что, если Ваш любимый язык программирования имеет хорошую реализацию DOM, поддерживающую XPath и разрешающую Вам создать документы полезным способом, то существует немного преимуществ для использования XSLT. Привязка к libxml2 и gdome2 должна сделать приятно, и нет никакого позора в придерживании языков общего назначения, которые Вы знаете хорошо.
синтаксические анализаторы XML Собственной разработки являются обычно любой неполными (в этом случае, Вы провалитесь однажды), или иначе не намного меньший, чем что-то, что Вы могли иметь с полки (в этом случае, Вы, вероятно, тратите впустую свое время), и дайте Вам любое количество возможностей представить серьезные проблемы безопасности вокруг злонамеренного входа. Не пишите тот, если Вы не знаете точно, что Вы получаете путем выполнения его. Который не должен говорить, что Вы не можете записать синтаксический анализатор для чего-то более простого, чем XML как Ваш формат ввода, если Вам не нужно все это предложения XML.
Этот метод работает на основе текста параметра, а не индекса. Только что протестировано.
var theText = "GOOGLE";
$("#HowYouKnow option:contains(" + theText + ")").attr('selected', 'selected');
Или, если есть похожие значения (спасибо, Шанабус):
$("#HowYouKnow option").each(function() {
if($(this).text() == theText) {
$(this).attr('selected', 'selected');
}
});
$("#HowYouKnow option:eq(XXX)").attr('selected', 'selected');
где XXX - это индекс нужного вам номера.