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>
ċ
XSLT 應用.zip
(1k)
李智,
2013年5月22日 上午3:40