Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как делают XSLT на AS3? (http://www.flasher.ru/forum/showthread.php?t=156606)

пандус 24.05.2011 18:06

Как делают XSLT на AS3?
 
Существуют ли инструменты для XSLT на AS3? Или руками писать? Не могу нагуглить ничего готового — может, есть какая-то причина для такой непопулярности XSLT?

wvxvw 24.05.2011 18:14

Очень verbose и поскольку существует E4X, то в XSL по-большому счету нет необходимости. Валидацию для конкретного документа проще написать используя E4X. XSL мог бы помочь в целях документации / для тех кто не в курсе про E4X, а так в нем особо нет необходимости.
Опять же, если нужно сделать трансформацию, а не только валидацию, то E4X - меньше писанины + он компилируется в AS код. Вобщем, нет особо резона что-то такое делать. Хотя, мне два раза понадобилось... но скорее в образовательных целях, и оба раза я в итоге отказался от полной реализации XSL - т.как нужна была только определенная часть / или он делал это не так, как нужно.

Gaen 24.05.2011 18:23

Мне даже представить сложно, для чего во флэше могут понадобиться XSL-преобразования)

Crazy 24.05.2011 18:43

Простейшее применение: нормализация данных, загружаемых из разных источников.

Котяра 24.05.2011 21:04

Если говорить о реализации xpath, то что-то даже есть.

wvxvw 24.05.2011 21:58

Цитата:

Сообщение от Crazy (Сообщение 998383)
Простейшее применение: нормализация данных, загружаемых из разных источников.

Могу наспор переписать любой XSL(T) используя E4X*. Нет смысла тащить дополнительный инструмент, когда уже есть готовый, встроенный. Единственный повод, который я до сих пор видел - объяснить людям не знакомым с E4X, как устроен документ.
* большой - за большие деньги. :)

dimarik 24.05.2011 22:36

Я ничего не понял про xsl.
Цитата:

С помощью XSL можно трансформировать XML-документ в любой вид, будь то HTML, WML, RTF, PDF, SQL, даже в SWF (flash запускаемый модуль), а также XSL. XSL несёт в себе информацию о том, как будет оформлен документ, где и как должны располагаться данные.
Это компилятор, транслятор и интерпретатор в одном лице? Объясните, в чем прелесть задумки.

wvxvw 24.05.2011 23:22

Я бы скорее описал как функциональный (но очень плохо функционирующий) ЯП предназначенный для обработки SGML и производных форматов данных.
По мнениям некоторых очевидцев Тюринг-полный, по мнениям случайных прохожих - не очень полный (например бесконечный цикл можно реализовать только как рекурсию, а цикл, как таковой, хоть и присутствует, бесконечным быть не может). Так же изобилует свойственными для такого рода языков непонятками с Булевыми операциями, отсутствием ленивых аргументов и т.п.
Две самые важные составляющие: XPath - регулярная грамматика для описания или нахождения элементов в DOM-структуре, и собственно XSL - язык построенный на основе XML включающий набор зарезервированных тегов, типа if или for-each. Программист на XSL может создать template и key, что примерно соответствует процедуре и константе в более привычных для широкой публики терминах.
Типичное использование - генерить HTML по шаблону из XML (т.как непосредственно генерить HTML почему-то не получается). В теории сайтостроительства занимает отдельное почетное место - если вы умеете это делать, то можете быть уверены, что ваш проект никто кроме вас поддерживать точно не будет, т.как кроме вас это делать не умеет никто. Есть еще интересная теория о том, что, например, HTMLи сгенерированные используя XSL можно легко закешировать при большой загрузке сервера, а еще лучше прямо в мэмкеш (ака мэмбейс) запихать для повышения производительности и авторитета в глазах окружающих.
Так же, но значительно реже XSL используется для генерации не-HTML документов. Например, с его помощью можно генерировать исходники неинтересных классов, опять же потому что это круто, и так больше никто не умеет. Существуют малоизвестные и малоиспользуемые ответвления, которые позволяют генерить другие форматы, и не обязательно текстовые. Для чего обычно нужна программа-переводчик из того, что нагенерил XSL в формат, в который нужно было изначально генерить.
Технология очень популярна в энтерпрайз секторе и отчасти в корпоративном секторе. Но больше все-таки в интерпрайз. Большие компании нанимают много инженеров, и им просто необходимо производить мегатонны мукулатуры ещечасно (для примеров см. Google Spreadsheets). XSL, как ни одна другая технология, позволяет с ни в чем не виноватым лицом, и даже иногда с очень умным выражением лица, налепить неимоверную кучу мусора.

Crazy 24.05.2011 23:24

Цитата:

Сообщение от wvxvw (Сообщение 998447)
Могу наспор переписать любой XSL(T) используя E4X*.

А я угадаю эту мелодию с тре.... В смысле -- могу переписать на MACRO-11. И хрена ли толку?

Что это будет читабельнее оригинала -- очень сомнительно. Количество людей, знающих XSL, больше количества людей, знающих E4X, стало быть мы ухудшим возможность совпровождения.

Цитата:

Нет смысла тащить дополнительный инструмент, когда уже есть готовый, встроенный.
На момент реализации E4X различные либы для работы с XSL существовали уже лет 10. Так что вопрос можно поставить и иначе. :)

dimarik 24.05.2011 23:34

Олег, я как будто на третьем курсе АЦПУ побывал, спасибо )
Я понял. Это XSL — это Тьюринг, но не полный. У Алана Тьюринга (англ. Alan Mathison Turing) бесконечная лента, аха. А кто пишет интерпретаторы, компиляторы и трансляторы для этого ЯП (XSL)?


Часовой пояс GMT +4, время: 07:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.