BEGIN {print "1..3\n";} END {print "not ok 1\n" unless $loaded;} use XML::XQL; use XML::XQL::DOM; use XML::XQL::Debug; $loaded = 1; print "ok 1\n"; my $test = 1; sub assert_ok { my $ok = shift; print "not " unless $ok; ++$test; print "ok $test\n"; $ok; } sub assert_output { my $str = shift; $^W=0; my $data = join('',); #print "{{$data}}\n{{$str}}\n"; assert_ok ($str eq $data); } #Test 2 $dom = new XML::DOM::Parser; my $doc = $dom->parsefile (XML::XQL::Debug::filename("samples/REC-xml-19980210.xml")); assert_ok ($doc); @result = XML::XQL::solve ('//p[termdef =~ "/entit/"]//prod', $doc); $result = XML::XQL::Debug::str (\@result); #print $result; assert_output ($result); __DATA__ Char #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. EntityDecl GEDecl | PEDecl GEDecl '<!ENTITY' S Name S EntityDef S? '>' PEDecl '<!ENTITY' S '%' S Name S PEDef S? '>' EntityDef EntityValue | (ExternalID NDataDecl?) PEDef EntityValue | ExternalID ExternalID 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral NDataDecl S 'NDATA' S Name NotationDecl '<!NOTATION' S Name S (ExternalID | PublicID) S? '>' PublicID 'PUBLIC' S PubidLiteral