Asp.net 从xhtml动态创建xslt的最佳方法是什么?
我有一个XHTML模板。我想动态地将xhtml文件转换为xslt。做这件事最好的方法是什么? 下面是XHTML内容Asp.net 从xhtml动态创建xslt的最佳方法是什么?,asp.net,xslt,xhtml,Asp.net,Xslt,Xhtml,我有一个XHTML模板。我想动态地将xhtml文件转换为xslt。做这件事最好的方法是什么? 下面是XHTML内容 <div> {:header:} <br /> {:date:} <p> {:mailingattn:} <br /> {:facilityname:} <br /> {:facilitystreet:} <br /> {:facilitystreet2:} <br /> {:facilitycit
<div>
{:header:}
<br />
{:date:}
<p>
{:mailingattn:} <br />
{:facilityname:} <br />
{:facilitystreet:} <br />
{:facilitystreet2:} <br />
{:facilitycity:}, {:facilitystate:} {:facilityzip:} <br />
{:facilitycountry:}
</p>
<p>
{:message:}
</p>
<p>
Sincerely,<br />
{:signature:}
</p>
{:footer:}
</div>
{:头:}
{:日期:}
{:mailingattn:}
{:设备名称:}
{:facilitystreet:}
{:facilitystreet2:}
{:facilitycity:},{:facilitystate:}{:facilityzip:}
{:设施国家:}
{:消息:}
真诚地说,
{:签名:}
{:页脚:}
<代码> > p>您是否考虑使用XPROC和?/P>
我不知道XHTML文件中使用的宏的确切语义,但是下面的转换生成了一个XSLT样式表,希望它是等效的,如果不是,应该很容易根据您的需要进行定制:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:element name="xsl:stylesheet">
<xsl:attribute name="version" select="'2.0'"/>
<xsl:element name="xsl:template">
<xsl:attribute name="match" select="'/*'"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="text()">
<xsl:variable name="regex">\{:([a-zA-Z0-9]*):\}</xsl:variable>
<xsl:analyze-string select="." regex="{$regex}">
<xsl:matching-substring>
<xsl:element name="xsl:value-of">
<xsl:attribute name="select" select="regex-group(1)"/>
</xsl:element>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>
</xsl:stylesheet>
\{:([a-zA-Z0-9]*):\}
谢谢你,迈克尔。。请告诉我如何将此格式用于模板?对不起,我不理解这个问题。