1
私はここで見つけたすべてのソリューションを試しましたが、さらに大きなGoogle検索もありましたが、何も動作していないようです。ここに私の問題があります...私は私がGoogle Visualization APIを使って視覚化したいXMLのデータを持っています。データソースで何かをする代わりに、私が必要とするものを生成するためにXSLを使うことができればと思っていました(私の理由があります)。しかし、javascriptコードは私の出力に表示されません。これも可能ですか?xmlとxslを使用してjavascriptを生成
マイXML
<DocumentElement>
<QueryResults>
<Year>2000</Year>
<Population>100000</Population>
</QueryResults>
<QueryResults>
<Year>2001</Year>
<Population>105000</Population>
</QueryResults>
</DocumentElement>
私のXSLファイル
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8"/>
<xsl:template match="/">
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1', {packages:['barchart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Year');
data.addColumn('string', 'Population');
data.addRows(2); // hard-coded for testing
<xsl:for-each select="DocumentElement/QueryResults">
data.setValue(0, 0, '<xsl:value-of select="Year"/>');
data.setValue(0, 1, '<xsl:value-of select="Population"/>');
</xsl:for-each>
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240, is3D: true, title: 'Population'});
}
</script>
<div id="chart_div"> </div>
</xsl:template>
</xsl:stylesheet>
マイ出力
<!-- notice no javascript -->
<div id="chart_div"> </div>
私が貼り付けたのは、まさに私が仕事をしなければならないXML出力です。次に、サードパーティのコンポーネントは、XMLと私のXSLに基づいてレンダリング...それは何が起こっているのかを見つけるためにレンダラーを掘るかもしれないように聞こえる。ありがとう。 – NJChim
あなたは私の質問に気にならない場合、どのサードパーティのコンポーネントですか?先ほど触れたように、私はあなたの入力をtest.xmlとtest.xslにコピーし、スタイルシート指示文を追加しました。おそらくあなたのツールチェインではちょうど何かだと思います。 –
DNNレポートモジュールからXMLが吐き出され、ビルトインのXSLビジュアライゼーションを使用できるかどうかを確認しています。私はHTMLビジュアライザーを使って作業していますが、それは醜いです。あなたがDNNに精通していないなら、これはおそらくあなたにとって何の意味もありません。 :) – NJChim