# HG changeset patch # User Stefan Vogel # Date 1575036564 -3600 # Node ID 050bee46b469413f867fded18d6c4b35a70f3d7a # Parent 9338c277e4cfe82cb8f88e754145e0053735ba9b #BUGFIX by stefan class: AbstractFileBrowser changed: #forEachParsedXmlFileDo: #hasXml XMLParser already does character decoding diff -r 9338c277e4cf -r 050bee46b469 AbstractFileBrowser.st --- a/AbstractFileBrowser.st Thu Nov 28 18:52:48 2019 +0100 +++ b/AbstractFileBrowser.st Fri Nov 29 15:09:24 2019 +0100 @@ -8159,39 +8159,16 @@ title:'XML Error'. ^ self. ] do:[ - |s d magic encoder document| - - s := fileName asFilename readStream. - [ - s binary. - magic := (s next:2). - magic = #[254 255] ifTrue:[ - "/ UTF16BE - document := CharacterEncoder decodeString:(s upToEnd) from:#utf16be. - ] ifFalse:[ - magic = #[255 254] ifTrue:[ - "/ UTF16LE - document := CharacterEncoder decodeString:(s upToEnd) from:#utf16le. - ]. - ]. - ] ensure:[ - s close. - ]. - document notNil ifTrue:[ - xmlDocument := XML::XMLParser - processDocumentString:document - beforeScanDo:[:parse| parse validate:false]. - ] ifFalse:[ - xmlDocument := XML::XMLParser - processDocumentInFilename:fileName - beforeScanDo:[:parse| parse validate:false]. - ] + xmlDocument := XML::XMLParser + processDocumentInFilename:fileName + beforeScanDo:[:parse| parse validate:false]. ]. aBlock value:xmlDocument. ]. ] "Created: / 17-02-2011 / 13:58:21 / cg" + "Modified: / 29-11-2019 / 13:44:05 / Stefan Vogel" ! forEachSelectedFileIgnoringDirectories:ignoreDirs do:aBlock @@ -9524,7 +9501,9 @@ ! hasXml - ^ [ XML::XMLParser notNil ] + ^ XML::XMLParser notNil + + "Modified: / 29-11-2019 / 13:44:29 / Stefan Vogel" ! hasXmlFileSelected