Menu entry to parse XML file
authorStefan Vogel <sv@exept.de>
Wed, 24 Oct 2007 13:02:45 +0200
changeset 7869 eeb3c47f1c62
parent 7868 6418611891f2
child 7870 30aea88a8c54
Menu entry to parse XML file
AbstractFileBrowser.st
--- a/AbstractFileBrowser.st	Tue Oct 23 20:19:07 2007 +0200
+++ b/AbstractFileBrowser.st	Wed Oct 24 13:02:45 2007 +0200
@@ -1862,6 +1862,13 @@
                   translateLabel: true
                 )
                (MenuItem
+                  enabled: hasXmlFileSelection
+                  label: 'XML Inspector'
+                  itemValue: parseXmlFile
+                  translateLabel: true
+                  isVisible: hasXml
+                )
+               (MenuItem
                   enabled: hasFileSelection
                   label: 'Acroread (PDF Viewer)'
                   itemValue: openPDFViewer
@@ -5896,6 +5903,19 @@
     ].
 !
 
+parseXmlFile
+
+    self withActivityIndicationDo:[
+        | selectedFiles xmlDocument |
+
+        selectedFiles:= self currentSelectedFiles.
+        selectedFiles do:[:fileName |
+            xmlDocument := XML::XMLParser processDocumentInFilename:fileName beforeScanDo:[:parse| parse validate:false].
+            xmlDocument inspect.
+        ].
+    ]
+!
+
 readAbbrevFile
     "read the abbrev file and install classes found there as autoloaded classes"
 
@@ -6322,6 +6342,30 @@
       ]
 !
 
+hasXml
+    ^ [ XML::XMLParser notNil 
+        and:[XML::XMLParser isLoaded]]
+!
+
+hasXmlFileSelected
+
+    ^ [|sel fileName fn suff|
+
+        sel := self currentSelectedFiles.
+        sel size == 1 ifTrue:[
+            fileName := sel first.
+            fileName notNil ifTrue:[
+                suff := fileName suffix asLowercase.
+                suff = 'xml'
+            ] ifFalse:[
+                false
+            ]
+        ] ifFalse:[
+            false
+        ]
+      ]
+!
+
 hasZipFileSelected
 
     ^ [|sel fileName fn suff|
@@ -7242,5 +7286,5 @@
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.356 2007-09-18 07:42:45 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.357 2007-10-24 11:02:45 stefan Exp $'
 ! !