Wordでテキストデータだけを取り出すXSLT
Wordで書式付で保存したXMLデータから書式データを取り除くには、XSLTを使うと良いでしょう。
■ Wordでテキストデータだけを取り出すXSLT
テキスト部分のみをpara要素(<para>〜</para>)にするXML文書サンプル <?xml version="1.0" encoding="SHIFT_JIS" ?> <xsl:stylesheet version=1.0 xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" exclude-result-perfixes="w" xmlns:xslns="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="SHIFT_JIS indent="yes" /> <xsl:template match /> <document> <xsl:apply-templates select="//w:body /> //本文パートのみテンプレートを使用 </document> <xsl:template /> <xsl:template match="w:p[.//w:t]"> //w:t要素を子孫に持つw:p要素のテンプレート <para> <xsl:apply-template select=".//w:t" /></para> //w:t要素にテンプレートを適用している。 //ここでは、組み込みテンプレートによって、内容部分が取り出されることになる <xsl:template /> <xsl:template match="w:binData"> //w:binData要素(バイナリデータ)用のテンプレート。何も行わない <xsl:template /> </xsl:stylesheet> <<<戻る
テキスト部分のみをpara要素(<para>〜</para>)にするXML文書サンプル
<?xml version="1.0" encoding="SHIFT_JIS" ?> <xsl:stylesheet version=1.0 xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" exclude-result-perfixes="w" xmlns:xslns="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="SHIFT_JIS indent="yes" /> <xsl:template match /> <document> <xsl:apply-templates select="//w:body /> //本文パートのみテンプレートを使用 </document> <xsl:template /> <xsl:template match="w:p[.//w:t]"> //w:t要素を子孫に持つw:p要素のテンプレート <para> <xsl:apply-template select=".//w:t" /></para> //w:t要素にテンプレートを適用している。 //ここでは、組み込みテンプレートによって、内容部分が取り出されることになる <xsl:template /> <xsl:template match="w:binData"> //w:binData要素(バイナリデータ)用のテンプレート。何も行わない <xsl:template /> </xsl:stylesheet>
<<<戻る