Действительно ли это - хорошая идея использовать XML и XSLT для веб-сайтов?

Terraform, до 0.12, только поддерживает типы string, list и map в качестве входной переменной , поэтому, несмотря на то, что вы предоставили integer (или float или boolean ]) он будет приведен к string.

Как Terraform , так и Go позволяют вам использовать одинаковые отступы для целых чисел и строк, хотя вы можете просто использовать следующее для дополнения нуля cluster_id:

resource "aws_instance" "instance" {
    # ... some instance properties ...
    tags {
        "Name" = "${format("cluster-%02s", var.cluster_id)}"
    }
}

5
задан Community 23 May 2017 в 12:24
поделиться

9 ответов

Лично я бы не стал часто использовать clientide xslt; есть проблемы с поддержкой браузера и тем фактом, что у вас могут быть данные в xml, которые вам нужно вырезать (т.е. которые клиенту не нужно знать или не должен знать).

Но на стороне сервера .. Несколько лет назад я обычно использовал этот подход как реализацию MVC из VB6, то есть код VB6 (контроллер) собирает данные как xml (модель) и использует xslt для формирования html (представления). Это хорошо сработало с точки зрения разделения интересов. В наши дни я бы использовал ASP.NET MVC, чтобы сделать то же самое, но с шаблонами представления ascx / aspx.

6
ответ дан 18 December 2019 в 09:52
поделиться

You should do the transformation on the server side and not rely on the browser support.

We use it to support multiple languages on our website. Disadvantage is that sometimes our designers have a steep learning curve with designing their pages using XSL/XSLT/XPATH.

2
ответ дан 18 December 2019 в 09:52
поделиться

(Поскольку я пока не могу комментировать, это было ответом на «Saint Gerbil»)

На самом деле вы можете использовать элементы управления ASP.NET в XSL, и это очень просто, добавьте пространство имен asp в XSL, выполните преобразование в средство записи строк, а затем выполните синтаксический анализ элементов управления в преобразованной строке:

// Transform
xsltrans.Transform(xmldoc, xslArg, oSW);

// Get transformed content
string sPage = oSW.ToString();

// Add to page
Page.Controls.Clear();
Page.Controls.Add(Page.ParseControl(sPage));

Это проанализирует любые элементы управления ASP.NET внутри преобразованного содержимого.

1
ответ дан 18 December 2019 в 09:52
поделиться

XHTML - это XML-версия HTML. Я бы, наверное, не стал использовать XSLT для веб-сайтов. Я бы использовал XHTML вместе с CSS для управления презентацией. Я говорю это потому, что (X) HTML / CSS в значительной степени является стандартом де-факто для веб-приложений, и существует гораздо больше инструментов для разработки и отладки.

Существуют разные уровни проверки для XHTML, если вы хотите использовать некоторые неидеального HTML в XHTML.

0
ответ дан 18 December 2019 в 09:52
поделиться

Its a fine way of doing things but unfortunatly alot of server side technologies dont support the idea.

For example in ASP.NET you cant use Server Controls with this approach which is normally enough to turn people off.

XSLT is great for pages which have no interaction like reporting however.

0
ответ дан 18 December 2019 в 09:52
поделиться

Если вы сравните его с мощностью кода на стороне сервера, XSLT не соответствует нескольким параметрам.

Если ваша страница полностью динамическая, все равно имеет смысл создать ее в коде на стороне сервера. Если вашим источником данных является XML, вы все равно можете использовать синтаксический анализ и преобразование XML на стороне сервера, чтобы создать преобразованный XHTML и передать его клиенту.

Редко бывает необходимо исключительно преобразовывать HTML на клиенте, полностью полагаясь на возможности браузер. Большинство современных браузеров имеют хорошую поддержку XML / XSLT, но их главное отличие заключается в типе используемого процессора XSLT.

0
ответ дан 18 December 2019 в 09:52
поделиться

I do use XML sometimes, for when a website does not have a MySQL DB or just for record of a small array of items (which needs to be changed alot), and then use PHP to parse it in my webpages with HTML/CSS.

However, this does require that you manually edit each xml entry, so just use it for small applications.

0
ответ дан 18 December 2019 в 09:52
поделиться

I had to use clientside XSL(T) on my homepage to prevent the freehoster from inserting advertisement automatically ;-) (IE and Firefox had problems with this!)

I would use XML on the serverside but never transmit anything but plain XHTML+CSS. It's essential to the internet that everything is built up in one technology and not thousands of personal languages and semantics.

0
ответ дан 18 December 2019 в 09:52
поделиться

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

В html часто возникает необходимость вставлять div'ы, добавлять классы и т.д., чтобы все выглядело правильно, не добавляя никакого реального смысла. Вместо того чтобы повторять эту схему повсюду, можно просто создать пользовательский элемент, а затем написать простое XSLT-преобразование, чтобы взять этот элемент и его атрибуты и превратить его в полностью развернутый html. Однако я бы никогда не подумал об использовании XSLT в качестве единственного средства шаблонизации данных. Это слишком муторно.

0
ответ дан 18 December 2019 в 09:52
поделиться
Другие вопросы по тегам:

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