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)}"
}
}
Лично я бы не стал часто использовать clientide xslt; есть проблемы с поддержкой браузера и тем фактом, что у вас могут быть данные в xml, которые вам нужно вырезать (т.е. которые клиенту не нужно знать или не должен знать).
Но на стороне сервера .. Несколько лет назад я обычно использовал этот подход как реализацию MVC из VB6, то есть код VB6 (контроллер) собирает данные как xml (модель) и использует xslt для формирования html (представления). Это хорошо сработало с точки зрения разделения интересов. В наши дни я бы использовал ASP.NET MVC, чтобы сделать то же самое, но с шаблонами представления ascx / aspx.
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.
(Поскольку я пока не могу комментировать, это было ответом на «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 внутри преобразованного содержимого.
XHTML - это XML-версия HTML. Я бы, наверное, не стал использовать XSLT для веб-сайтов. Я бы использовал XHTML вместе с CSS для управления презентацией. Я говорю это потому, что (X) HTML / CSS в значительной степени является стандартом де-факто для веб-приложений, и существует гораздо больше инструментов для разработки и отладки.
Существуют разные уровни проверки для XHTML, если вы хотите использовать некоторые неидеального HTML в XHTML.
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.
Если вы сравните его с мощностью кода на стороне сервера, XSLT не соответствует нескольким параметрам.
Если ваша страница полностью динамическая, все равно имеет смысл создать ее в коде на стороне сервера. Если вашим источником данных является XML, вы все равно можете использовать синтаксический анализ и преобразование XML на стороне сервера, чтобы создать преобразованный XHTML и передать его клиенту.
Редко бывает необходимо исключительно преобразовывать HTML на клиенте, полностью полагаясь на возможности браузер. Большинство современных браузеров имеют хорошую поддержку XML / XSLT, но их главное отличие заключается в типе используемого процессора XSLT.
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.
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.
Я никогда не слышал, чтобы кто-то еще делал это, но я использую XSLT как макроязык для языка шаблонов html на основе XML. Я не использую его для крупномасштабных преобразований одного документа в другой, а скорее для создания пользовательских тегов. Шаблоны прогоняются через xslt перед компиляцией, поэтому ему никогда не нужно манипулировать данными. Тем не менее, он дает возможность просто использовать кусок xml как можно более кратко, а затем выполнить очень простое преобразование для вывода кода так, как это было бы невозможно или, по крайней мере, сложнее сделать на самом языке шаблонов.
В html часто возникает необходимость вставлять div'ы, добавлять классы и т.д., чтобы все выглядело правильно, не добавляя никакого реального смысла. Вместо того чтобы повторять эту схему повсюду, можно просто создать пользовательский элемент, а затем написать простое XSLT-преобразование, чтобы взять этот элемент и его атрибуты и превратить его в полностью развернутый html. Однако я бы никогда не подумал об использовании XSLT в качестве единственного средства шаблонизации данных. Это слишком муторно.