Есть ли точка, создающая сайт с помощью [закрытого] XSLT

Другой способ использования запроса агрегирования применим только для версии MongoDB> 3.4 -

. Благодарим вас за это сообщение .

Примеры документов для выбирается в этом порядке -

var order = [ "David", "Charlie", "Tess" ];

Запрос -

var query = [
             {$match: {name: {$in: order}}},
             {$addFields: {"__order": {$indexOfArray: [order, "$name" ]}}},
             {$sort: {"__order": 1}}
            ];

var result = db.users.aggregate(query);

Еще одна цитата из сообщения, объясняющая эти операторы агрегирования -

Этап «$ addFields» является новым в версии 3.4 и позволяет вам «создавать» новые поля для существующих документов, не зная всех других существующих полей. Новое выражение «$ indexOfArray» возвращает позицию определенного элемента в заданном массиве.

blockquote>

В основном оператор addToSet добавляет новое поле order в каждый документ, когда он его находит, и это Поле order представляет собой первоначальный порядок нашего массива, который мы предоставили. Затем мы просто сортируем документы на основе этого поля.

20
задан webwise 18 February 2009 в 11:13
поделиться

14 ответов

Ответы на основе "синтаксиса тверды", не никакой ответ вообще, по моему скромному мнению. A). Это действительно не и B). Вы, как предполагается, являетесь программистом, просто изучаете это.

Определенно другие технологии совершенствуются в темпе, который не имеет XSLT, с тех пор 2005ish, но это остается мощным инструментом, который дает Вам уровень абстракции, которую, скажем, не делают веб-формы asp.net, и позволяет Вам предоставлять общее масштабируемое решение для тривиальной сериализации к диапазону выходных форматов. Легко генерировать HTML с любым данным языком, более трудно теперь расширить это до XML, теперь расширить это до JSON, теперь расширить это до CSV.

И кэшируемый преобразовывает, много достаточно быстро в среде, которая является все еще связанным вводом-выводом.

OTOH, храня данные в XML обычно являются не хорошей идеей. Намного лучше сохранить в DB/мадам и сериализировать как требуется по всем причинам выше.

20
ответ дан 29 November 2019 в 22:45
поделиться

Смотрите на http://www.umbraco.org/ , Это - свободный инструмент CMS с открытым исходным кодом, который использует XSLT экстенсивно для генерации страниц.

Ко всем те, кто требует XSLT, тверды, я сказал бы, что это не тяжелее, чем SQL. Существует сценарий, которые являются тверды, такие как группировка, точно так же, как в SQL деревья тверды.

Выбор правильный инструмент для правильного задания и у Вас не должно быть проблем.

1
ответ дан 29 November 2019 в 22:45
поделиться

Походит на плохую идею мне. Намного легче использовать что-то как ASP.NET с содержанием, сохраненным в базе данных - можно затем обновить содержание непосредственно в базу данных - который сам по себе будет легче, чем редактирование XML.

0
ответ дан 29 November 2019 в 22:45
поделиться

То, что вы описываете, уже существует и является Apache Cocoon: http://cocoon.apache.org/

2
ответ дан 29 November 2019 в 22:45
поделиться

Я знаю немного больших веб-порталов, которые работают с помощью XSLT много, здесь в Польше. Они использовали, потому что это может минимизировать объем данных, отправленный по сети.

я также работал над проектом (Огромное приложение HRM), и мы использовали его там для преобразования нашего языка программирования к.NET.

я сказал бы, что это иногда очень полезно.

3
ответ дан 29 November 2019 в 22:45
поделиться

XSLT является всего одним методом шаблонной обработки. Это - также всего одна часть полной платформы MVC, где, обрабатывая быть по шаблону Компонентом представления. XSLT является большой технологией, но это медленно и не предпочтительный вариант при создании масштабируемого веб-сайта.

Исследование в области платформ MVC для наблюдения, какой соответствует Вам лучше всего. например, ASP.NET MVC, Ruby on Rails, CakePHP, Катализатор, и т.д.

2
ответ дан 29 November 2019 в 22:45
поделиться

На работе проект я нахожусь на использовании XSLT и честно говоря, это - реальная боль. Фактические файлы XSLT не являются настолько трудными работать с, но имеющий необходимость создать XML добавляет дополнительный слой сложности. Я также нашел, что вне самых основных страниц, XML имеет тенденцию становиться очень чрезмерно увеличенным в размерах и грязным. Так, нет, я не рекомендовал бы это.

4
ответ дан 29 November 2019 в 22:45
поделиться

