Revision 3002
Added by sgarg over 18 years ago
src/edu/ucsb/nceas/metacat/MetaCatServlet.java | ||
---|---|---|
2170 | 2170 |
int count = 0; |
2171 | 2171 |
int endIndex = 0; |
2172 | 2172 |
int startIndex = 0; |
2173 |
final int TARGETNUM = 2;
|
|
2173 |
final int TARGETNUM = 1;
|
|
2174 | 2174 |
StringBuffer buffer = new StringBuffer(); |
2175 | 2175 |
boolean comment = false; |
2176 |
boolean processingInstruction = false; |
|
2176 | 2177 |
char thirdPreviousCharacter = '?'; |
2177 | 2178 |
char secondPreviousCharacter = '?'; |
2178 | 2179 |
char previousCharacter = '?'; |
... | ... | |
2192 | 2193 |
comment = false; |
2193 | 2194 |
} |
2194 | 2195 |
|
2195 |
//this is not comment |
|
2196 |
if (currentCharacter != '!' && previousCharacter == '<' && !comment) { |
|
2196 |
//in a processingInstruction |
|
2197 |
if (currentCharacter == '?' && previousCharacter == '<') { |
|
2198 |
processingInstruction = true; |
|
2199 |
} |
|
2200 |
|
|
2201 |
//out of processingInstruction |
|
2202 |
if (processingInstruction && currentCharacter == '>' |
|
2203 |
&& previousCharacter == '?') { |
|
2204 |
processingInstruction = false; |
|
2205 |
} |
|
2206 |
|
|
2207 |
//this is not comment or a processingInstruction |
|
2208 |
if (currentCharacter != '!' && previousCharacter == '<' |
|
2209 |
&& !comment && !processingInstruction) { |
|
2197 | 2210 |
count++; |
2198 | 2211 |
} |
2212 |
|
|
2199 | 2213 |
// get target line |
2200 | 2214 |
if (count == TARGETNUM && currentCharacter != '>') { |
2201 | 2215 |
buffer.append(currentCharacter); |
... | ... | |
2219 | 2233 |
{ |
2220 | 2234 |
Logger logMetacat = Logger.getLogger(MetaCatServlet.class); |
2221 | 2235 |
String prefix = null; |
2236 |
|
|
2222 | 2237 |
if(schemaLine.indexOf(" ") > 0){ |
2223 | 2238 |
String rootElement = ""; |
2224 | 2239 |
try { |
... | ... | |
2233 | 2248 |
prefix = rootElement.substring(rootElement.indexOf(":") + 1, |
2234 | 2249 |
rootElement.length()); |
2235 | 2250 |
} |
2236 |
|
|
2251 |
|
|
2237 | 2252 |
if(prefix != null){ |
2238 | 2253 |
return prefix.trim(); |
2239 | 2254 |
} |
Also available in: Unified diff
Fix for a bug in MetacatServlet. Metacat assumed that it is supposed to get the schema information from the second line of the document. This is based
on the assumption that xml decleration will always be present. This is good practice but not required. Hence the fix -> Metacat should ignore the
xml declerations and then get the first line.