XSLT: как избежать добавления самозакрывающегося тега в атрибутах в HTML - PullRequest
0 голосов
/ 20 декабря 2018

Я новичок в XSLT.Я пытаюсь отладить проблему XSLT (версия 2.0), которая была написана несколько лет назад.Часть кода XSLT выглядит следующим образом:

    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
        <xsl:output indent="yes" doctype-public="-//W3C//DTD HTML 4.0//EN" use-character-maps="m1"/>
        <xsl:character-map name="m1">
            <xsl:output-character character="&#141;" string=" "/>
        </xsl:character-map>
        <xsl:strip-space elements="*"/>
...
...
        <xsl:template match="PARA|PARASTYLE">
            <xsl:choose>
                <xsl:when test="@style-name-escaped or (ancestor::TABLE and not(text())) or (not(*) and not(text()))">
                    <div>
                        <xsl:if test="@style-name-escaped">
                            <xsl:attribute name="class">
                                <xsl:value-of select="@style-name-escaped"/>
                            </xsl:attribute>
                        </xsl:if>
                        <xsl:if test="(ancestor::TABLE and not(text())) or (not(*) and not(text()))">
                            <xsl:attribute name="style">
                                <xsl:text>margin-bottom=10pt</xsl:text>
                            </xsl:attribute>
                            <xsl:text/>
                        </xsl:if>
                        <xsl:apply-templates />
                    </div>
                </xsl:when>
...
..

Этот XSLT преобразует XML в HTML, как показано ниже.В основном это добавление атрибута с самозакрывающимся тегом, как показано ниже

<div class="Normal-Level">
  <div style="margin-bottom=10pt"/>
</div>

, что вызывает проблему при отображении в некоторых браузерах из-за самозакрывающегося тега.Что я хочу сделать, так это вывести результат, показанный ниже, с атрибутом, имеющим тег open и close:

   <div class="Normal-Level">
      <div style="margin-bottom=10pt">
      </div>
    </div>

Я провел онлайн-исследование, но синтаксис кажется правильным для добавления атрибута.Любая помощь приветствуется

1 Ответ

0 голосов
/ 20 декабря 2018

Попробуйте добавить method="html" к элементу xsl:output.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...