• 締切済み

XMLでの改行について

XMLでの改行について ASPにてXMLを作成し、XSL(FO)にて帳票形式を作成し、TomcatにてPDFを作成しています。 ASP側にて、  Set objXmlNode = objXmlDoc.CreateElement("CV0")  Set objXmlText = objXmlDoc.createTextNode("文字" & vbCrLf & "文字" & vbCrLf& "文字")   objXmlNode.appendChild(objXmlText)  objTrNode.appendChild objXmlNode のようにXMLを作成し、XSL(FO)には、 <xsl:template match="CV0"> <fo:table-cell border-width="0.5mm" border-style="solid" padding="1mm" height="30mm"> <fo:block font-size="12pt" font-family="MSMincho" text-align="center"> <xsl:value-of select='.'/> </fo:block> </fo:table-cell> </xsl:template> のように表記しておりますが、帳票を見ると、 「文字 文字 文字」 になるはずが、 「文字 文字文字」 となってしまいます。 原因として何が考えられるのでしょうか? 回答のほど、よろしくお願いします。

みんなの回答

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

><xsl:template match="CV0"> これは何として出力しようとしているんですかね。XML ?HTNL ? PDF? 見るとHTMLに見えるのですが、どうなんでしょう。それによっても違いますが、XMLで改行マークを効かせる場合は、おまじないのヘッダーを書かないとだめですよね? その辺が記載されていないので分かりません。 もちろんHTMLでは改行は無視されますね。一つの文字として認識されるだけです。 予測ですがHTMLとして出力して、それをPDFのCOMかコマンドかに渡して印刷しているのかな? HTMLだったら単純に<BR>を入れればいいし、vbCrLf=<BR>  現象だけ見ると改行マークで2段になっているのではなく、表示幅が狭いので2段になったような気がします。それだと説明付きますよね。つまり改行マークは全く効いていない。ということになりますね。

関連するQ&A