誰かが私が抱えているトリッキーな問題で私を喜ばせるのを手伝ってくれるだろうか。おそらくここでは不可能なことを尋ねますが、何か提案を聞くことに興味があるでしょう。
ノードの1つにページのHTMLを含むXMLファイルがあります。そのノードのデータを取得し、そこからHTMLファイルを作成する方法を教えてください。したがって、以下のXMLの例から、cell[2]
ノードを変換して選択//dvm/rows/row
し、別のファイルに配置して、HTMLマークアップが何を表示し、コードではなく適切なWebページとして表示するかを実際に確認できるようにします。
このようにXSLを入れたら、うまくいくでしょうか?
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="html"/>
<xsl:template match="/">
<xsl:value-of select="//dvm/rows/row/cell[2]" disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>
XMLは次のとおりです。
<dvm>
<description>This is a DVM file</description>
<columns>
<column name="lang"/>
<column name="text"/>
<column name="code" qualifier="true" order="1"/>
<column name="type" qualifier="true" order="2"/>
<column name="subj"/>
<column name="urem"/>
<column name="vreq"/>
</columns>
<rows>
<row>
<cell>English(UK)</cell>
<cell><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My HTML File</title>
</head>
<body>
<div class="text">
<p>This is a line of text</p>
<p>This is a line of text</p>
<p>This is a line of text</p>
</div>
</body>
</html>]]>
</cell>
<cell>Code 1</cell>
<cell>Text</cell>
<cell>HTML Block 1</cell>
<cell/>
<cell/>
</row>
</rows>
</dvm>