📄 xmlreaderbase.java
字号:
type = record.getType(index);
}
catch(Exception ex)
{
index = -1;
}
if(type == 133 && (record instanceof com.sap.mw.jco.JCO.Table))
{
com.sap.mw.jco.JCO.Table t = (com.sap.mw.jco.JCO.Table)record;
t.appendRow();
if(t.getNumFields() == 1 && t.getName(0).length() == 0 && !t.isTable(0) && !t.isStructure(0) && m_buffer[m_offset] != '<')
nextValue(record, 0, true);
else
nextStatement(record, true);
} else
if(index >= 0)
{
if(type == 17 || type == 99)
{
record = (com.sap.mw.jco.JCO.Record)record.getValue(index);
nextStatement(record, false);
} else
{
nextValue(record, index, true);
}
} else
{
nextValue(record, index, false);
}
nextTag(false);
}
private void unescapeValue()
{
int i = m_offset;
int start = m_offset;
int value = 0;
char c = m_buffer[i++];
if(c != '&' || i >= m_length)
return;
c = m_buffer[i++];
if(c != '#' || i >= m_length)
return;
for(c = m_buffer[i++]; i < m_length && c >= '0' && c <= '9'; c = m_buffer[i++])
value = value * 10 + (c - 48);
if(c != ';')
{
return;
} else
{
m_offset = i;
m_buffer[start++] = (char)value;
System.arraycopy(m_buffer, m_offset, m_buffer, start, m_length - m_offset);
m_length -= m_offset - start;
m_offset = start - 1;
return;
}
}
private void nextValue(com.sap.mw.jco.JCO.Record record, int index, boolean store)
{
char c1 = m_offset >= m_length ? '\0' : m_buffer[m_offset];
char c2 = m_offset + 1 >= m_length ? '\0' : m_buffer[m_offset + 1];
if(c1 == '<' && c2 == '/')
return;
int value_start = m_offset;
int value_end = m_offset;
while(m_offset < m_length && (c1 = m_buffer[m_offset++]) != '<')
{
if(c1 == '&' && m_offset < m_length)
if(m_buffer[m_offset] == '#')
{
int start = m_offset;
int value = 0;
for(m_offset++; m_offset < m_length && (c2 = m_buffer[m_offset++]) >= '0' && c2 <= '9';)
value = value * 10 + (c2 - 48);
if(c2 != ';')
m_offset = start;
else
c1 = (char)value;
} else
if(m_buffer[m_offset] < '\177')
{
int idx = m_offset;
int i;
for(i = lookupFirstChar[m_buffer[idx]]; idx < m_length && m_buffer[idx] != ';' && m_buffer[idx] != '<' && i != 0;)
if(entitySearchChars[i] != m_buffer[idx])
{
i = entitySearchIdxs[i];
} else
{
idx++;
i++;
}
char value;
if(idx <= m_length && m_buffer[idx] == ';' && (value = entityValues[i]) != 0)
{
c1 = value;
idx++;
m_offset = idx;
}
}
m_buffer[value_end++] = c1;
}
m_offset--;
if(store)
store(record, m_buffer, value_start, value_end - value_start, index);
}
protected abstract void store(com.sap.mw.jco.JCO.Record record, char ac[], int i, int j, int k);
private boolean equals(char array1[], int start, int length, String string)
{
int slength = string.length();
if(slength != length)
return false;
for(int i = 0; i < length; i++)
if(array1[start + i] != string.charAt(i))
return false;
return true;
}
private String escape(String tag)
{
int ioffset = 0;
int length = tag.length();
if(length * 5 > tagBuffer.length)
tagBuffer = new char[length * 5];
for(int i = 0; i < length; i++)
{
char c = tag.charAt(i);
if(c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c == '_' || i > 0 && (c >= '0' && c <= '9' || c == '.'))
tagBuffer[ioffset++] = c;
else
if(c == '/')
{
tagBuffer[ioffset++] = '_';
tagBuffer[ioffset++] = '-';
} else
{
tagBuffer[ioffset++] = '_';
tagBuffer[ioffset++] = '-';
tagBuffer[ioffset++] = '-';
tagBuffer[ioffset++] = hex[c >> 4 & 0xf];
tagBuffer[ioffset++] = hex[c >> 0 & 0xf];
}
}
return new String(tagBuffer, 0, ioffset);
}
public static final String NAMESPACE_URN_SAP_RFC = "urn:sap-com:document:sap:rfc:functions";
protected static final int NAMESPACE_URN_SAP_RFC_MODE = 0;
public static final String NAMESPACE_URN_SOAP_UC = "urn:sap-com:document:sap:soap:functions:uc-style";
protected static final int NAMESPACE_URN_SOAP_UC_MODE = 1;
private static final int TAG_START = 0;
private static final int TAG_END = 1;
private static final String ITEM_UPPER = "ITEM";
private static final String ITEM_LOWER = "item";
private static final char hex[] = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F'
};
private char tagBuffer[];
protected XMLReaderBase m_parent;
protected com.sap.mw.jco.JCO.Record m_record;
protected char m_buffer[];
protected int m_offset;
protected int m_length;
protected int m_tag_start;
protected int m_tag_end;
protected int m_tag_typ;
private int m_namespace_mode;
private static final int MAX_CHUNK_SIZE = 10240;
private static final int TYPE_ITEM = 133;
private static char entitySearchChars[] = {
'\0', 'a', 'p', 'o', 's', '\0', 'c', 'u', 't', 'e',
'\0', 'i', 'r', 'c', '\0', 'g', 'r', 'a', 'v', 'e',
'\0', 'a', 'c', 'u', 't', 'e', '\0', 't', 'i', 'l',
'd', 'e', '\0', 'u', 'm', 'l', '\0', 'r', 'i', 'n',
'g', '\0', 'e', 'l', 'i', 'g', '\0', 'l', 'p', 'h',
'a', '\0', 'e', 'f', 's', 'y', 'm', '\0', 'n', 'g',
'\0', 'd', '\0', 's', 'y', 'm', 'p', '\0', 'm', 'p',
'\0', 'n', 'b', 's', 'p', '\0', 'o', 't', 'i', 'n',
'\0', 't', 'i', 'l', 'd', 'e', '\0', 'u', '\0', 'a',
'b', 'l', 'a', '\0', 'i', '\0', 'e', '\0', 's', 'u',
'b', '\0', 'd', 'a', 's', 'h', '\0', 'i', 'e', 'x',
'c', 'l', '\0', 'q', 'u', 'e', 's', 't', '\0', 'g',
'r', 'a', 'v', 'e', '\0', 'a', 'c', 'u', 't', 'e',
'\0', 'c', 'i', 'r', 'c', '\0', 'u', 'm', 'l', '\0',
'o', 't', 'a', '\0', 'm', 'a', 'g', 'e', '\0', 's',
'i', 'n', '\0', 'n', 'f', 'i', 'n', '\0', 't', '\0',
'c', 'e', 'n', 't', '\0', 'd', 'i', 'l', '\0', 'u',
'r', 'r', 'e', 'n', '\0', 'p', '\0', 'o', 'p', 'y',
'\0', 'n', 'g', '\0', 'c', 'e', 'd', 'i', 'l', '\0',
'h', 'i', '\0', 'r', 'a', 'r', 'r', '\0', 'a', 'p',
'\0', 'l', 'u', 'b', 's', '\0', 'i', 'r', 'c', '\0',
'p', 'o', 'u', 'n', 'd', '\0', 'l', 'u', 's', 'm',
'n', '\0', 'a', 'r', 'a', '\0', 't', '\0', 'i', 'v',
'\0', 'h', 'i', '\0', 's', 'i', '\0', 'r', 'i', 'm',
'e', '\0', 'o', 'd', '\0', 'p', '\0', 'e', 'r', 'p',
'\0', 'm', 'i', 'l', '\0', 'y', 'e', 'n', '\0', 'a',
'c', 'u', 't', 'e', '\0', 'u', 'm', 'l', '\0', 'b',
'r', 'v', 'b', 'a', 'r', '\0', 'e', 't', 'a', '\0',
'u', 'l', 'l', '\0', 'd', 'q', 'u', 'o', '\0', 's',
'e', 'c', 't', '\0', 'h', 'y', '\0', 'u', 'p', '2',
'\0', '3', '\0', '1', '\0', 'e', '\0', 'm', '\0', 'b',
'e', '\0', 'z', 'l', 'i', 'g', '\0', 'i', 'g', 'm',
'a', 'f', '\0', 'm', '\0', 'd', 'o', 't', '\0', 'p',
'a', 'd', 'e', 's', '\0', 'c', 'a', 'r', 'o', 'n',
'\0', 'b', 'q', 'u', 'o', '\0', 'u', 'm', 'l', '\0',
'g', 'r', 'a', 'v', 'e', '\0', 'a', 'c', 'u', 't',
'e', '\0', 'r', 'r', '\0', 'c', 'i', 'r', 'c', '\0',
'u', 'm', 'l', '\0', 'p', 's', 'i', 'l', 'o', 'n',
'\0', 'h', '\0', 'A', 'r', 'r', '\0', 'o', 'r', 'd',
'f', '\0', 'm', '\0', 'g', 'r', 'a', 'v', 'e', '\0',
'a', 'c', 'u', 't', 'e', '\0', 'c', 'i', 'r', 'c',
'\0', 't', 'i', 'l', 'd', 'e', '\0', 'm', 'e', 's',
'\0', 'u', 'm', 'l', '\0', 's', 'l', 'a', 's', 'h',
'\0', 'm', 'i', 'c', 'r', 'o', 'n', '\0', 'e', 'g',
'a', '\0', 'l', 'i', 'n', 'e', '\0', 'p', 'l', 'u',
's', '\0', 'e', 'l', 'i', 'g', '\0', 'l', 'a', 'q',
'u', 'o', '\0', 'm', 'b', 'd', 'a', '\0', 'r', 'r',
'\0', 'n', 'g', '\0', 'A', 'r', 'r', '\0', 'o', 'w',
'a', 's', 't', '\0', 'z', '\0', 'e', '\0', 'c', 'e',
'i', 'l', '\0', 'f', 'l', 'o', 'o', 'r', '\0', 't',
'\0', 'r', 'm', '\0', 's', 'q', 'u', 'o', '\0', 'a',
'q', 'u', 'o', '\0', 'd', 'q', 'u', 'o', '\0', 'r',
'e', 'g', '\0', 'a', 'l', '\0', 'a', 'q', 'u', 'o',
'\0', 'r', 'r', '\0', 'd', 'i', 'c', '\0', 'n', 'g',
'\0', 'h', 'o', '\0', 'A', 'r', 'r', '\0', 'c', 'e',
'i', 'l', '\0', 'f', 'l', 'o', 'o', 'r', '\0', 'l',
'm', '\0', 's', 'q', 'u', 'o', '\0', 'a', 'q', 'u',
'o', '\0', 'd', 'q', 'u', 'o', '\0', 'm', 'a', 'c',
'r', '\0', 'i', 'c', 'r', 'o', '\0', 'd', 'd', 'o',
't', '\0', 'n', 'u', 's', '\0', 'u', '\0', 'd', 'a',
's', 'h', '\0', 'd', 'e', 'g', '\0', 'l', 't', 'a',
'\0', 'i', 'v', 'i', 'd', 'e', '\0', 'a', 'm', 's',
'\0', 'a', 'r', 'r', '\0', 'g', 'g', 'e', 'r', '\0',
'A', 'r', 'r', '\0', 'f', 'r', 'a', 'c', '1', '4',
'\0', '2', '\0', '3', '4', '\0', 's', 'l', '\0', 'n',
'o', 'f', '\0', 'o', 'r', 'a', 'l', 'l', '\0', 'A',
'g', 'r', 'a', 'v', 'e', '\0', 'a', 'c', 'u', 't',
'e', '\0', 'c', 'i', 'r', 'c', '\0', 't', 'i', 'l',
'd', 'e', '\0', 'u', 'm', 'l', '\0', 'r', 'i', 'n',
'g', '\0', 'E', 'l', 'i', 'g', '\0', 'l', 'p', 'h',
'a', '\0', 'C', 'c', 'e', 'd', 'i', 'l', '\0', 'h',
'i', '\0', 'E', 'g', 'r', 'a', 'v', 'e', '\0', 'a',
'c', 'u', 't', 'e', '\0', 'c', 'i', 'r', 'c', '\0',
'u', 'm', 'l', '\0', 'T', 'H', '\0', 'p', 's', 'i',
'l', 'o', 'n', '\0', 't', 'a', '\0', 'I', 'g', 'r',
'a', 'v', 'e', '\0', 'a', 'c', 'u', 't', 'e', '\0',
'c', 'i', 'r', 'c', '\0', 'u', 'm', 'l', '\0', 'o',
't', 'a', '\0', 'N', 't', 'i', 'l', 'd', 'e', '\0',
'u', '\0', 'O', 'g', 'r', 'a', 'v', 'e', '\0', 'a',
'c', 'u', 't', 'e', '\0', 'c', 'i', 'r', 'c', '\0',
't', 'i', 'l', 'd', 'e', '\0', 'u', 'm', 'l', '\0',
's', 'l', 'a', 's', 'h', '\0', 'm', 'i', 'c', 'r',
'o', 'n', '\0', 'e', 'g', 'a', '\0', 'E', 'l', 'i',
'g', '\0', 't', 'i', 'm', 'e', 's', '\0', 'l', 'd',
'e', '\0', 'h', 'o', 'r', 'n', '\0', 'e', 't', 'a',
's', 'y', 'm', '\0', 'r', 'e', '4', '\0', 'i', 'n',
's', 'p', '\0', 'a', 'u', '\0', 'r', 'a', 'd', 'e',
'\0', 'U', 'g', 'r', 'a', 'v', 'e', '\0', 'a', 'c',
'u', 't', 'e', '\0', 'c', 'i', 'r', 'c', '\0', 'u',
'm', 'l', '\0', 'p', 's', 'i', 'l', 'o', 'n', '\0',
'Y', 'a', 'c', 'u', 't', 'e', '\0', 'u', 'm', 'l',
'\0', 'T', 'H', 'O', 'R', 'N', '\0', 'h', 'e', 't',
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -