KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > publishing > markups > TKXmlTree


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/publishing/markups/TKXmlTree.java,v 1.6 2001/06/11 09:14:10 alex Exp $
3  *
4  */

5 package com.teamkonzept.publishing.markups;
6
7 import java.util.*;
8
9 import com.teamkonzept.lib.*;
10
11 public class TKXmlTree extends TKMarkupTree {
12
13     public String JavaDoc doCrControl (String JavaDoc text) {
14
15         return text;
16     }
17
18     public Object JavaDoc getSingleSub () {
19
20         for (int i = 0; i < size(); i++) {
21             
22             Object JavaDoc obj = get(i);
23             if (obj == null) continue;
24
25             if (obj instanceof String JavaDoc) {
26             
27                 String JavaDoc normalized =
28                     ((String JavaDoc) obj).replace ('\n',' ').replace ('\r',' ').replace('\t',' ').trim();
29
30                 if (normalized.length() != 0)
31                     ;
32                 
33                 continue;
34                     
35             }
36             
37             return obj;
38         }
39         
40         return null;
41     }
42
43     public String JavaDoc getSingleText () {
44
45         for (int i = 0; i < size(); i++) {
46             
47             Object JavaDoc obj = get(i);
48             if (obj == null) continue;
49             
50             if (obj instanceof String JavaDoc)
51                 return TKMarkupParser.doEscapes
52                     (((String JavaDoc) obj).replace ('\n',' ').replace ('\r',' ').replace('\t',' ').trim());
53             
54             continue;
55         }
56         
57         return null;
58     }
59
60     public Object JavaDoc getSub (int index) {
61
62         Object JavaDoc obj = get(index);
63         if (obj == null) return null;
64             
65         if (obj instanceof String JavaDoc) {
66             
67             String JavaDoc normalized =
68                 ((String JavaDoc) obj).replace ('\n',' ').replace ('\r',' ').replace('\t',' ').trim();
69
70             if (normalized.length() != 0)
71                 ;
72
73             return null;
74         }
75         
76         return obj;
77     }
78     
79     public String JavaDoc convert2Markup() {
80
81         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc ();
82
83         Enumeration e = elements();
84         while (e.hasMoreElements()) {
85         
86             Object JavaDoc elem = e.nextElement();
87             if (elem == null) continue;
88             
89             if (elem instanceof String JavaDoc) {
90
91                 buffer.append(elem);
92                 
93             } else if (elem instanceof TKMarkupNode) {
94
95                 TKMarkupNode node = (TKMarkupNode) elem;
96                 if (node.markup == null) continue;
97                 
98                 if (node.markup instanceof TKXmlMarkup) {
99                 
100                     TKXmlMarkup markup = (TKXmlMarkup) node.markup;
101                     buffer.append (markup.toMarkup());
102                     if (node.tree != null) buffer.append (node.tree.convert2Xml());
103
104                     if (!markup.isAtom) buffer.append ("</").append(markup.name).append('>');
105
106                 } else buffer.append (node.markup);
107
108             } else if (elem instanceof TKXmlTree) {
109
110                 buffer.append (((TKXmlTree) elem).convert2Markup());
111
112             } else if (elem instanceof TKMarkup) {
113             
114                 if (elem instanceof TKXmlMarkup) {
115                 
116                     TKXmlMarkup markup = (TKXmlMarkup) elem;
117                     buffer.append (markup.toMarkup());
118
119                     if (!markup.isAtom) buffer.append ("</").append(markup.name).append('>');
120
121                 } else buffer.append (elem);
122             }
123         }
124
125         return new String JavaDoc(buffer);
126     }
127 }
128
129
Popular Tags