Delphi の TXMLDocument クラスを使用し、TransformNode メソッドを使用して XSLT 変換を実行する実用的なコードがいくつかあります。
<msxml:script>
しかし、XSLT Javascript 関数 (タグ)を有効にする必要があります。これは、のAllowXsltScript
プロパティIXMLDOMDocument2
を true に設定する必要があることを意味します。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms760290(v=vs.85).aspx
私はこれを成功裏に達成しました - ただし、Delphi ライブラリ関数のソースCreateDOMDocument
をmsxmldom.pas
.
function CreateDOMDocument: IXMLDOMDocument;
var doc :IXMLDOMDocument2;
begin
doc := TryObjectCreate([CLASS_DOMDocument60, CLASS_DOMDocument40, CLASS_DOMDocument30,
CLASS_DOMDocument26, msxml.CLASS_DOMDocument]) as IXMLDOMDocument2;
if not Assigned(doc) then
raise DOMException.Create(SMSDOMNotInstalled);
doc.setProperty('AllowXsltScript', true); // Allow XSLT scripts!!
Result := doc;
end;
明らかに、これは満足のいくものではありません。では、ライブラリ コードを変更せずに IXMLDOMDocument2 オブジェクトにアクセスするにはどうすればよいでしょうか?