Работа с атрибутами XML документа

Получение значений атрибутов производится через конструкцию конструкция @[имя_атрибута], например @id возвращает значение атрибута id.

Пример XSL-шаблона для XML из предыдущего пункта:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

	<xsl:template match="/document">
		<html>
			<head>
				<title><xsl:value-of select="title"/></title>
			</head>
			<body>
				<!-- Выбираем узлы structure -->
				<xsl:apply-templates select="structure" />
			</body>
		</html>
	</xsl:template>

	<!-- Шаблон для отображения узлов /document/structure -->
	<xsl:template match="structure">
		<p>Значение: <xsl:value-of select="value"/></p>
		<p>Значение параметра ID: <xsl:value-of select="@id"/></p>
	</xsl:template>

</xsl:stylesheet>

Результирующий HTML-документ:

<html>
	<head>
		<title>Заголовок 1</title>
	</head>
	<body>
		<p>Значение: aaa</p>
		<p>Значение параметра ID: 1</p>
		<p>Значение: bbb</p>
		<p>Значение параметра ID: 2</p>
	</body>
</html>

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.

Комментарии

  • что "ета"



    никак не могу понять. что делает данная строка. какой узел она выбирает? какие значения ID и откуда они вообще берутся? ( в админке у узлов айдишниками не пахнет. что такое structure где это вообще смотреть ?

    29.08.2019 15:31:24
    Deathnikk

    Без темы

    Контроллеры показа в системе управления сайтом HostCMS генерируют XML, в этом XML содержится структурированная информация, которую нужно вывести на страницу. Посмотреть сгенерированные данные вы можете в клиентском разделе: https://www.hostcms.ru/documentation/step-by-step/top-panel/xml/
    Строка <xsl:apply-templates select="structure" /> говорит о том, что для всех узлов XML, размещенных в /document/structure нужно применить шаблон, сам шаблон размещен ниже по коду:
    <!-- Шаблон для отображения узлов /document/structure -->
    <xsl:template match="structure">
    ...
    </xsl:template>

    29.08.2019 16:13:52
    hostcms