私はXSLTテンプレートを使用してHTMLにXMLを変換するために、このコードを使用します。なぜXslCompiledTransformはHTML出力にMETAタグを追加しますか?
string uri = Server.MapPath("~/template.xslt");
XslCompiledTransform xsl = new XslCompiledTransform();
xsl.Load(uri);
XDocument xml = new XDocument(new XElement("Root"));
StringBuilder builder = new StringBuilder();
XmlReader reader = xml.CreateReader();
XmlWriter writer = XmlWriter.Create(builder, xsl.OutputSettings);
xsl.Transform(reader, writer);
writer.Close();
私のテンプレートは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes" />
<xsl:template match="Root">
<html>
<head>...
出力は、しかし、それはMETAタグを含む正しいです。どのようにMETAタグを生成しないように変換を無効にするには?
1より高速な答えをXML名前空間を追加したい場合。 [HTML互換性ガイドライン](http://www.w3.org/TR/xhtml1/#guidelines) –
に続くxup出力XHTML文書のための 'xml'シリアライズメソッドを使用することが可能です.HTML出力には終了タグ。私は、XHTMLが正しく閉じたタグを持っていると思います。 – jlp