--- a/AbstractFileBrowser.st Wed Nov 04 00:18:53 2009 +0100
+++ b/AbstractFileBrowser.st Wed Nov 04 01:51:30 2009 +0100
@@ -6468,9 +6468,31 @@
Dialog information:('Error while reading XML:\ %1' bindWith:ex description) withCRs.
^ self.
] do:[
- xmlDocument := XML::XMLParser
+ |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.
+ ].
+ ].
+ 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].
+ ]
].
XML::XMLInspector notNil ifTrue:[
XML::XMLInspector openOn:xmlDocument.
@@ -7903,9 +7925,9 @@
!AbstractFileBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.424 2009-10-28 18:59:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.425 2009-11-04 00:51:30 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.424 2009-10-28 18:59:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.425 2009-11-04 00:51:30 cg Exp $'
! !