# File tests/tokenizertester.rb, line 221
    def test_param_entities
	toker = NQXML::Tokenizer.new('<?xml version="1.0"?>
<!DOCTYPE test [
<!ENTITY % xx \&#37;zz;\>
<!ENTITY % zz \&#60;!ENTITY tricky "error-prone" >\ >
<!ENTITY % yy \%zz;\ >
%xx;
]>
<test>This sample shows a &tricky; method.</test>'
	)

	newline = NQXML::Text.new("\n", "\n")
	xx = NQXML::ParameterEntityTag.new('xx', '%zz;', nil,
					   '<!ENTITY % xx \&#37;zz;\>')
	zzSrc = '<!ENTITY % zz \&#60;!ENTITY tricky "error-prone" >\ >'
	zz = NQXML::ParameterEntityTag.new('zz',
					   '<!ENTITY tricky "error-prone" >',
					   nil, zzSrc)
	yySrc = '<!ENTITY % yy \%zz;\ >'
	yy = NQXML::ParameterEntityTag.new('yy',
					   '<!ENTITY tricky "error-prone" >',
					   nil, yySrc)

	tricky = NQXML::GeneralEntityTag.new('tricky', 'error-prone', nil, nil,
					     '<!ENTITY tricky "error-prone" >')
	
	doctype = NQXML::Doctype.new('test', nil,
				     [xx, zz, yy, tricky],
'<!DOCTYPE test [
<!ENTITY % xx \&#37;zz;\>
<!ENTITY % zz \&#60;!ENTITY tricky "error-prone" >\ >
<!ENTITY % yy \%zz;\ >
%xx;
]>'
				     )
	expected = [
	    NQXML::XMLDecl.new('xml', {'version'=>'1.0'},
			       '<?xml version="1.0"?>'),
	    newline,
	    doctype,
	    newline,
	    NQXML::Tag.new('test', {}, false, '<test>'),
	    NQXML::Text.new('This sample shows a error-prone method.'),
	    NQXML::Tag.new('test', nil, true, '</test>')
	]

	i = 0
	toker.each { | entity |
	    assert_equal(expected[i], entity)
	    if entity.instance_of?(NQXML::Doctype)
		assert_equal(4, entity.entities.length)
		assert_equal(xx, entity.entities[0])
		assert_equal(zz, entity.entities[1])
		assert_equal(yy, entity.entities[2])
		assert_equal(tricky, entity.entities[3])
	    end
	    i += 1
	}
    end