XSLT 經驗談:電子報新聞敘事書寫新方式

應用場景

目前電子報中新聞敘事寫方式對後續資料分析 (中文分詞及文字探勘) 上,造成許多困擾。

本文運用 XSLT 技術,在不影響輸出習慣為前提下,卻又能蘊藏後續資料分析所需之資訊,可謂好處多多。

輸出範例

範例資料

<?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="News.xsl"?> <News title='菲總統:願與台締漁業協議' alternative='菲律賓 總統 台灣 漁業協議'> <Paragraph> <pp delimiter=','> <t>解決</t> <t wight='5' alternative='台灣'>台方</t> <t wight='5'>漁民</t> <t stopword='1'></t> <t wight='5'>槍殺</t> <t>引發</t> <t stopword='1'></t> <t wight='5'>外交糾紛</t> </pp> <pp delimiter='。' newline='1'> <t stopword='1'>之後</t> <t wight='5' alternative='菲律賓'>菲國</t> <t>願意</t> <t stopword='1'></t> <t wight='5'>台灣</t> <t>商討</t> <t>締結</t> <t wight='5'>漁業協議</t> <t>事宜</t> </pp> <pp delimiter=','> <t stopword='1'></t> <t>對於</t> <t alternative='台灣'>中華民國</t> <t alternative='總統'>領導人</t> <t>呼籲</t> <t>民眾</t> <t wight='5'>冷靜</t> </pp> <pp delimiter=','> <t>善待</t> <t stopword='1'></t> <t alternative='台灣'></t> <t>工作</t> <t stopword='1'></t> <t alternative='菲律賓 勞工'>菲勞</t> </pp> <pp delimiter='。' newline='1'> <t wight='5' alternative='菲律賓 總統'>艾奎諾</t> <t stopword='1'></t> <t>表示</t> <t wight='5'>感謝</t> </pp> </Paragraph> </News>

輸出範例格式

<?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/News"> <html> <body> <p><h2><xsl:value-of select="@title"/></h2></p> <div style='margin-left:40px;margin-right:40px'> <xsl:for-each select="Paragraph"> <xsl:for-each select="pp"> <xsl:for-each select="t"> <xsl:value-of select="."/> </xsl:for-each> <xsl:value-of select="@delimiter"/> <xsl:if test="@newline = '1'"> <br /> </xsl:if> </xsl:for-each> </xsl:for-each> </div> </body> </html> </xsl:template> </xsl:stylesheet>