Я просто пытаюсь написать код XSL 1.0 (преобразование XML с XSLT), который позволяет мне выдавать значение атрибута в зависимости от атрибута низкого уровня. Чтобы пояснить это, пример может быть полезен:Получить верхний XML-узел Значение в зависимости от атрибута
<age_list>
<age i="13">
<type j="min"/>
</age>
<age i="22">
<type j="max"/>
<age_list>
</age_list>
Итак, я хочу, чтобы извлечь атрибут в возрасте, я, но мне нужно знать, является ли это минимальное или максимальным возрастом, как, например, некоторые фильмы запрещены для детей моложе 18 лет, но рекомендуемый возраст составляет 12 лет. Таким образом, у каждого фильма есть возрастный список, но не каждый возрастной список содержит минимальный и максимальный возраст, иногда есть только макс, иногда просто мин, а иногда и то и другое. Если min не задан, он автоматически устанавливается в 0, а значение max устанавливается равным 999, если оно не задано. Итак, как я мог это достичь?
я перебирать все списки возрастных и сделать следующий тест:
<xsl:choose>
<xsl:when test="./age/type[@j='MIN']">
<xsl:value-of select="./age/@j" />
</xsl:when>
<xsl:otherwise>
<xsl:text>0</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="./age/type[@j='MAX']">
<xsl:value-of select="./age/@j" />
</xsl:when>
<xsl:otherwise>
<xsl:text>999</xsl:text>
</xsl:otherwise>
</xsl:choose>
Но это становится мне на максимум и минимум такое же значение, которое звучит логично, так как я отношусь к текущему возрасту, а не в зависимости от атрибута j типа.
Спасибо, сэр! Это работает свободно! Im новое для XSLT, поэтому я не знаю, как достичь определенных атрибутов и значений узла. Способ мышления так сильно отличается от программирования Java или подобного материала. – BlackACE