Вам нужно сначала выяснить, как вы собираетесь рассчитывать налог с продаж. Вы можете посмотреть другие ресурсы, но этот , кажется, дает хороший пример. Там также включительно и эксклюзивный налог с продаж. Я не буду вдаваться в это -
Когда у вас будет эта математика, вы можете сделать что-то похожее:
const calculateSalesTax = (amount, taxPercent) => {
// Whatever math is involved to calculate your sales tax here
return amount + (taxPercent * amount);
};
document.getElementById('calculate').onclick = () => {
const amount = document.getElementById('amount').value;
const tax = document.getElementById('percent').value;
document.getElementById('total').innerText = `$ ${calculateSalesTax(+amount, +tax)}`;
};
Я только что выпустил проект с открытым исходным кодом, который является реализацией Уровня 3 Селекторов CSS W3C в Java. Дайте ему попытку. Я искал то же самое и решенный для реализации моего собственного механизма. Это вдохновлено кодом в WebKit и т.д.
Я не знаю о самой библиотеке Java, но существует библиотека Ruby под названием Hpricot, который делает точно, что Вы ищете. В сочетании с реализацией Ruby на платформе Java, JRuby, это должно быть относительно просто для вызова методов Ruby из кода Java (использующий BSF, JSR-222 Сценарии API или внутреннего API).
Вы используете Coldfusion 8? Coldfusion 8, будучи основан на Java 6, поддерживает JSR-222 Сценарии API "javax.scripting".
Смотрите на эту запись в блоге при встраивании PHP в CFML. Необходимо смочь сделать то же с Ruby. Существует пример кода zip-файла, связанный из этого сообщения в блоге, и если Вы взломаете CFML, то Вы будете видеть хороший пример встраивания Ruby в CFML.
Хотя могло бы потребоваться немного работы, чтобы заставить все части сотрудничать, но с небольшим количеством инвестиций, это должно дать Вам устойчивые запросы селектора парсинга/CSS этого, Вы ищете.
Hpricot является определенно фантастическим решением, если JRuby-маршрут открыт для Вас.
Wrt. Так как XPath является "корректным" способом получить доступ к XML-документам... извините, но это - мусор. Существуют многочисленные способы получить доступ к элементам XML-документа: обход DOM, XPath, XQuery, селекторы CSS для именования некоторых. XPath, конечно, популярен, но селекторы CSS очень очень мощны, предполагая, что Ваш XML-документ имеет семантику HTML.
Существует теоретическое различие между сервером и клиентом. К веб-браузеру документ является проживанием иерархия DOM. К Вашему серверному коду это - просто XML-документ любого типа. XPath является "корректным" способом получить доступ к элементам XML-документа.
Таким образом, если у Вас нет серьезной проблемы производительности с Вашим текущим решением XPath, или оно на самом деле не работает правильно, я предлагаю, чтобы Вы придерживались его. Попытка чего-то слишком умного приносит риск повреждения чего-то, что это работает.
Если Вы находите, что XPath является слишком подробным и ужасным, чтобы оставить заседание или хотеть больше питания снова использовать инструмент в различных случаях, или просто не можете сопротивляться попытке сделать что-то умное, то Вы могли попытаться писать утилиту, которая компилирует данный селектор CSS в XPath. Вы могли затем назвать это в одной строке каждый раз, когда Вам было нужно.
Если вы можете использовать PHP в своем CFML (как упоминалось выше), вы можете воспользоваться преимуществами этой превосходной библиотеки «jQuery для PHP», phpQuery
Полная поддержка селектора CSS, функции манипуляции, обход и т. д. Он должен отлично работать для того, что вам нужно.
Надеюсь, это поможет.
Может быть проще в использовании CQuery.com - CQuery.com является API на основе API «Content Query Query» для извлечения контента с живых веб-сайтов с помощью CSS.
Вы можете использовать его программически в вашем приложении.