以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]如何使用xsl转换xml中的程序示例代码  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=14061)


--  作者:zaxacava
--  发布时间:1/27/2005 4:21:00 PM

--  [求助]如何使用xsl转换xml中的程序示例代码
求助,小弟有一xml文件,现在要在其中插入如下一段程序示例代码,并用xsl将其转换成html,要求转换后在html中的程序示例代码显示效果和原始的代码保持一致,如何写xsl和xml?

//vc++ example

#include <btn.h>

void main()
{
     int a = 0; // a plus 1;
     a = a + 1;
}


--  作者:菜籽
--  发布时间:1/27/2005 4:48:00 PM

--  
hehe,换行'\n'要进行处理啊可以转换成html代码<br/>试试啊


--  作者:zaxacava
--  发布时间:1/27/2005 5:18:00 PM

--  
怎么进行转换?直接在xml中写<br/>是没问题,可是这样做效率太低,因为有上千段程序代码等着进行类似的处理,还有其他的类似于“<” “>” 等特殊字符怎么处理呢?


--  作者:菜籽
--  发布时间:1/28/2005 12:43:00 AM

--  
写一个替换的函数将'\n'替换为<br/>,然后将<  与 > 进行转义啊,呵呵
--  作者:sam
--  发布时间:1/28/2005 10:44:00 AM

--  
在html中只需要把相应的内容放到<pre></pre>即可

1.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="2.xslt"?>
<text>
<![CDATA[
//vc++ example

#include <btn.h>

void main()
{
     int a = 0; // a plus 1;
     a = a + 1;
     <br>dir</br>
}
]]>
</text>

2.xslt
<?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" version="1.0" encoding="UTF-8" indent="yes"/>
 <xsl:template match="/">
  <html>
   <head>
    <title/>
   </head>
   <body>
    <pre>
     <xsl:value-of select="*"/>
    </pre>
   </body>
  </html>
 </xsl:template>
</xsl:stylesheet>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms