我从.sgm文件下面的示例SGML的数据,我想这个转换中XMLSGML到XML皈依
<?dtd name="viewed">
<?XMLDOC>
<viewed >xyz
<cite>
<yr>2010
<pno cite="2010 abc 1188">10
<?/XMLDOC>
<?XMLDOC>
<viewed>abc.
<cite>
<yr>2010
<pno cite="2010 xyz 5133">9
<?/XMLDOC>
输出应该是这样的:
<index1>
<num viewed="xyz"/>
<heading>xyz</heading>
<index-refs>
<link caseno="2010 abc 1188</link>
</index-refs>
</index-1>
<index1>
<num viewed="abc"/>
<heading>abc</heading>
<index-refs>
<link caseno="2010 xyz 5133</link>
</index-refs>
</index-1>
可这是在C#中完成,或者我们可以使用xslt 2.0来做这种转换?
你需要一个SGML解析器做这适当。 XSLT 2.0不提供这样的解析器;理论上你可以在XSLT 2.0中编写一个,但这将是一个巨大的痛苦。我不知道在C#中解析SGML有什么支持。 – LarsH 2010-12-15 17:00:16