Основным приложением моей компании является программа ввода данных, используемая служащими суда. Данные вводятся в набор данных ADO.NET, находящийся в памяти, и программа генерирует в пользовательском интерфейсе множество различных представлений данных, доступных только для чтения (включая минутные и пробные заказы). Эти представления создаются в HTML путем запуска различных XSLT-преобразований в XML-представлении набора данных.
XSLT и XPath очень хорошо подходят для такого рода проблем. Мы должны выполнить небольшую часть предварительной обработки данных (если обвиняемому дается 18 месяцев по одному обвинению и 25 месяцев по другому, в приказе должно быть указано, что он приговорен к трем годам и семи месяцам, и хотя это может быть * 1003). * возможно делать такие вычисления в XSLT, не стоит выяснять, как), но в целом любое бизнес-правило, которое пользователи навязывали нам в течение последних нескольких лет, было несложно реализовать. («Приговор в постановлении о выдаче, в котором указано, что обвиняемый будет доставлен в новую юрисдикцию, если он находится под стражей, также должен указывать на то, что он освобожден от будущих явлений в суд, если есть какие-либо запланированные появления, в которых суд потребовал его явки "оказывается, что простой запрос XPath может обработать.)
И это быстро. Мы заново генерируем HTML для представления только для чтения каждый раз, когда пользователь нажимает на вкладку, содержащую представление, и вы действительно не можете сказать.