나는 Xpath를 사용하여 내용을 식별할 수 있을 만큼 규칙성을 갖춘 긴 인간 생성 XML 파일을 가지고 있습니다. HTML 테이블로 다시 포맷하려고 합니다.
소스 자료는 기술적으로 단지 시각적 효과를 위한 표 형식으로 되어 있습니다(시작하지 마세요). 문제가 있는 부분은 각 항목의 설명 부분에 임의의 마크업이 포함될 수 있다는 것입니다. 이 마크업은 추가 처리를 위해 전달해야 합니다. 설명의 내용을 어떻게 가져와 적절하게 처리하는지 파악하지 못했습니다.
value-of 또는 copy-of를 사용하면 원하는 결과를 얻을 수 없습니다. 나는 아마도 분명한 것을 놓치고있을 것입니다.
샘플 문서:
<?xml version="1.0" encoding="UTF-8"?>
<manual>
<body>
<chapter>
<table>
<thead>
<row>
<entry>
<para>Some parameter name</para>
</entry>
<entry>
<para>1</para>
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<para>Range</para>
</entry>
<entry>
<para>1–10</para>
</entry>
</row>
<row>
<entry>
<para>Description</para>
</entry>
<entry>
<para>Sets the type of process module.</para>
<para>There can be <emphasis>more arbitrary markup</emphasis> in here.</para>
<list>
<item>Even a list</item>
</list>
</entry>
</row>
</tbody>
</table>
<!-- and so on -->
</chapter>
</body>
</manual>
나는 다음 XSLT 스니펫을 변형해 보았습니다.
<xsl:for-each select="table">
<tr>
<!-- insert additional code here -->
<td class="desc"> <xsl:value-of select="//tbody/row[2]/entry[2]/*"><xsl:apply-templates select="@*|node()" /></xsl:value-of> </td>
</tr>
</xsl:for-each>
답변1
나는 그것을 지나치게 생각하고 있었다. 아니면 생각이 부족할 수도 있습니다.
<td class="desc">
<xsl:apply-templates select="tgroup/tbody/row[2]/entry[2]/*" />
</td>