なぜ空白のXMLノードの概念が必要なのですか?それらはXML解析の錬金術にどのような利点をもたらしますか?
ここでのPerlの簡単な例XML::LibXML
:
use strict;
use warnings;
use feature 'say';
use XML::LibXML;
my $xml = XML::LibXML->load_xml( string => <<'XMLDOC' );
<alphabet>
<child name='alpha'/>
<child name='bravo'/>
<child name='charlie'/>
<child name='delta'/>
<child name='echo'/>
</alphabet>
XMLDOC
my ( $parent ) = $xml->findnodes( '/alphabet' );
my @all_kids = $parent->childNodes;
my @real_kids = $parent->nonBlankChildNodes;
say 'All kids : ', scalar @all_kids; # '11'
say 'Real kids : ', scalar @real_kids; # '5' => 6 blank child nodes
私が困惑しているのは、パーサーがすべての子ノードを取得することと、空白でないノードのみを取得することを区別していることです。
その場合、これらの空白ノードには少なくとも1つの適切な使用が必要であるように思われます。それらの用途が何であるかを正確に知ることは興味深いでしょう。