繁体   English   中英

如何计算XSLT的XML文件的段落并将其显示在HTML文件中?

[英]How can I count paragraphs of my XML file and display them on the HTML file using XSLT?

基本上,我有一段包含几个段落的文本,这些段落必须计算在内。 然后必须在段落左侧显示段落编号。

我使用以下方法成功计算了所有段落:

<xsl:for-each select="//troonrede">
    <xsl:value-of select="count(paragraph)"/><br/>
</xsl:for-each>

但是,我不知道如何在我的HTML输出中实现这一点。 抱歉,今天开始使用XSLT,在其他任何地方都找不到此解决方案。

亲切的问候,

Thijmen。

编辑:XML示例

<?xml version="1.0" encoding="utf8"?>
<!DOCTYPE troonrede
  [ <!ENTITY euml "ë"> ]
>
<troonrede spreker="Koningin Beatrix">
    <hoofd>
        Leden van de <organisatie>Staten-Generaal</organisatie>
    </hoofd>
    <paragraph>
        Willen wij daadkrachtig het economisch herstel vorm kunnen geven, dan is stabiel bestuur gewenst. 
        Intensief wordt sinds de <organisatie> Tweede Kamer</organisatie>-verkiezingen van <datum>9 juni</datum> 
        gewerkt aan de totstandkoming van een nieuw kabinet. Lopende de kabinetsformatie past het huidige kabinet
        terughoudendheid bij het doen van beleidsvoorstellen voor het komende jaar. 
        </paragraph>
    <paragraph> 
        Lange tijd en wereldwijd zullen de gevolgen van de financieel-economische crisis voelbaar blijven. 
        Een ingrijpend pakket van ombuigingen is nu noodzakelijk om de positie van ons land ook op de lange 
        termijn te verbeteren. Maatregelen voor de jaren na <datum>2011</datum> zullen vanzelfsprekend door 
        een nieuw kabinet voorbereid moeten worden.
        </paragraph>
</troonrede>

你还没有真正解释你想要的HTML格式的使用来代表你的文档,但由于要编号的段落,你可以将它们转换成HTML有序列表ol如下:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">

  <xsl:output method="html" indent="yes" version="5" doctype-system="about:legacy-doctype"/>

  <xsl:template match="/">
    <html>
      <head>
        <title>Example</title>
      </head>
      <body>
         <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="troonrede">
      <section>
          <h2>
              <xsl:apply-templates select="hoofd"/>
          </h2>
          <ol>
              <xsl:apply-templates select="paragraph"/>
          </ol>
      </section>
  </xsl:template>

  <xsl:template match="paragraph">
      <li>
          <xsl:apply-templates/>
      </li>
  </xsl:template>

</xsl:stylesheet>

http://xsltfiddle.liberty-development.net/nbUY4kk/2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM