0
私はd3.jsツリーの要素型に基づいてXMLスキーマ要素をツリーに表示するように作業しています。d3.jsデータ値に基づいて異なるSVG要素を追加する
私は、次のようなコードを持っている:
// Enter any new modes at the parent's previous position.
var nodeEnter = node.enter().append('g')
.attr('class', 'node')
.attr("transform", function(d) {
return "translate(" + source.y0 + "," + source.x0 + ")";
})
.on('click', clickXSD)
.on('dblclick', dblclickXSD);
nodeEnter.append('rect')
.filter(function(d) { return d.data.elementType == "xs:element" })
.attr('class', 'node')
.attr('y', -16)
.attr('rx', 5)
.attr('ry', 5)
.attr('width', function(d) { return d.data.y_size + 50; })
.attr('height', function(d) { return 32; })
.style("fill", function(d) {
return d._children ? "lightsteelblue" : "lemonchiffon";
});
私はコードにのようなものを実装することで、少しクリーン作ることができるようにしたいと思います:
nodeEnter.xs-element()
.filter(function(d) { return d.data.elementType == "xs:element" })
または類似した何かをして、持っています関数を使用してxs:要素を描画し、次にxs:要素などを描画する関数を作成します。