[squeak-dev] The Trunk: XML-Parser-topa.38.mcz
Tobias Pape
Das.Linux at gmx.de
Thu Jun 9 13:15:07 UTC 2016
On 09.06.2016, at 15:07, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> Minor error:
>
> instead of
>
> + description: 'read and partse the file and explore its
> XML structure'
> parse
Thanks!
I blame it on my plenking-hands :D
Best
-Tobias
>
> On Thu, 9 Jun 2016 12:18:49.869 0000, commits at source.squeak.org
> <commits at source.squeak.org> wrote:
>> Tobias Pape uploaded a new version of XML-Parser to project The Trunk:
>> http://source.squeak.org/trunk/XML-Parser-topa.38.mcz
>>
>> ==================== Summary ====================
>>
>> Name: XML-Parser-topa.38
>> Author: topa
>> Time: 9 June 2016, 2:18:47.587644 pm
>> UUID: 04dceb47-db2b-4617-86ac-737264db4bbd
>> Ancestors: XML-Parser-bf.37
>>
>> Fix SAX namespace handling
>> Add FileService to Explore XML files (includes external Drag'n'Drop)
>>
>> =============== Diff against XML-Parser-bf.37 ===============
>>
>> Item was changed:
>> ----- Method: SAXDriver>>handleStartTag:attributes:namespaces: (in
>> category 'handling tokens') -----
>> handleStartTag: elementName attributes: attributeList namespaces:
>> namespaces
>>
>> | localName namespace namespaceURI |
>>
>> (attributeList includesKey: 'xml:lang')
>> ifTrue: [languageEnvironment := LanguageEnvironment localeID: (LocaleID
>> isoString: (attributeList at: 'xml:lang'))].
>> self usesNamespaces
>> ifTrue: [
>> self scope enterScope.
>> "declare any namespaces"
>> namespaces keysAndValuesDo: [:ns :uri |
>> self scope declareNamespace: ns uri: uri].
>>
>> self splitName: elementName into: [:ns :ln |
>> namespace := ns.
>> localName := ln].
>>
>> + namespaceURI := self scope
>> + namespaceURIOf: namespace
>> + ifAbsent: [self parseError: 'Start tag ' , elementName , ' refers to
>> undefined namespace ' , namespace asString].
>> - "ensure our namespace is defined"
>> - namespace
>> - ifNil: [namespace := self scope defaultNamespace]
>> - ifNotNil: [
>> - namespaceURI := self scope namespaceURIOf: namespace.
>> - namespaceURI
>> - ifNil: [self parseError: 'Start tag ' , elementName , ' refers to
>> undefined namespace ' , namespace asString]].
>>
>> self validatesAttributes
>> ifTrue: [self scope validateAttributes: attributeList].
>> "call the handler"
>> self saxHandler
>> checkEOD;
>> startElement: localName namespaceURI: namespaceURI namespace:
>> namespace attributeList: attributeList]
>> ifFalse: [
>> "call the handler"
>> self saxHandler
>> checkEOD;
>> startElement: elementName namespaceURI: nil namespace: nil
>> attributeList: attributeList]!
>>
>> Item was added:
>> + ----- Method: XMLDOMParser class>>fileReaderServicesForFile:suffix: (in
>> category 'file reader services') -----
>> + fileReaderServicesForFile: fullName suffix: suffix
>> +
>> + " some known suffixes "
>> + ^ ((#('xml' 'xsl' 'xhtml' 'sif' 'rss' 'atom' '*') includes: suffix)
>> + or: [self looksLikeXML: fullName])
>> + ifFalse: [#()]
>> + ifTrue: [{self serviceExplore}]!
>>
>> Item was added:
>> + ----- Method: XMLDOMParser class>>initialize (in category
>> 'initialize-release') -----
>> + initialize
>> + "register the receiver in the global registries"
>> + self environment
>> + at: #FileList
>> + ifPresent: [:cl | cl registerFileReader: self]!
>>
>> Item was added:
>> + ----- Method: XMLDOMParser class>>looksLikeXML: (in category 'file reader
>> services') -----
>> + looksLikeXML: fullName
>> +
>> + [ | sample |
>> + FileStream readOnlyFileNamed: fullName do:
>> + [:stream |
>> + stream isBinary ifTrue: [^ false].
>> + sample := (stream next: 20) withBlanksTrimmed].
>> + ^ sample first = $<
>> + and: [ (#( $!! $? $: $_ ) includes: sample second)
>> + or: [sample second isLetter]]
>> + ] on: Error do: [^ false "backstop"]!
>>
>> Item was added:
>> + ----- Method: XMLDOMParser class>>serviceExplore (in category 'file reader
>> services') -----
>> + serviceExplore
>> +
>> + ^ SimpleServiceEntry
>> + provider: [:fullName |
>> + (FileStream readOnlyFileNamed: fullName do:
>> + [:file | self parseDocumentFrom: file useNamespaces: true]) explore]
>> + label: 'explore XML'
>> + selector: #value:
>> + description: 'read and partse the file and explore its XML structure'
>> + buttonLabel: 'explore'!
>>
>> Item was added:
>> + ----- Method: XMLDOMParser class>>unload (in category
>> 'initialize-release') -----
>> + unload
>> + "Unload the receiver from global registries"
>> + self environment
>> + at: #FileList
>> + ifPresent: [:cl | cl unregisterFileReader: self]!
More information about the Squeak-dev
mailing list
|