summaryrefslogtreecommitdiffstats
path: root/tests/auto/qxmlsimplereader/xmldocs/valid
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qxmlsimplereader/xmldocs/valid')
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.ent0
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.ent4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.entbin0 -> 4 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml.ref11
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.entbin0 -> 54 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml.ref11
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.ent0
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml.ref14
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml.ref12
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.entbin0 -> 12 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml13
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml.ref47
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml14
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml.ref47
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml.ref16
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.ent0
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-1.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-2.ent0
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-1.ent4
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-2.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-1.ent3
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-2.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml.ref8
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml.ref8
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml.ref8
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml.ref10
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.ent4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.ent4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml.ref8
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.ent5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml.ref8
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.ent4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml.ref8
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.ent5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.ent4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.ent5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml.ref12
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.ent2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.ent3
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml.ref7
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-1.ent3
-rwxr-xr-xtests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-2.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml2
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml.ref11
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml.ref11
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml.ref11
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml.ref20
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xmlbin0 -> 124 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xmlbin0 -> 132 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xmlbin0 -> 140 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml.ref20
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml.refbin0 -> 312 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml.ref15
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml.ref7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.bak5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.refbin0 -> 381 bytes
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml.ref17
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.ent1
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml.ref12
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml7
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml.ref8
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml.ref11
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml6
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml.ref10
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml5
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml.ref9
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml4
-rw-r--r--tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml.ref8
385 files changed, 2424 insertions, 0 deletions
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.ent
new file mode 100755
index 0000000..1cff3fd
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.ent
@@ -0,0 +1 @@
+Data
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml
new file mode 100644
index 0000000..147d70d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "001.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml.ref
new file mode 100644
index 0000000..355c937
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="001.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="001.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.ent
new file mode 100755
index 0000000..45f6d8e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.ent
@@ -0,0 +1 @@
+Data \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml
new file mode 100644
index 0000000..9eaf917
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "002.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml.ref
new file mode 100644
index 0000000..f843995
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="002.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="002.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.ent
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.ent
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml
new file mode 100644
index 0000000..bb60b66
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "003.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml.ref
new file mode 100644
index 0000000..79d3531
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="003.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="003.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.ent
new file mode 100755
index 0000000..3436f20
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.ent
@@ -0,0 +1 @@
+Data \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml
new file mode 100644
index 0000000..074498c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "004.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml.ref
new file mode 100644
index 0000000..38abcb2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="004.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="004.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.ent
new file mode 100755
index 0000000..c6e97f8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.ent
@@ -0,0 +1 @@
+<e/><e/><e/> \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml
new file mode 100644
index 0000000..82a6228
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (e*)>
+<!ELEMENT e EMPTY>
+<!ENTITY e SYSTEM "005.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml.ref
new file mode 100644
index 0000000..2601030
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="005.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="005.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.ent
new file mode 100755
index 0000000..4df2f0c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.ent
@@ -0,0 +1,4 @@
+Data
+<e/>
+More data
+<e/>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml
new file mode 100644
index 0000000..0b326ca
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA|e)*>
+<!ELEMENT e EMPTY>
+<!ENTITY e SYSTEM "006.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml.ref
new file mode 100644
index 0000000..17fd238
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="006.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="006.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.ent
new file mode 100755
index 0000000..ab1d696
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.ent
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml
new file mode 100644
index 0000000..825e3b2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "007.ent">
+]>
+<doc>X&e;Z</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml.ref
new file mode 100644
index 0000000..81e7ccd
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml.ref
@@ -0,0 +1,11 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="007.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="007.ent", ret={})
+ skippedEntity(name="e")
+ characters(ch="XZ")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.ent
new file mode 100755
index 0000000..c6ca61f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.ent
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml
new file mode 100644
index 0000000..3c001b6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "008.ent">
+]>
+<doc>X&e;Z</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml.ref
new file mode 100644
index 0000000..eb7f108
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml.ref
@@ -0,0 +1,11 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="008.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="008.ent", ret={})
+ skippedEntity(name="e")
+ characters(ch="XZ")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.ent
new file mode 100755
index 0000000..67c3297
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.ent
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml
new file mode 100644
index 0000000..a5866e5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "009.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml.ref
new file mode 100644
index 0000000..5c294de
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="009.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="009.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.ent
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.ent
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml
new file mode 100644
index 0000000..418e9b0
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "010.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml.ref
new file mode 100644
index 0000000..4dc03c6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="010.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="010.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.ent
new file mode 100755
index 0000000..b19be3a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.ent
@@ -0,0 +1 @@
+xyzzy
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml
new file mode 100644
index 0000000..2ceefa1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e PUBLIC "a not very interesting file" "011.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml.ref
new file mode 100644
index 0000000..c078139
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="a not very interesting file", systemId="011.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="a not very interesting file", systemId="011.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.ent
new file mode 100755
index 0000000..8eb1fb9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.ent
@@ -0,0 +1 @@
+&e4; \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml
new file mode 100644
index 0000000..5a8f009
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml
@@ -0,0 +1,9 @@
+<!DOCTYPE doc [
+<!ENTITY e1 "&e2;">
+<!ENTITY e2 "&e3;">
+<!ENTITY e3 SYSTEM "012.ent">
+<!ENTITY e4 "&e5;">
+<!ENTITY e5 "(e5)">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&e1;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml.ref
new file mode 100644
index 0000000..2af77a3
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml.ref
@@ -0,0 +1,14 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e1", value="&e2;")
+ internatlEntityDecl(name="e2", value="&e3;")
+ externalEntityDecl(name="e3", publicId="", systemId="012.ent")
+ internatlEntityDecl(name="e4", value="&e5;")
+ internatlEntityDecl(name="e5", value="(e5)")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="012.ent", ret={})
+ skippedEntity(name="e3")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.ent
new file mode 100755
index 0000000..7f25c50
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.ent
@@ -0,0 +1 @@
+<e/> \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml
new file mode 100644
index 0000000..7717c97
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml
@@ -0,0 +1,10 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (e)>
+<!ELEMENT e (#PCDATA)>
+<!ATTLIST e
+ a1 CDATA "a1 default"
+ a2 NMTOKENS "a2 default"
+>
+<!ENTITY x SYSTEM "013.ent">
+]>
+<doc>&x;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml.ref
new file mode 100644
index 0000000..92fb65a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml.ref
@@ -0,0 +1,12 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="e", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="e", aName="a2", type="", valueDefault="", value="")
+ externalEntityDecl(name="x", publicId="", systemId="013.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="013.ent", ret={})
+ skippedEntity(name="x")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.ent
new file mode 100755
index 0000000..470fd6f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.ent
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml
new file mode 100644
index 0000000..816fd1e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e SYSTEM "014.ent">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml.ref
new file mode 100644
index 0000000..a087786
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId="", systemId="014.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ resolveEntity(publicId="", systemId="014.ent", ret={})
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml
new file mode 100644
index 0000000..e91a108
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<!DOCTYPE foo SYSTEM "foo.dtd" [
+ <!ENTITY def "foo">
+]>
+<foo>
+ <!-- check that the call to skippedEntity() is inserted in the right place -->
+ <a>abc&undef;gh</a>
+ <b>&undef;gh</b>
+ <c>abc&undef;</c>
+ <d>&undef;</d>
+ <e>&undef;&def;&undef;&def;</e>
+ <e>a&undef;b&def;c&undef;d&def;e</e>
+</foo>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml.ref
new file mode 100644
index 0000000..67f1fbe
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml.ref
@@ -0,0 +1,47 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0' encoding='UTF-8' standalone='no'")
+ startDTD(name="foo", publicId="", systemId="foo.dtd")
+ internatlEntityDecl(name="def", value="foo")
+ endDTD()
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ characters(ch="\n ")
+ comment(ch=" check that the call to skippedEntity() is inserted in the right place ")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ characters(ch="abc")
+ skippedEntity(name="undef")
+ characters(ch="gh")
+ endElement(namespaceURI="", localName="a", qName="a")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="b", qName="b", atts=[])
+ skippedEntity(name="undef")
+ characters(ch="gh")
+ endElement(namespaceURI="", localName="b", qName="b")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="c", qName="c", atts=[])
+ characters(ch="abc")
+ skippedEntity(name="undef")
+ endElement(namespaceURI="", localName="c", qName="c")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="d", qName="d", atts=[])
+ skippedEntity(name="undef")
+ endElement(namespaceURI="", localName="d", qName="d")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[])
+ skippedEntity(name="undef")
+ characters(ch="foo")
+ skippedEntity(name="undef")
+ characters(ch="foo")
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[])
+ characters(ch="a")
+ skippedEntity(name="undef")
+ characters(ch="bfooc")
+ skippedEntity(name="undef")
+ characters(ch="dfooe")
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\n")
+ endElement(namespaceURI="", localName="foo", qName="foo")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml
new file mode 100644
index 0000000..a1fb393
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<!DOCTYPE foo SYSTEM "foo.dtd" [
+ <!ENTITY a1 "&a2;">
+ <!ENTITY a2 "&a3;">
+ <!ENTITY def "foo">
+]>
+<foo>
+ <a>abc&a1;gh</a>
+ <b>&a1;gh</b>
+ <c>abc&a1;</c>
+ <d>&a1;</d>
+ <e>&a1;&def;&a1;&def;</e>
+ <e>a&a1;b&def;c&a1;d&def;e</e>
+</foo>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml.ref
new file mode 100644
index 0000000..a7ed3a2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml.ref
@@ -0,0 +1,47 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0' encoding='UTF-8' standalone='no'")
+ startDTD(name="foo", publicId="", systemId="foo.dtd")
+ internatlEntityDecl(name="a1", value="&a2;")
+ internatlEntityDecl(name="a2", value="&a3;")
+ internatlEntityDecl(name="def", value="foo")
+ endDTD()
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ characters(ch="abc")
+ skippedEntity(name="a3")
+ characters(ch="gh")
+ endElement(namespaceURI="", localName="a", qName="a")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="b", qName="b", atts=[])
+ skippedEntity(name="a3")
+ characters(ch="gh")
+ endElement(namespaceURI="", localName="b", qName="b")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="c", qName="c", atts=[])
+ characters(ch="abc")
+ skippedEntity(name="a3")
+ endElement(namespaceURI="", localName="c", qName="c")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="d", qName="d", atts=[])
+ skippedEntity(name="a3")
+ endElement(namespaceURI="", localName="d", qName="d")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[])
+ skippedEntity(name="a3")
+ characters(ch="foo")
+ skippedEntity(name="a3")
+ characters(ch="foo")
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\n ")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[])
+ characters(ch="a")
+ skippedEntity(name="a3")
+ characters(ch="bfooc")
+ skippedEntity(name="a3")
+ characters(ch="dfooe")
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\n")
+ endElement(namespaceURI="", localName="foo", qName="foo")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml
new file mode 100644
index 0000000..ae745d4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<!DOCTYPE foo SYSTEM "foo.dtd" [
+ <!ENTITY a1 "&a2;">
+ <!ENTITY a2 "&a3;">
+ <!ENTITY def "foo">
+]>
+<foo>
+ <a attr="foo&a1;bar&def;ding"/>
+</foo>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml.ref
new file mode 100644
index 0000000..09f8e96
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml.ref
@@ -0,0 +1,16 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0' encoding='UTF-8' standalone='no'")
+ startDTD(name="foo", publicId="", systemId="foo.dtd")
+ internatlEntityDecl(name="a1", value="&a2;")
+ internatlEntityDecl(name="a2", value="&a3;")
+ internatlEntityDecl(name="def", value="foo")
+ endDTD()
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ characters(ch="\n ")
+ skippedEntity(name="a3")
+ startElement(namespaceURI="", localName="a", qName="a", atts=[{localName="attr", qName="attr", uri="", type="CDATA", value="foobarfooding"}])
+ endElement(namespaceURI="", localName="a", qName="a")
+ characters(ch="\n")
+ endElement(namespaceURI="", localName="foo", qName="foo")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.ent
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.ent
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml
new file mode 100644
index 0000000..2d6f41a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc SYSTEM "001.ent" [
+<!ELEMENT doc EMPTY>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml.ref
new file mode 100644
index 0000000..eea47ce
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="001.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.ent
new file mode 100755
index 0000000..67c3297
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.ent
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml
new file mode 100644
index 0000000..023fce8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc SYSTEM "002.ent" [
+<!ELEMENT doc EMPTY>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml.ref
new file mode 100644
index 0000000..cbaf6dc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="002.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-1.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-1.ent
new file mode 100755
index 0000000..931f3ad
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-1.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc EMPTY>
+<!ENTITY % e SYSTEM "003-2.ent">
+<!ATTLIST doc a1 CDATA %e; "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-2.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-2.ent
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-2.ent
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml
new file mode 100644
index 0000000..63a5e8b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "003-1.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml.ref
new file mode 100644
index 0000000..4f83c74
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="003-1.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-1.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-1.ent
new file mode 100755
index 0000000..40f7ff5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-1.ent
@@ -0,0 +1,4 @@
+<!ELEMENT doc EMPTY>
+<!ENTITY % e1 SYSTEM "004-2.ent">
+<!ENTITY % e2 "%e1;">
+%e1;
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-2.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-2.ent
new file mode 100755
index 0000000..61def75c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-2.ent
@@ -0,0 +1 @@
+<!ATTLIST doc a1 CDATA "value">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml
new file mode 100644
index 0000000..adc9201
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "004-1.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml.ref
new file mode 100644
index 0000000..e2d3af8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="004-1.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-1.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-1.ent
new file mode 100755
index 0000000..ade9599
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-1.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc EMPTY>
+<!ENTITY % e SYSTEM "005-2.ent">
+%e;
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-2.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-2.ent
new file mode 100755
index 0000000..bef50b1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-2.ent
@@ -0,0 +1 @@
+<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml
new file mode 100644
index 0000000..6bd44cf
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "005-1.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml.ref
new file mode 100644
index 0000000..8057322
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="005-1.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.ent
new file mode 100755
index 0000000..8f305a8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.ent
@@ -0,0 +1,2 @@
+<!ELEMENT doc EMPTY>
+<!ATTLIST doc a1 CDATA "w1" a2 CDATA "w2">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml
new file mode 100644
index 0000000..eb80bb7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc SYSTEM "006.ent" [
+<!ATTLIST doc a1 CDATA "v1">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml.ref
new file mode 100644
index 0000000..e2e2584
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="006.ent")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.ent
new file mode 100755
index 0000000..fbf4ca4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.ent
@@ -0,0 +1,2 @@
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml
new file mode 100644
index 0000000..38897e3
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "007.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml.ref
new file mode 100644
index 0000000..d96790f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="007.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.ent
new file mode 100755
index 0000000..fbf4ca4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.ent
@@ -0,0 +1,2 @@
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml
new file mode 100644
index 0000000..bf777a7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc PUBLIC "whatever" "008.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml.ref
new file mode 100644
index 0000000..08ba9c0
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="whatever", systemId="008.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.ent
new file mode 100755
index 0000000..fbf4ca4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.ent
@@ -0,0 +1,2 @@
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml
new file mode 100644
index 0000000..c17562f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc PUBLIC "whatever" "009.ent" [
+<!ATTLIST doc a2 CDATA "v2">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml.ref
new file mode 100644
index 0000000..d789785
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="whatever", systemId="009.ent")
+ attributeDecl(eName="doc", aName="a2", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.ent
new file mode 100755
index 0000000..52a28f5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.ent
@@ -0,0 +1,2 @@
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v2">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml
new file mode 100644
index 0000000..2786b32
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc SYSTEM "010.ent" [
+<!ATTLIST doc a1 CDATA "v1">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml.ref
new file mode 100644
index 0000000..6045d46
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="010.ent")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.ent
new file mode 100755
index 0000000..fbf4ca4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.ent
@@ -0,0 +1,2 @@
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml
new file mode 100644
index 0000000..03b482b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY % e SYSTEM "011.ent">
+%e;
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml.ref
new file mode 100644
index 0000000..09fd89b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="%e", publicId="", systemId="011.ent")
+ resolveEntity(publicId="", systemId="011.ent", ret={})
+ skippedEntity(name="%e")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.ent
new file mode 100755
index 0000000..7e372e6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.ent
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml
new file mode 100644
index 0000000..1967edb
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY % e SYSTEM "012.ent">
+%e;
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml.ref
new file mode 100644
index 0000000..8d90b18
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="%e", publicId="", systemId="012.ent")
+ resolveEntity(publicId="", systemId="012.ent", ret={})
+ skippedEntity(name="%e")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.ent
new file mode 100755
index 0000000..a3691d9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.ent
@@ -0,0 +1,4 @@
+<!ELEMENT doc (#PCDATA)>
+<![ INCLUDE [
+<!ATTLIST doc a1 CDATA "v1">
+]]>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml
new file mode 100644
index 0000000..cf44f26
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "013.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml.ref
new file mode 100644
index 0000000..d84839e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="013.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.ent
new file mode 100755
index 0000000..6eaf779
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.ent
@@ -0,0 +1,4 @@
+<!ELEMENT doc (#PCDATA)>
+<![ %e; [
+<!ATTLIST doc a1 CDATA "v1">
+]]>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml
new file mode 100644
index 0000000..bd08502
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc SYSTEM "014.ent" [
+<!ENTITY % e "INCLUDE">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml.ref
new file mode 100644
index 0000000..f9c8220
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="014.ent")
+ internatlEntityDecl(name="%e", value="INCLUDE")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.ent
new file mode 100755
index 0000000..00d2f30
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.ent
@@ -0,0 +1,5 @@
+<!ELEMENT doc (#PCDATA)>
+<![ %e; [
+<!ATTLIST doc a1 CDATA "v1">
+]]>
+<!ATTLIST doc a2 CDATA "v2">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml
new file mode 100644
index 0000000..e04e75f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc SYSTEM "015.ent" [
+<!ENTITY % e "IGNORE">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml.ref
new file mode 100644
index 0000000..de94a45
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="015.ent")
+ internatlEntityDecl(name="%e", value="IGNORE")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.ent
new file mode 100755
index 0000000..bf77ef8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.ent
@@ -0,0 +1,4 @@
+<!ELEMENT doc (#PCDATA)>
+<![%e;[
+<!ATTLIST doc a1 CDATA "v1">
+]]>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml
new file mode 100644
index 0000000..4ccf4af
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc SYSTEM "016.ent" [
+<!ENTITY % e "INCLUDE">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml.ref
new file mode 100644
index 0000000..7c234cf
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="016.ent")
+ internatlEntityDecl(name="%e", value="INCLUDE")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.ent
new file mode 100755
index 0000000..ffd9add
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e "<!ATTLIST doc a1 CDATA 'v1'>">
+%e;
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml
new file mode 100644
index 0000000..7fe18f4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "017.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml.ref
new file mode 100644
index 0000000..25cc198
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="017.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.ent
new file mode 100755
index 0000000..2d46f76
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e "'v1'">
+<!ATTLIST doc a1 CDATA %e;>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml
new file mode 100644
index 0000000..31e90f2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "018.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml.ref
new file mode 100644
index 0000000..3db7bc8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="018.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.ent
new file mode 100755
index 0000000..d18201a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e "'v1'">
+<!ATTLIST doc a1 CDATA%e;>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml
new file mode 100644
index 0000000..b7a18fa
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "019.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml.ref
new file mode 100644
index 0000000..9961aa9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="019.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.ent
new file mode 100755
index 0000000..815291c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.ent
@@ -0,0 +1,3 @@
+<!ENTITY % e "doc">
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST%e;a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml
new file mode 100644
index 0000000..d70892f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "020.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml.ref
new file mode 100644
index 0000000..fc9a053
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="020.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.ent
new file mode 100755
index 0000000..9f8f2af
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.ent
@@ -0,0 +1,3 @@
+<!ENTITY % e "doc a1 CDATA">
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST %e; "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml
new file mode 100644
index 0000000..70c2873
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "021.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml.ref
new file mode 100644
index 0000000..e6d9172
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="021.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.ent
new file mode 100755
index 0000000..26f2d8b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.ent
@@ -0,0 +1,3 @@
+<!ENTITY % e "INCLUDE[">
+<!ELEMENT doc (#PCDATA)>
+<![ %e; <!ATTLIST doc a1 CDATA "v1"> ]]>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml
new file mode 100644
index 0000000..b639f25
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "022.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml.ref
new file mode 100644
index 0000000..de3ddf7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="022.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.ent
new file mode 100755
index 0000000..e326881
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.ent
@@ -0,0 +1,5 @@
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e1 "do">
+<!ENTITY % e2 "c">
+<!ENTITY % e3 "%e1;%e2;">
+<!ATTLIST %e3; a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml
new file mode 100644
index 0000000..1c2484b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "023.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml.ref
new file mode 100644
index 0000000..a150bde
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="023.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.ent
new file mode 100755
index 0000000..aa6d0ec
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.ent
@@ -0,0 +1,4 @@
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e1 "'v1'">
+<!ENTITY % e2 'a1 CDATA %e1;'>
+<!ATTLIST doc %e2;>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml
new file mode 100644
index 0000000..96e1ecb
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "024.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml.ref
new file mode 100644
index 0000000..e97c61b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="024.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.ent
new file mode 100755
index 0000000..389d259
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.ent
@@ -0,0 +1,5 @@
+<!ELEMENT doc EMPTY>
+<!ENTITY % e "x">
+<!ENTITY % e "y">
+<!ENTITY % v "'%e;'">
+<!ATTLIST doc a1 CDATA %v;>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml
new file mode 100644
index 0000000..8fdbc14
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "025.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml.ref
new file mode 100644
index 0000000..1eca607
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="025.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.ent
new file mode 100755
index 0000000..bdc93af
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.ent
@@ -0,0 +1 @@
+<!ATTLIST doc a1 CDATA "w1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml
new file mode 100644
index 0000000..7b109c0
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE doc [
+<!ELEMENT doc ANY>
+<!ENTITY % e SYSTEM "026.ent">
+%e;
+<!ATTLIST doc a1 CDATA "x1" a2 CDATA "x2">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml.ref
new file mode 100644
index 0000000..1bea883
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml.ref
@@ -0,0 +1,12 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="%e", publicId="", systemId="026.ent")
+ resolveEntity(publicId="", systemId="026.ent", ret={})
+ skippedEntity(name="%e")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="doc", aName="a2", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.ent
new file mode 100755
index 0000000..712cce3
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.ent
@@ -0,0 +1,2 @@
+<!ENTITY % e "">
+<!ELEMENT doc (#PCDATA %e;)>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml
new file mode 100644
index 0000000..d0c8c7a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "027.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml.ref
new file mode 100644
index 0000000..d010327
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="027.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.ent
new file mode 100755
index 0000000..ac249d7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.ent
@@ -0,0 +1,2 @@
+<!ELEMENT doc (#PCDATA)>
+<![INCLUDE[<!ATTLIST doc a1 CDATA "v1">]]>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml
new file mode 100644
index 0000000..50e5248
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "028.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml.ref
new file mode 100644
index 0000000..8466141
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="028.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.ent
new file mode 100755
index 0000000..df94df5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc (#PCDATA)>
+<![IGNORE[<!ATTLIST doc a1 CDATA "v1">]]>
+<!ATTLIST doc a1 CDATA "v2">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml
new file mode 100644
index 0000000..07e226c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "029.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml.ref
new file mode 100644
index 0000000..0bffc4a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="029.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.ent
new file mode 100755
index 0000000..e386446
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc (#PCDATA)>
+<![IGNORE[]]>
+<![INCLUDE[]]>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml
new file mode 100644
index 0000000..01fc2be
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "030.ent">
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml.ref
new file mode 100644
index 0000000..51e7f03
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="030.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-1.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-1.ent
new file mode 100755
index 0000000..f7f94ab
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-1.ent
@@ -0,0 +1,3 @@
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e SYSTEM "031-2.ent">
+<!ENTITY e "<![CDATA[%e;]]>">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-2.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-2.ent
new file mode 100755
index 0000000..bef50b1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-2.ent
@@ -0,0 +1 @@
+<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml
new file mode 100644
index 0000000..c3fe5fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE doc SYSTEM "031-1.ent">
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml.ref
new file mode 100644
index 0000000..72ab9d9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="031-1.ent")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml
new file mode 100644
index 0000000..7fbef49
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml
new file mode 100644
index 0000000..2e3f1d8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc ></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml
new file mode 100644
index 0000000..c841b81
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc >
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml
new file mode 100644
index 0000000..a9c5756
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED>
+]>
+<doc a1="v1"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml.ref
new file mode 100644
index 0000000..2d7bfdf
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml
new file mode 100644
index 0000000..b069efe
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED>
+]>
+<doc a1 = "v1"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml.ref
new file mode 100644
index 0000000..2d7bfdf
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml
new file mode 100644
index 0000000..39a3463
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED>
+]>
+<doc a1='v1'></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml.ref
new file mode 100644
index 0000000..2d7bfdf
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml
new file mode 100644
index 0000000..cc3dc53
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#32;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml.ref
new file mode 100644
index 0000000..016a577
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch=" ")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml
new file mode 100644
index 0000000..b3370eb
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&amp;&lt;&gt;&quot;&apos;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml.ref
new file mode 100644
index 0000000..2c879a4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="&<>\"'")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml
new file mode 100644
index 0000000..0fa183e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#x20;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml.ref
new file mode 100644
index 0000000..016a577
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch=" ")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml
new file mode 100644
index 0000000..eb64d18
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED>
+]>
+<doc a1="v1" ></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml.ref
new file mode 100644
index 0000000..2d7bfdf
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml
new file mode 100644
index 0000000..4cac44b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED a2 CDATA #IMPLIED>
+]>
+<doc a1="v1" a2="v2"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml.ref
new file mode 100644
index 0000000..9fc96fd
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="doc", aName="a2", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="v1"}, {localName="a2", qName="a2", uri="", type="CDATA", value="v2"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml
new file mode 100644
index 0000000..6ce2a3e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc : CDATA #IMPLIED>
+]>
+<doc :="v1"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml.ref
new file mode 100644
index 0000000..00c76de
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName=":", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="", qName=":", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml
new file mode 100644
index 0000000..2f4aae4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc _.-0123456789 CDATA #IMPLIED>
+]>
+<doc _.-0123456789="v1"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml.ref
new file mode 100644
index 0000000..ef2903d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="_.-0123456789", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="_.-0123456789", qName="_.-0123456789", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml
new file mode 100644
index 0000000..47f1f72
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc abcdefghijklmnopqrstuvwxyz CDATA #IMPLIED>
+]>
+<doc abcdefghijklmnopqrstuvwxyz="v1"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml.ref
new file mode 100644
index 0000000..bbf1ff7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="abcdefghijklmnopqrstuvwxyz", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="abcdefghijklmnopqrstuvwxyz", qName="abcdefghijklmnopqrstuvwxyz", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml
new file mode 100644
index 0000000..861df8a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc ABCDEFGHIJKLMNOPQRSTUVWXYZ CDATA #IMPLIED>
+]>
+<doc ABCDEFGHIJKLMNOPQRSTUVWXYZ="v1"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml.ref
new file mode 100644
index 0000000..882da5a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="ABCDEFGHIJKLMNOPQRSTUVWXYZ", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="ABCDEFGHIJKLMNOPQRSTUVWXYZ", qName="ABCDEFGHIJKLMNOPQRSTUVWXYZ", uri="", type="CDATA", value="v1"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml
new file mode 100644
index 0000000..66b1973
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><?pi?></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml.ref
new file mode 100644
index 0000000..32c60b2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ processingInstruction(target="pi", data="")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml
new file mode 100644
index 0000000..827ba96
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><?pi some data ? > <??></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml.ref
new file mode 100644
index 0000000..604d975
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ processingInstruction(target="pi", data="some data ? > <?")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml
new file mode 100644
index 0000000..4570903f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><![CDATA[<foo>]]></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml.ref
new file mode 100644
index 0000000..21117d2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startCDATA()
+ characters(ch="<foo>")
+ endCDATA()
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml
new file mode 100644
index 0000000..3e6b74c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><![CDATA[<&]]></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml.ref
new file mode 100644
index 0000000..f95f625
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startCDATA()
+ characters(ch="<&")
+ endCDATA()
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml
new file mode 100644
index 0000000..f749551
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><![CDATA[<&]>]]]></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml.ref
new file mode 100644
index 0000000..ff6ff36
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startCDATA()
+ characters(ch="<&]>]")
+ endCDATA()
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml
new file mode 100644
index 0000000..13dda8c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><!-- a comment --></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml.ref
new file mode 100644
index 0000000..52bf68a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ comment(ch=" a comment ")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml
new file mode 100644
index 0000000..41d300e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><!-- a comment ->--></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml.ref
new file mode 100644
index 0000000..b299ce7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ comment(ch=" a comment ->")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml
new file mode 100644
index 0000000..3837b83
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml.ref
new file mode 100644
index 0000000..b59c216
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml
new file mode 100644
index 0000000..b0655c6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (foo)>
+<!ELEMENT foo (#PCDATA)>
+<!ENTITY e "&#60;foo></foo>">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml.ref
new file mode 100644
index 0000000..00f7fce
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="<foo></foo>")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml
new file mode 100644
index 0000000..ed01f36
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (foo*)>
+<!ELEMENT foo (#PCDATA)>
+]>
+<doc><foo/><foo></foo></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml.ref
new file mode 100644
index 0000000..6a7605c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml.ref
@@ -0,0 +1,11 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml
new file mode 100644
index 0000000..1ba033c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (foo*)>
+<!ELEMENT foo EMPTY>
+]>
+<doc><foo/><foo></foo></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml.ref
new file mode 100644
index 0000000..6a7605c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml.ref
@@ -0,0 +1,11 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml
new file mode 100644
index 0000000..ee02439
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (foo*)>
+<!ELEMENT foo ANY>
+]>
+<doc><foo/><foo></foo></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml.ref
new file mode 100644
index 0000000..6a7605c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml.ref
@@ -0,0 +1,11 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml
new file mode 100644
index 0000000..3d95747
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml.ref
new file mode 100644
index 0000000..dcda37d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0'")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml
new file mode 100644
index 0000000..909f6ff
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0'?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml.ref
new file mode 100644
index 0000000..dcda37d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0'")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml
new file mode 100644
index 0000000..3a7ddaa
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml
@@ -0,0 +1,5 @@
+<?xml version = "1.0"?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml.ref
new file mode 100644
index 0000000..dcda37d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0'")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml
new file mode 100644
index 0000000..a58e058
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml.ref
new file mode 100644
index 0000000..7d81068
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0' encoding='UTF-8'")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml
new file mode 100644
index 0000000..be55c8d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0' standalone='yes'?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml.ref
new file mode 100644
index 0000000..96d8f10
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0' standalone='yes'")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml
new file mode 100644
index 0000000..a3f9053
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml.ref
new file mode 100644
index 0000000..d56d96d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0' encoding='UTF-8' standalone='yes'")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml
new file mode 100644
index 0000000..7d52f31
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc/>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml
new file mode 100644
index 0000000..f109a8b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc />
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml
new file mode 100644
index 0000000..8ab2b3f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
+<?pi data?>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml.ref
new file mode 100644
index 0000000..db2cbb1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+ processingInstruction(target="pi", data="data")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml
new file mode 100644
index 0000000..f9b2113
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
+<!-- comment -->
+
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml.ref
new file mode 100644
index 0000000..12d6a77
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+ comment(ch=" comment ")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml
new file mode 100644
index 0000000..d14f41b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml
@@ -0,0 +1,6 @@
+<!-- comment -->
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
+
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml.ref
new file mode 100644
index 0000000..d24c10b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ comment(ch=" comment ")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml
new file mode 100644
index 0000000..0897316
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml
@@ -0,0 +1,5 @@
+<?pi data?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml.ref
new file mode 100644
index 0000000..9eb38b4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="pi", data="data")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml
new file mode 100644
index 0000000..12c419b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED>
+]>
+<doc a1="&quot;&lt;&amp;&gt;&apos;"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml.ref
new file mode 100644
index 0000000..81409bd
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="\"<&>'"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml
new file mode 100644
index 0000000..a59f536
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED>
+]>
+<doc a1="&#65;"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml.ref
new file mode 100644
index 0000000..13f83df
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="A"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml
new file mode 100644
index 0000000..5d7c650
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#00000000000000000000000000000000065;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml.ref
new file mode 100644
index 0000000..ed02b8c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="A")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml
new file mode 100644
index 0000000..a8095df
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ATTLIST doc a1 CDATA #IMPLIED>
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc a1="foo
+bar"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml.ref
new file mode 100644
index 0000000..3f898a1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="foo\r\nbar"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml
new file mode 100644
index 0000000..bee1d23
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml
@@ -0,0 +1,10 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (e*)>
+<!ELEMENT e EMPTY>
+<!ATTLIST e a1 CDATA "v1" a2 CDATA "v2" a3 CDATA #IMPLIED>
+]>
+<doc>
+<e a3="v3"/>
+<e a1="w1"/>
+<e a2="w2" a3="v3"/>
+</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml.ref
new file mode 100644
index 0000000..daab693
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml.ref
@@ -0,0 +1,20 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="e", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="e", aName="a2", type="", valueDefault="", value="")
+ attributeDecl(eName="e", aName="a3", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="\r\n")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[{localName="a3", qName="a3", uri="", type="CDATA", value="v3"}])
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\r\n")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="w1"}])
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\r\n")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[{localName="a2", qName="a2", uri="", type="CDATA", value="w2"}, {localName="a3", qName="a3", uri="", type="CDATA", value="v3"}])
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\r\n")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml
new file mode 100644
index 0000000..e2567f5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v1">
+<!ATTLIST doc a1 CDATA "z1">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml.ref
new file mode 100644
index 0000000..566221a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml
new file mode 100644
index 0000000..c50a284
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "v1">
+<!ATTLIST doc a2 CDATA "v2">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml.ref
new file mode 100644
index 0000000..7b1a28d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="doc", aName="a2", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml
new file mode 100644
index 0000000..a4c688c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>X
+Y</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml.ref
new file mode 100644
index 0000000..3af5bf2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="X\r\nY")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml
new file mode 100644
index 0000000..c6b2ded
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>]</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml.ref
new file mode 100644
index 0000000..0e84823
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="]")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml
new file mode 100644
index 0000000..c3cc797
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml.ref
new file mode 100644
index 0000000..72897d1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="£")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml
new file mode 100644
index 0000000..12303b1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml.ref
new file mode 100644
index 0000000..8f39355
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="เจมส์")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml
new file mode 100644
index 0000000..7ae8f6c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml.ref
new file mode 100644
index 0000000..71a89a9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="เจมส์", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="เจมส์", qName="เจมส์", atts=[])
+ endElement(namespaceURI="", localName="เจมส์", qName="เจมส์")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml
new file mode 100644
index 0000000..3f33a4c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>𐀀􏿽</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml.ref
new file mode 100644
index 0000000..0b806c9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="𐀀􏿽")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml
new file mode 100644
index 0000000..0d88f28
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ENTITY e "<e/>">
+<!ELEMENT doc (e)>
+<!ELEMENT e EMPTY>
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml.ref
new file mode 100644
index 0000000..2aa90a7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="<e/>")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="e", qName="e", atts=[])
+ endElement(namespaceURI="", localName="e", qName="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml
new file mode 100644
index 0000000..5d1c88b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml
@@ -0,0 +1,10 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+
+
+<doc
+></doc
+>
+
+
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml
new file mode 100644
index 0000000..da0292c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<?pi data?>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml.ref
new file mode 100644
index 0000000..dc3312b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ processingInstruction(target="pi", data="data")
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml
new file mode 100644
index 0000000..144871b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#x0000000000000000000000000000000000000041;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml.ref
new file mode 100644
index 0000000..ed02b8c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="A")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml
new file mode 100644
index 0000000..c1ac849
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (a*)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml
new file mode 100644
index 0000000..2ff23b2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ATTLIST doc a1 NMTOKENS #IMPLIED>
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc a1=" 1 2 "></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml.ref
new file mode 100644
index 0000000..0acf5f4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value=" 1 \t2 \t"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml
new file mode 100644
index 0000000..2171480
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml
@@ -0,0 +1,10 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (e*)>
+<!ELEMENT e EMPTY>
+<!ATTLIST e a1 CDATA #IMPLIED a2 CDATA #IMPLIED a3 CDATA #IMPLIED>
+]>
+<doc>
+<e a1="v1" a2="v2" a3="v3"/>
+<e a1="w1" a2="v2"/>
+<e a1="v1" a2="w2" a3="v3"/>
+</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml.ref
new file mode 100644
index 0000000..8a73895
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml.ref
@@ -0,0 +1,20 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="e", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="e", aName="a2", type="", valueDefault="", value="")
+ attributeDecl(eName="e", aName="a3", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="\r\n")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="v1"}, {localName="a2", qName="a2", uri="", type="CDATA", value="v2"}, {localName="a3", qName="a3", uri="", type="CDATA", value="v3"}])
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\r\n")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="w1"}, {localName="a2", qName="a2", uri="", type="CDATA", value="v2"}])
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\r\n")
+ startElement(namespaceURI="", localName="e", qName="e", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="v1"}, {localName="a2", qName="a2", uri="", type="CDATA", value="w2"}, {localName="a3", qName="a3", uri="", type="CDATA", value="v3"}])
+ endElement(namespaceURI="", localName="e", qName="e")
+ characters(ch="\r\n")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml
new file mode 100644
index 0000000..6cd6b43
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>X&#10;Y</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml.ref
new file mode 100644
index 0000000..ea1cbd4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="X\nY")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml
new file mode 100644
index 0000000..bbdc152
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#163;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml.ref
new file mode 100644
index 0000000..72897d1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="£")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml
new file mode 100644
index 0000000..f4ba530
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#xe40;&#xe08;&#xe21;ส์</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml.ref
new file mode 100644
index 0000000..8f39355
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="เจมส์")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml
new file mode 100644
index 0000000..9668f2d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE เจมส์ [
+<!ELEMENT เจมส์ (#PCDATA)>
+]>
+<เจมส์></เจมส์>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml.ref
new file mode 100644
index 0000000..71a89a9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="เจมส์", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="เจมส์", qName="เจมส์", atts=[])
+ endElement(namespaceURI="", localName="เจมส์", qName="เจมส์")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml
new file mode 100644
index 0000000..74a97aa
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#x10000;&#x10FFFD;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml.ref
new file mode 100644
index 0000000..579aeb5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml.ref
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml
new file mode 100644
index 0000000..f708f2b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY e "&#60;">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml.ref
new file mode 100644
index 0000000..ba31414
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="<")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml
new file mode 100644
index 0000000..a27340b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA #IMPLIED>
+<!-- 34 is double quote -->
+<!ENTITY e1 "&#34;">
+]>
+<doc a1="&e1;"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml.ref
new file mode 100644
index 0000000..d650af1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ comment(ch=" 34 is double quote ")
+ internatlEntityDecl(name="e1", value="\"")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="\""}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml
new file mode 100644
index 0000000..a0ccf77
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#13;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml.ref
new file mode 100644
index 0000000..9a2358d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="\r")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml
new file mode 100644
index 0000000..8ed806b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "&#13;">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml.ref
new file mode 100644
index 0000000..8ebf150
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="\r")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="\r")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml
new file mode 100644
index 0000000..2437f60
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!NOTATION n PUBLIC "whatever">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml.ref
new file mode 100644
index 0000000..c5685c6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ notationDecl(name="n", publicId="whatever", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml
new file mode 100644
index 0000000..eef097d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY % e "<!ELEMENT doc (#PCDATA)>">
+%e;
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml.ref
new file mode 100644
index 0000000..2525ef6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="%e", value="<!ELEMENT doc (#PCDATA)>")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml
new file mode 100644
index 0000000..ebfba23
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a ID #IMPLIED>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml.ref
new file mode 100644
index 0000000..0b8e512
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml
new file mode 100644
index 0000000..6ef39dc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a IDREF #IMPLIED>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml.ref
new file mode 100644
index 0000000..0b8e512
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml
new file mode 100644
index 0000000..217476d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a IDREFS #IMPLIED>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml.ref
new file mode 100644
index 0000000..0b8e512
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml
new file mode 100644
index 0000000..8b2354f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a ENTITY #IMPLIED>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml.ref
new file mode 100644
index 0000000..0b8e512
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml
new file mode 100644
index 0000000..33c0124
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a ENTITIES #IMPLIED>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml.ref
new file mode 100644
index 0000000..0b8e512
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml
new file mode 100644
index 0000000..65b731c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a NOTATION (n1|n2) #IMPLIED>
+<!NOTATION n1 SYSTEM "http://www.w3.org/">
+<!NOTATION n2 SYSTEM "http://www.w3.org/">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml.ref
new file mode 100644
index 0000000..3145f64
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ notationDecl(name="n1", publicId="", systemId="http://www.w3.org/")
+ notationDecl(name="n2", publicId="", systemId="http://www.w3.org/")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml
new file mode 100644
index 0000000..e5f301e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a (1|2) #IMPLIED>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml.ref
new file mode 100644
index 0000000..0b8e512
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml
new file mode 100644
index 0000000..b31f40f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #REQUIRED>
+]>
+<doc a="v"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml.ref
new file mode 100644
index 0000000..6b4e3c4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="v"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml
new file mode 100644
index 0000000..a3290d6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #FIXED "v">
+]>
+<doc a="v"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml.ref
new file mode 100644
index 0000000..6b4e3c4
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="v"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml
new file mode 100644
index 0000000..3208fa9
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #FIXED "v">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml.ref
new file mode 100644
index 0000000..0b8e512
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml
new file mode 100644
index 0000000..51ee1a3
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (a, b, c)>
+<!ELEMENT a (a?)>
+<!ELEMENT b (b*)>
+<!ELEMENT c (a | b)+>
+]>
+<doc><a/><b/><c><a/></c></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml.ref
new file mode 100644
index 0000000..1bc7300
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml.ref
@@ -0,0 +1,15 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ endElement(namespaceURI="", localName="a", qName="a")
+ startElement(namespaceURI="", localName="b", qName="b", atts=[])
+ endElement(namespaceURI="", localName="b", qName="b")
+ startElement(namespaceURI="", localName="c", qName="c", atts=[])
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ endElement(namespaceURI="", localName="a", qName="a")
+ endElement(namespaceURI="", localName="c", qName="c")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml
new file mode 100644
index 0000000..d5245ac5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY % e SYSTEM "e.dtd">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml.ref
new file mode 100644
index 0000000..a333feb
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="%e", publicId="", systemId="e.dtd")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml
new file mode 100644
index 0000000..937cfc0
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY % e PUBLIC 'whatever' "e.dtd">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml.ref
new file mode 100644
index 0000000..d52b5aa
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="%e", publicId="whatever", systemId="e.dtd")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml
new file mode 100644
index 0000000..8276076
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml
@@ -0,0 +1 @@
+<!DOCTYPE doc [<!ELEMENT doc (#PCDATA)>]><doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml.ref
new file mode 100644
index 0000000..37b53fc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml.ref
@@ -0,0 +1,7 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml
new file mode 100644
index 0000000..cf5834f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e "<foo>">
+<!ENTITY e "">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml.ref
new file mode 100644
index 0000000..8f9cdcc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="%e", value="<foo>")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ skippedEntity(name="e")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml
new file mode 100644
index 0000000..bbc3080
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "">
+<!ENTITY e "<foo>">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml.ref
new file mode 100644
index 0000000..b59c216
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml
new file mode 100644
index 0000000..34797a6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ENTITY e "<foo/&#62;">
+<!ELEMENT doc (foo)>
+<!ELEMENT foo EMPTY>
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml.ref
new file mode 100644
index 0000000..33d2309
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="<foo/>")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="foo", qName="foo", atts=[])
+ endElement(namespaceURI="", localName="foo", qName="foo")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml
new file mode 100644
index 0000000..f97d968
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "&lt;foo>">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml.ref
new file mode 100644
index 0000000..db24f34
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="&lt;foo>")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="<foo>")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml
new file mode 100644
index 0000000..2d80c8f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY e "&#x10000;&#x10FFFD;&#x10FFFF;">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.bak b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.bak
new file mode 100644
index 0000000..2d80c8f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.bak
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY e "&#x10000;&#x10FFFD;&#x10FFFF;">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.ref
new file mode 100644
index 0000000..7c68c32
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.ref
Binary files differ
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml
new file mode 100644
index 0000000..c392c96
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE doc [
+<!ATTLIST e a NOTATION (n) #IMPLIED>
+<!ELEMENT doc (e)*>
+<!ELEMENT e (#PCDATA)>
+<!NOTATION n PUBLIC "whatever">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml.ref
new file mode 100644
index 0000000..1cc0f1e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="e", aName="a", type="", valueDefault="", value="")
+ notationDecl(name="n", publicId="whatever", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml
new file mode 100644
index 0000000..7343d0f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE doc [
+<!NOTATION n SYSTEM "http://www.w3.org/">
+<!ENTITY e SYSTEM "http://www.w3.org/" NDATA n>
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a ENTITY "e">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml.ref
new file mode 100644
index 0000000..da92a9d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ notationDecl(name="n", publicId="", systemId="http://www.w3.org/")
+ unparsedEntityDecl(name="e", publicId="", systemId="http://www.w3.org/", notationName="n")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml
new file mode 100644
index 0000000..627b74e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml
@@ -0,0 +1,10 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (a)*>
+<!ELEMENT a EMPTY>
+]>
+<doc>
+<a/>
+ <a/> <a/>
+
+
+</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml.ref
new file mode 100644
index 0000000..3b9e06d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml.ref
@@ -0,0 +1,17 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="\r\n")
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ endElement(namespaceURI="", localName="a", qName="a")
+ characters(ch="\r\n ")
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ endElement(namespaceURI="", localName="a", qName="a")
+ characters(ch="\t")
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ endElement(namespaceURI="", localName="a", qName="a")
+ characters(ch="\r\n\r\n\r\n")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml
new file mode 100644
index 0000000..968acb6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>
+ </doc> \ No newline at end of file
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml.ref
new file mode 100644
index 0000000..2e8bee6
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="\r\n\r\r")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml
new file mode 100644
index 0000000..5726e7d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ENTITY % e "foo">
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a1 CDATA "%e;">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml.ref
new file mode 100644
index 0000000..4f42980
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="%e", value="foo")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml
new file mode 100644
index 0000000..1fe6959
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ATTLIST doc a1 CDATA #IMPLIED>
+<!ATTLIST doc a1 NMTOKENS #IMPLIED>
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc a1="1 2"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml.ref
new file mode 100644
index 0000000..567feee
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a1", qName="a1", uri="", type="CDATA", value="1 2"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml
new file mode 100644
index 0000000..a6f8f43
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ATTLIST doc a1 NMTOKENS " 1 2 ">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml.ref
new file mode 100644
index 0000000..1e3200f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.ent
new file mode 100644
index 0000000..e06554a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.ent
@@ -0,0 +1 @@
+<!ATTLIST doc a2 CDATA #IMPLIED>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml
new file mode 100644
index 0000000..c606afa
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml
@@ -0,0 +1,8 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY % e SYSTEM "097.ent">
+<!ATTLIST doc a1 CDATA "v1">
+%e;
+<!ATTLIST doc a2 CDATA "v2">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml.ref
new file mode 100644
index 0000000..b211a09
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml.ref
@@ -0,0 +1,12 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="%e", publicId="", systemId="097.ent")
+ attributeDecl(eName="doc", aName="a1", type="", valueDefault="", value="")
+ resolveEntity(publicId="", systemId="097.ent", ret={})
+ skippedEntity(name="%e")
+ attributeDecl(eName="doc", aName="a2", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml
new file mode 100644
index 0000000..33a64ce
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><?pi x
+y?></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml.ref
new file mode 100644
index 0000000..5108be0
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ processingInstruction(target="pi", data="x\r\ny")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml
new file mode 100644
index 0000000..1b7214a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml.ref
new file mode 100644
index 0000000..21cd9bc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ processingInstruction(target="xml", data="version='1.0' encoding='utf-8'")
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml
new file mode 100644
index 0000000..5b839e7
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ENTITY e PUBLIC ";!*#@$_%" "100.xml">
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml.ref
new file mode 100644
index 0000000..aaeec27
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ externalEntityDecl(name="e", publicId=";!*#@$_%", systemId="100.xml")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml
new file mode 100644
index 0000000..f464484
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "&#34;">
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml.ref
new file mode 100644
index 0000000..5b7646c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="\"")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml
new file mode 100644
index 0000000..f239ff5
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a="&#34;"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml.ref
new file mode 100644
index 0000000..75b2505
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="\""}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml
new file mode 100644
index 0000000..1dbbd5b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc>&#60;doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml.ref
new file mode 100644
index 0000000..6352624
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="<doc>")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml
new file mode 100644
index 0000000..666f43d
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a="x y"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml.ref
new file mode 100644
index 0000000..2bccd0e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="x\ty"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml
new file mode 100644
index 0000000..6b3af2b
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a="x&#9;y"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml.ref
new file mode 100644
index 0000000..2bccd0e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="x\ty"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml
new file mode 100644
index 0000000..8757c0a
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a="x&#10;y"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml.ref
new file mode 100644
index 0000000..1e9cc09
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="x\ny"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml
new file mode 100644
index 0000000..3d2c256
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a="x&#13;y"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml.ref
new file mode 100644
index 0000000..803dbc2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="x\ry"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml
new file mode 100644
index 0000000..e919bf2
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml
@@ -0,0 +1,7 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "
+">
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a="x&e;y"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml.ref
new file mode 100644
index 0000000..2199bd8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="\r\n")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="x\r\ny"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml
new file mode 100644
index 0000000..33fa38e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a=""></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml.ref
new file mode 100644
index 0000000..789cb33
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value=""}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml
new file mode 100644
index 0000000..0c61c65
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "&#13;&#10;">
+<!ATTLIST doc a CDATA #IMPLIED>
+]>
+<doc a="x&e;y"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml.ref
new file mode 100644
index 0000000..2199bd8
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="\r\n")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value="x\r\ny"}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml
new file mode 100644
index 0000000..cb56f26
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST doc a NMTOKENS #IMPLIED>
+]>
+<doc a="&#32;x&#32;&#32;y&#32;"></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml.ref
new file mode 100644
index 0000000..152e284
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="doc", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[{localName="a", qName="a", uri="", type="CDATA", value=" x y "}])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml
new file mode 100644
index 0000000..27b6a4c
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (a | b)>
+<!ELEMENT a (#PCDATA)>
+]>
+<doc><a></a></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml.ref
new file mode 100644
index 0000000..f82c6dc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startElement(namespaceURI="", localName="a", qName="a", atts=[])
+ endElement(namespaceURI="", localName="a", qName="a")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml
new file mode 100644
index 0000000..d2edd0f
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ATTLIST e a CDATA #IMPLIED>
+]>
+<doc></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml.ref
new file mode 100644
index 0000000..6342ccc
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ attributeDecl(eName="e", aName="a", type="", valueDefault="", value="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml
new file mode 100644
index 0000000..52e2070
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e "<![CDATA[&foo;]]>">
+]>
+<doc>&e;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml.ref
new file mode 100644
index 0000000..b11750e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml.ref
@@ -0,0 +1,11 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e", value="<![CDATA[&foo;]]>")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startCDATA()
+ characters(ch="&foo;")
+ endCDATA()
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml
new file mode 100644
index 0000000..d939a67
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml
@@ -0,0 +1,6 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY e1 "&e2;">
+<!ENTITY e2 "v">
+]>
+<doc>&e1;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml.ref
new file mode 100644
index 0000000..5b09ebd
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="e1", value="&e2;")
+ internatlEntityDecl(name="e2", value="v")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="v")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml
new file mode 100644
index 0000000..55ab496
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+]>
+<doc><![CDATA[
+]]></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml.ref
new file mode 100644
index 0000000..9bdec9e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml.ref
@@ -0,0 +1,10 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ startCDATA()
+ characters(ch="\r\n")
+ endCDATA()
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml
new file mode 100644
index 0000000..e4f02b1
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY rsqb "]">
+]>
+<doc>&rsqb;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml.ref
new file mode 100644
index 0000000..78dd114
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="rsqb", value="]")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="]")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml
new file mode 100644
index 0000000..fba6c44
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml
@@ -0,0 +1,5 @@
+<!DOCTYPE doc [
+<!ELEMENT doc (#PCDATA)>
+<!ENTITY rsqb "]]">
+]>
+<doc>&rsqb;</doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml.ref
new file mode 100644
index 0000000..c84da55
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml.ref
@@ -0,0 +1,9 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ internatlEntityDecl(name="rsqb", value="]]")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ characters(ch="]]")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml
new file mode 100644
index 0000000..876e747
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE doc [
+<!ELEMENT doc ANY>
+]>
+<doc><!-- -á --></doc>
diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml.ref
new file mode 100644
index 0000000..d1c643e
--- /dev/null
+++ b/tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml.ref
@@ -0,0 +1,8 @@
+setDocumentLocator(locator={columnNumber=1, lineNumber=1})
+startDocument()
+ startDTD(name="doc", publicId="", systemId="")
+ endDTD()
+ startElement(namespaceURI="", localName="doc", qName="doc", atts=[])
+ comment(ch=" -á ")
+ endElement(namespaceURI="", localName="doc", qName="doc")
+endDocument()