XSLT - изменение XPATH для каждого

Вам нужно добавить следующую строку в файл маршрутов web.php:

Auth::routes();

Если у вас есть настраиваемые маршруты аутентификации, убедитесь, что у вас / login route есть 'as' => 'login «

1
задан Brian Tompsett - 汤莱恩 3 March 2019 в 14:21
поделиться

1 ответ

Я предполагаю, что, например, в строке, содержащей SecondNameC , в остальных столбцах должны отображаться те же значения, что и для MainNameC , т.е. 03 и subA 123.0 g/L.

Сценарий ниже выполняет свою работу:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" doctype-public="-//W3C//DTD XHTML 1.1//EN"
    doctype-system= "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>

  <xsl:template match="/">
    <html>
      <head><title>Rep</title></head>
      <body>
        <table style="width:80%" border="1">
          <tr><th>Name</th><th>ID</th><th>Composition</th></tr>
          <xsl:for-each select="root/intrants/CCCs/PPP">
            <tr>
              <xsl:call-template name="displayMN">
                <xsl:with-param name="MN" select="." />
              </xsl:call-template>
            </tr>
          </xsl:for-each>
          <xsl:for-each select="root/intrants/CCCs/PPP">
            <xsl:variable name="MN" select="."/>
            <xsl:if test="count(others-names/other-name) &gt; 0">
              <xsl:for-each select="others-names/other-name/name">
                <tr>
                  <xsl:call-template name="displaySN">
                    <xsl:with-param name="MN" select="$MN"/>
                  </xsl:call-template>
                </tr>
              </xsl:for-each>
            </xsl:if>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>

  <!-- Main Product -->
  <xsl:template name="displayMN">
    <xsl:param name="MN"/>
    <td>
      <xsl:call-template name="displayMainName">
        <xsl:with-param name="name" select="product-name"/>
      </xsl:call-template>
    </td>
    <xsl:call-template name="displayCore">
      <xsl:with-param name="Produit" select="."/>
    </xsl:call-template>
  </xsl:template>

  <!-- Second Product -->
  <xsl:template name="displaySN">
    <xsl:param name="MN"/>
    <td>
      <xsl:call-template name="displaySecondName">
        <xsl:with-param name="name" select="."/>
      </xsl:call-template>
    </td>
    <xsl:call-template name="displayCore">
      <xsl:with-param name="Produit" select="$MN"/>
    </xsl:call-template>
  </xsl:template>

  <!-- Core -->
  <xsl:template name="displayCore">
    <xsl:param name="Produit"/>
    <td>
      <xsl:call-template name="displaynbID">
        <xsl:with-param name="nbID" select="$Produit/nbID"/>
      </xsl:call-template>
    </td>
    <td>
      <xsl:call-template name="displayCompositionEN">
        <xsl:with-param name="Composition" select="$Produit"/>
      </xsl:call-template>
    </td>
  </xsl:template>

  <!-- Main Name -->
  <xsl:template name="displayMainName">
    <xsl:param name="name"/>
    <xsl:value-of select="$name"/>
  </xsl:template>

  <!-- Second Name -->
  <xsl:template name="displaySecondName">
    <xsl:param name="name"/>
    <xsl:value-of select="$name"/>
  </xsl:template>

  <!-- IDnb -->
  <xsl:template name="displaynbID">
    <xsl:param name="nbID"/>
    <xsl:value-of select="$nbID"/>
  </xsl:template>

  <!-- Composition EN -->
  <xsl:template name="displayCompositionEN">
    <xsl:param name="Composition"/>
    <xsl:for-each select="$Composition/int-composition/act-subs/act-sub">
      <xsl:call-template name="displaySubstanceEN">
        <xsl:with-param name="AS" select="substance"/>
        <xsl:with-param name="SACc" select="AS-concentration"/>
      </xsl:call-template>
      <xsl:if test="position() != last()">
        <xsl:text> + </xsl:text>
  </xsl:if>
    </xsl:for-each>
  </xsl:template>

  <!-- Substance EN-->
  <xsl:template name="displaySubstanceEN">
    <xsl:param name="AS"/>
    <xsl:param name="SACc"/>
    <xsl:value-of select="$AS"/>&#160;<xsl:value-of select="$SACc"/>&#160;<xsl:value-of select="$SACc/@unite"/>
  </xsl:template>
</xsl:stylesheet>

Рабочий пример см. В http://xsltransform.net/asnmyT

. что элемент контекста изменен, например в цикле for-each.

Также обратите внимание, что я изменил шаблон displaySN . Он содержит параметр MN, относящийся к элементу «main» (PPP).

Также есть некоторые изменения в шаблоне displayCompositionEN .

Я также добавил элемент xsl:output с атрибутами doctype-public и doctype-system для генерации вывода XHTML, чтобы получить представление HTML в тестовом сайте xsltransform . Но если вам это не нужно, просто удалите его.

0
ответ дан Valdi_Bo 3 March 2019 в 14:21
поделиться
Другие вопросы по тегам:

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