anchor.diff:      });
       test('whitespace after prolog', () {
         assetParseInvariants(
  -          '<?xml version="1.0" encoding="UTF-8"?>\n\t<schema></schema>\t\n');
  +          '<?xml version="1.0" encoding="UTF-8"?>\n\t'
  +          '<schema></schema>\t\n');
       });
       test('parse errors', () {
         assertParseError('<data></tada>', 'Expected </data>, but found </tada>');
  
positive.code:       var xml = builder.build();
        assertTreeInvariants(xml);
        var actual = xml.toString();
        var expected =
            '<schema xmlns="http://www.w3.org/2001/XMLSchema" lang="en">'
            '<element />'
            '</schema>';
        expect(actual, expected);
      });
      test('undefined namespace', () {
        var builder = new XmlBuilder();
        expect(() => builder.element('element', namespace: 'http://1.foo.com/'),
            throwsArgumentError);
      });
      test('invalid namespace', () {
        var builder = new XmlBuilder();
        builder.element('element', nest: () {
          expect(() => builder.namespace('http://1.foo.com/', 'xml'),
              throwsArgumentError);
          expect(() => builder.namespace('http://2.foo.com/', 'xmlns'),
              throwsArgumentError);
        });
        var actual = builder.build().toString();
        var expected = '<element />';
  
negative.code:     });
    });
    group('axis', () {
      var bookXml = '<book><title lang="en" price="12.00">XML</title><description/></book>';
      var book = parse(bookXml);
      void verifyIterator(Iterable iterable) {
        var iterator = iterable.iterator;
  