私は、VS2010で比較的単純なXMLファイルを変換するXMLスタイルシートを開発しました。 VSでXSLTデバッグを実行すると、期待される出力が新しいウィンドウにレンダリングされます。ブラウザ内XML変換が機能しない
だから私は、その後、ソースXMLにXSLTファイルへのリンクを追加しました:
<?xml-stylesheet type="text/xsl" href="ABC.xslt"?>
を、私は、ブラウザでこのファイルを表示する場合しかし、私は変換結果を得ることはありません。 IE9、Firefox、Chrome
XSLT(おそらく変更された形式)は、最終的なXMLを生成するために第三者によって使用されるため、必須ではありませんが、出力outデータベース(開始XMLを生成する)から、一度変換されると、最終的なXMLのように見えます。
XML例:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="abc.xslt"?>
<afterTreatmentSystemRequest>
<afterTreatmentSystem>
<ID>93073010005597</ID>
<shipmentDate>20120330</shipmentDate>
<technicalApprovalDate>20120330</technicalApprovalDate>
</afterTreatmentSystem>
<executionSettingsDate>2012-03-30T14:17:26</executionSettingsDate>
</afterTreatmentSystemRequest>
XSLT:
<?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="xml" indent="yes"/>
<xsl:template match="/afterTreatmentSystemRequest">
<nsmajorassemblyai:storeAfterTreatmentSystemRequest category="MajorAssemblyAdapter" delta="true" version="2.10" xmlns:nsmajorassemblyai="http://majorassembly.mysite.com/ai">
<requestHeader userId="d2vswen"/>
<xsl:apply-templates select="afterTreatmentSystem" />
<xsl:apply-templates select="executionSettingsDate" />
</nsmajorassemblyai:storeAfterTreatmentSystemRequest>
</xsl:template>
<xsl:template match="afterTreatmentSystem">
<afterTreatmentSystem delta="true" dataCardAvailable="true">
<xsl:attribute name="id">
<xsl:value-of select="ID"/>
</xsl:attribute>
<activeCustomer addressCity="" addressCountry="" addressStreet="" addressZip="" customerNumber="" firstname="" name=""/>
<activeProductDate>
<xsl:attribute name="shipmentDate">
<xsl:value-of select="shipmentDate"/>
</xsl:attribute>
<xsl:attribute name="technicalApprovalDate">
<xsl:value-of select="technicalApprovalDate"/>
</xsl:attribute>
</activeProductDate>
</afterTreatmentSystem>
</xsl:template>
<xsl:template match="executionSettingsDate">
<executionSettings causation="plant" issueThreshold="err" systemPriority="2" unresolvedConflictAction="notifyAdmin" userId="d2vswen">
<xsl:attribute name="date">
<xsl:value-of select="."/>
</xsl:attribute>
</executionSettings>
</xsl:template>
</xsl:stylesheet>
UPDATE: 私は、XMLとXSLのセグメント再挿入した - 彼らはうまく機能しているバージョンと一致することVS2010でIE Developer Tools(F12)を使用するためのDimitreの提案に続いて、私は変換の一部がであることがわかりましたが、私はまだexecutionSettings要素がありません。
予想される出力は:
<?xml version="1.0" encoding="utf-8"?>
<nsmajorassemblyai:storeAfterTreatmentSystemRequest category="MajorAssemblyAdapter" delta="true" version="2.10" xmlns:nsmajorassemblyai="http://majorassembly.mysite.com/ai">
<requestHeader userId="d2vswen" />
<afterTreatmentSystem delta="true" dataCardAvailable="true" id="93073010005597">
<activeCustomer addressCity="" addressCountry="" addressStreet="" addressZip="" customerNumber="" firstname="" name="" />
<activeProductDate shipmentDate="20120330" technicalApprovalDate="20120331" />
</afterTreatmentSystem>
<executionSettings causation="plant" issueThreshold="err" systemPriority="2" unresolvedConflictAction="notifyAdmin" userId="d2vswen" date="2012-03-30T14:17:26" />
</nsmajorassemblyai:storeAfterTreatmentSystemRequest>
ブラウザで - XMLが整形式ではありませんXML文書。正してください。引き続き同じ結果が得られる場合は、ファイル 'abc.xslt'がXMLファイルと同じディレクトリにあることを確認してください。 –
XMLは整形式であり、両方のファイルが同じフォルダにあります。 – CJM
CJM:私の答えで言われたように、変換はOKを実行し、これは検証できます。 HTMLではないので、ブラウザは結果を表示しません。 –