小弟初学xml,想用xml存放文件(这个文件是指日常办公用的文件)。xml格式没有错,采用xsl给xml数据加样式,也没有问题。问题出在大段文字的排版上:
<filedetail>
<paragraph>  各区、县人民政府,各委、局,各直属单位:</paragraph>
<paragraph>  现在通报如下情况:</paragraph>
<paragraph>  XXXXXXXXXXXXXXXX</paragraph>
<paragraph>  XXXXXXXXXXXXXXXX</paragraph>
<filedetail>
文件正文代码如上面所示,可是显示出来的效果不对,本应改正文分N段,每段开头空两格,结果只是一段,该段开头未空格,后面的每段该换行的地方没换行,但是空了2格,不知道如何解决?请高手明示!

解决方案 »

  1.   

    in your template for paragraph in your xslt, output <p>..</p> or <br /> <xsl:template match="paragraph">
     <p><xsl:value-of select="." />
    </xsl:template>also you can use css' text-indent to indent each paragraph
      

  2.   

    sorry<xsl:template match="paragraph">
     <p><xsl:value-of select="." /></p>
    </xsl:template>
      

  3.   

    孟子大哥,麻烦您看看下面的代码:
    1.xml
    <?xml version="1.0" encoding="utf-16"?>
    <?xml-stylesheet type='text/xsl' href='a01.xsl'?>
    <file>
      <filename>xxx</filename>
      <filedetail>
        <paragraph>  各区、县人民政府,各委、局,各直属单位:</paragraph>
    <paragraph>  现在通报如下情况:</paragraph>
    <paragraph>  XXXXXXXXXXXXXXXX</paragraph>
    <paragraph>  XXXXXXXXXXXXXXXX</paragraph>
      </filedetail>
    </filedetail>
    </file>a01.xsl:
    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <xsl:template match="/">
    <xsl:for-each select="file">
    <html>
    <head><title><xsl:value-of select="filename"/></title>
    </head>
    <body leftmargin="0" topmargin="0">
    <table width="558" height="774" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td height="132"></td>
      </tr>
      <tr>
        <td height="60" align="center"><img src="img/a01.jpg" width="465" height="78"></img></td>
      </tr>
      <tr>
        <td height="88"></td>
      </tr>
      <tr>
        <td height="27" align="center"><img src="img/a011.jpg" width="458" height="31"></img></td>
      </tr>
      <tr>
        <td>
        <xsl:template match="paragraph">
     <p><xsl:value-of select="." /></p>
    </xsl:template>
        </td>
      </tr>
    </table>
    </body>
    </html>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>在a01.xsl里面显示filedetail段的内容的那段代码,明显我写的不对,但是怎么写我不会,麻烦指教,谢了
      

  4.   

    上面思归老大说得很清楚了,用<p></p>或<br/>来分行就行了。
      

  5.   

    <xsl:template match="/">
    <xsl:for-each select="file">
    <html>
    <head><title><xsl:value-of select="filename"/></title>
    </head>
    <body leftmargin="0" topmargin="0">
    <table width="558" height="774" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td height="132"></td>
      </tr>
      <tr>
        <td height="60" align="center"><img src="img/a01.jpg" width="465" height="78"></img></td>
      </tr>
      <tr>
        <td height="88"></td>
      </tr>
      <tr>
        <td height="27" align="center"><img src="img/a011.jpg" width="458" height="31"></img></td>
      </tr>
      <tr>
        <td>
        <xsl:apply-templates select="filedetail/paragraph" />
        </td>
      </tr>
    </table>
    </body>
    </html>
    </xsl:for-each>
    </xsl:template> <xsl:template match="paragraph">
     <p><xsl:value-of select="." /></p>
    </xsl:template>