Назад в 2002-2003 я сделал много с XSLT (и еще многие в 2006-2007). Ваш пробег на этом будет варьироваться, но честно я избежал бы его по нескольким причинам:

  • синтаксис является ослеплением headspin, трудно чтобы учиться, трудно разобраться и просто дает Вам головную боль. Сами шаблоны не слишком плохи, но добавляют некоторые непростые выражения XPath, и это просто причиняет боль;
  • Для довольно размерных документов и преобразовывает его, является относительно медленным. Достаточно ли это медленно для отношений к Вам, что-то, что Вы только найдете со сравнительным тестированием Вашего сценария, так не берите это в качестве всеохватывающей нормы, большего количества назидательной истории или протеста;
  • сообщения об ошибках просто не настолько полезны, и может быть трудно выяснить проблемы. В отличие от более традиционного подхода, Вы не можете выкрикнуть отладчик и ступить через XSLT;
  • Генерация HTML с любым современным языком вкусом сетью (C#, Java, PHP, Python, Ruby, и т.д.) тривиален, прост, легок зарегистрироваться и легкий отладить;
  • Управление XML возможно более утомителен и производит больше кода что непосредственно управляющие объекты и преобразование их в разметку. Это, конечно, будет варьироваться, какими инструментами Ваш выбранный язык предоставляет Вам.

единственное место я могу действительно видеть, что наличие приложения для XSLT в эти дни находится в потреблении веб-сервисов, которые производят XML (партии производят JSON и более легко использованные форматы в эти дни).

И даже в этом случае я, вероятно, все еще управлял бы XML непосредственно с, скажем, JAXB в Java (или подобные технологии на других языках).

Обновление: я просто столкнулся Смерть XSLT в веб-Платформах . Например:

, Например: как скрыть строку в таблице (использующий другой стиль CSS), на основе некоторого УСЛОВИЯ, с XSLT? См.:

<tr>
  <xsl:attribute name="style">
    <xsl:choose>
      <xsl:when test="CONDITION">
        <xsl:value-of select="'visibility: visible'">
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="'visibility: collapse'">
      </xsl:otherwise>
    </xsl:choose>
  </xsl:attribute>
  ...
</tr>

и теперь то же с JSP 1.x:

<tr style='visibility:<%=CONDITION ? "collapse" : "visible"%>'>
   ...
</tr>

или с JSP 2.x:

<tr style='visibility:${CONDITION ? "collapse" : "visible"}'>
  ...
</tr>

полученный в итоге:

Поэтому при запуске нового проекта думайте дважды (или десять раз) перед вскакиванием в XSLT. И> при использовании Eclipse можно даже думать дважды перед использованием JSP/JSTL. Скорость или> FreeMarker могла бы быть более оптимальным вариантом.

24
ответ дан 29 November 2019 в 22:45
поделиться

Мне нравится идея. XSL является фантастическим инструментом, но Вы должны иметь в тот особый момент просвещения перед пониманием, насколько полезный это действительно. Перед этим это просто кажется так себе.

Я использовал XSL во множестве приложений, и он сохранил меня много времени. Но, очевидно, не просто используйте его ради него.

2
ответ дан 29 November 2019 в 22:45
поделиться

я хочу сделать это, чтобы помочь обновить сайт с помощью простых XML-файлов (вместо того, чтобы использовать законченный & дорогая система CMS).

Er, что? Существуют многие свободный и CMSs с открытым исходным кодом.

, Какой spoulson, сказанный выше о шаблонной обработке, является точкой. Обеспечение выходных страниц от входных XML-файлов прекрасно. Но это не получает Вас CMS. Что относительно C.R.U.D.? Поиск? Списки страниц?

, Если Ваш сайт является столь небольшим, что все соответствующее обновление может быть сделано Вами редактирование руки некоторые XML-файлы, затем почему не, пойдите для него. Но если случается так, что простой Вы могли бы также просто отредактировать HTML вручную.

2
ответ дан 29 November 2019 в 22:45
поделиться

Если ваша платформа имеет проверку ASP.NET MyXSL

XSLT дает вам возможность делать ненавязчивую шаблоку, что является IMO Ultimate Chyllating.

1
ответ дан 29 November 2019 в 22:45
поделиться

В качестве примера, wowarmory.com является хорошим примером сайта с высоким трафиком, использующего XSLT. На самом деле, я думаю, что весь сайт использует его.

1
ответ дан 29 November 2019 в 22:45
поделиться

xslt - это сложно?

Это работа программиста - решать сложные проблемы и сложные стандарты. Есть вещи, которые намного сложнее, но все равно нужны. Просто продолжайте в том же духе, и с каждым разом вам будет все легче и легче изучать новый материал.

Xslt - это просто.

Правда! Есть хорошие книги, которые научат вас xslt. Просто выучите, например, rdf/owl (стандарт w3c), и он может стать намного сложнее...

xslt медленный? Просто используйте правильное кэширование, если можете. (хорошо, это не всегда возможно...).

Просто почитайте о REST (в какой-нибудь книге или диссертации Роя Филдинга) - это тоже очень важно.

Теперь с XProc (xslt piplines) и небольшим рестсервером вокруг calabash (реализация Xproc) вы можете архивировать так много. Это определенно может сэкономить вам время. Любые данные могут быть экспортированы в XML, сделаны доступными через REST и преобразованы с помощью XProc.

2
ответ дан 29 November 2019 в 22:45
поделиться

Symphony CMS использует XSLT. При использовании этой CMS я обнаружил, что единственные реальные проблемы, с которыми я столкнулся, были связаны с изучением синтаксиса XSL/XPath, в основном из-за отсутствия хороших учебников/документации. Возможно, стоит попробовать Symphony, если вы хотите увидеть относительно современное использование XSLT.

2
ответ дан 29 November 2019 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: