--- a/core/trunk/XMLv2__XMLFormatter.st Wed Apr 09 20:52:51 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-"{ Package: 'stx:goodies/xmlsuite' }"
-
-"{ NameSpace: XMLv2 }"
-
-Object subclass:#XMLFormatter
- instanceVariableNames:'indentLevel textStream visitedElements
- maxNumberOfElementsToDisplay'
- classVariableNames:''
- poolDictionaries:''
- category:'XML Suite-Simple Editor'
-!
-
-
-!XMLFormatter class methodsFor:'instance creation'!
-
-new
- ^ self basicNew initialize.
-
- "Created: / 10-10-2004 / 16:31:27 / janfrog"
-! !
-
-!XMLFormatter class methodsFor:'utilities'!
-
-format:aNode
-
- ^self new format:aNode
-
- "Created: / 19-12-2004 / 13:41:10 / janfrog"
-! !
-
-!XMLFormatter methodsFor:'accessing'!
-
-maxNumberOfElementsToDisplay
- ^maxNumberOfElementsToDisplay
-
- "Created: / 12-10-2004 / 21:14:35 / janfrog"
- "Modified: / 19-12-2004 / 13:18:24 / janfrog"
-!
-
-maxNumberOfElementsToDisplay:aNumber
- maxNumberOfElementsToDisplay := aNumber
-
- "Created: / 19-12-2004 / 13:18:51 / janfrog"
-!
-
-text
- ^self textStream contents
-
- "Created: / 10-10-2004 / 16:28:48 / janfrog"
-!
-
-textStream
- textStream ifNil:[textStream := Text new writeStream].
- ^ textStream
-
- "Created: / 10-10-2004 / 16:04:19 / janfrog"
- "Modified: / 10-10-2004 / 16:04:40 / janfrog"
-!
-
-textStream:something
- textStream := something.
-
- "Created: / 10-10-2004 / 16:04:19 / janfrog"
-! !
-
-!XMLFormatter methodsFor:'accessing colors & emphasis'!
-
-attributeNameColor
- ^Color green
-
- "Created: / 10-10-2004 / 16:09:07 / janfrog"
-!
-
-attributeValueColor
- ^Color red
-
- "Created: / 10-10-2004 / 16:09:25 / janfrog"
-!
-
-commentColor
- ^Color darkGray
-
- "Created: / 12-10-2004 / 21:08:46 / janfrog"
- "Modified: / 14-04-2005 / 20:52:59 / janfrog"
-!
-
-tagColor
- ^Color blue
-
- "Created: / 10-10-2004 / 16:08:10 / janfrog"
-!
-
-textColor
- ^Color black
-
- "Created: / 10-10-2004 / 16:08:18 / janfrog"
-! !
-
-!XMLFormatter methodsFor:'initialize'!
-
-initialize
- indentLevel := 0.
- visitedElements := 0.
- maxNumberOfElementsToDisplay := 100.
-
- "Created: / 10-10-2004 / 16:31:47 / janfrog"
- "Modified: / 19-12-2004 / 13:18:36 / janfrog"
-! !
-
-!XMLFormatter methodsFor:'private'!
-
-nextPutAttribute:att
- self textStream
- emphasis:(#color->self attributeNameColor);
- nextPutAll:(self qualifiedNameFor:att);
- emphasis:nil;
- nextPut:$=;
- nextPut:$";
- emphasis:(#color->self attributeValueColor);
- nextPutAll:(att value);
- emphasis:nil;
- nextPut:$".
-
- "Created: / 10-10-2004 / 16:28:16 / janfrog"
- "Modified: / 10-10-2004 / 16:34:10 / janfrog"
-!
-
-nextPutCloseElement:element
- self textStream
- next:indentLevel*2 put:Character space;
- emphasis:nil;
- nextPut:$<;
- nextPut:$/;
- emphasis:(#color->self tagColor);
- nextPutAll:(self qualifiedNameFor:element);
- emphasis:nil;
- nextPut:$>;
- cr.
-
- "Created: / 10-10-2004 / 16:30:49 / janfrog"
- "Modified: / 29-11-2004 / 20:44:14 / janfrog"
-!
-
-nextPutOpenElement:element
- self textStream
- next:indentLevel*2 put:Character space;
- emphasis:nil;
- nextPut:$<;
- emphasis:(#color->self tagColor);
- nextPutAll:(self qualifiedNameFor:element).
-
- element attributes isEmpty ifFalse:[self textStream space].
-
- element attributes
- do:[:att|self nextPutAttribute:att]
- separatedBy:[self textStream space].
-
- self textStream
- emphasis:nil;
- nextPut:$>;
- cr.
-
- "Created: / 10-10-2004 / 16:20:36 / janfrog"
- "Modified: / 29-11-2004 / 20:44:23 / janfrog"
-!
-
-nextPutShortElement:element
- self textStream
- next:indentLevel*2 put:Character space;
- emphasis:nil;
- nextPut:$<;
- emphasis:(#color->self tagColor);
- nextPutAll:(self qualifiedNameFor:element).
-
- element attributes isEmpty ifFalse:[self textStream space].
-
- element attributes
- do:[:att|self nextPutAttribute:att]
- separatedBy:[self textStream space].
-
- self textStream
- emphasis:nil;
- nextPut:$/;
- nextPut:$>;
- cr.
-
- "Created: / 10-10-2004 / 16:36:34 / janfrog"
- "Modified: / 29-11-2004 / 20:44:30 / janfrog"
-!
-
-qualifiedNameFor:node
- ^node tag asString
-
- "Created: / 10-10-2004 / 16:20:16 / janfrog"
- "Modified: / 10-10-2004 / 16:26:38 / janfrog"
-!
-
-shouldStopFormatting
- maxNumberOfElementsToDisplay ifNil:[^false].
-
- ^visitedElements > maxNumberOfElementsToDisplay
-
- "Created: / 19-12-2004 / 13:45:48 / janfrog"
-! !
-
-!XMLFormatter methodsFor:'utilities'!
-
-format:aNode
-
- aNode acceptVisitor:self.
- ^self text
-
- "Created: / 19-12-2004 / 13:40:48 / janfrog"
-! !
-
-!XMLFormatter methodsFor:'visiting'!
-
-visitComment:aComment
- self textStream
- emphasis:(#color->self commentColor);
- nextPutAll:'<-- ';
- nextPutAll:aComment text;
- nextPutAll:' -->';
- cr;
- emphasis:nil.
-
- "Created: / 12-10-2004 / 21:10:07 / janfrog"
-!
-
-visitDocument:doc
- doc root acceptVisitor:self
-
- "Created: / 10-10-2004 / 16:05:25 / janfrog"
-!
-
-visitElement:element
- visitedElements := visitedElements + 1.
- self shouldStopFormatting ifTrue:[^self].
-
-
- element elements isEmpty ifFalse:[
- self nextPutOpenElement:element.
- indentLevel := indentLevel + 1.
- element elements do:[:e| e acceptVisitor:self].
- visitedElements := visitedElements + 1.
- self shouldStopFormatting ifTrue:[^self].
-
- indentLevel := indentLevel - 1.
- self nextPutCloseElement:element.
- ] ifTrue:[
- self nextPutShortElement:element.
-
- ]
-
- "Created: / 10-10-2004 / 16:18:59 / janfrog"
- "Modified: / 19-12-2004 / 13:46:35 / janfrog"
-!
-
-visitText:text
- text isBlankText ifFalse:[
- text characterData trimSeparators asStringCollection do:[:line|
- self textStream
- next:indentLevel*2 put:Character space;
- nextPutAll:line;
- cr.
- ]
- ]
-
- "Created: / 10-10-2004 / 16:19:13 / janfrog"
- "Modified: / 29-11-2004 / 20:46:17 / janfrog"
-! !
-
-!XMLFormatter class methodsFor:'documentation'!
-
-version
- ^ '$Header: /opt/data/cvs/stx/goodies/xmlsuite/XMLv2__XMLFormatter.st,v 1.1.1.1 2005-11-01 22:07:10 vranyj1 Exp $'
-! !