private static bool SubsetP (string[] r1, string[] r2)
{
+ if (r2 == null)
+ return true;
foreach (string s in r1)
if (! SubsetP (s, r2))
return false;
private static bool SubsetP (string str, string[] r)
{
+ if (r == null)
+ return true;
foreach (string s in r)
if (str == s)
return true;
private static bool SubsetP (Symbol[] r1, Symbol[] r2)
{
+ if (r2 == null)
+ return true;
foreach (Symbol n in r1)
if (! SubsetP (n, r2))
return false;
private static bool SubsetP (Symbol name, Symbol[] r)
{
+ if (r == null)
+ return true;
foreach (Symbol n in r)
if (name == n)
return true;
Variable vari;
node = node.FirstChild;
- if (node.Name == Ndescription)
+ if (node != null && node.Name == Ndescription)
{
desc = node.InnerText;
node = node.NextSibling;
desc = null;
if (node != null)
{
- Symbol type = node.Name;
+ XmlNode nn;
+ if (node.Name == "value")
+ nn = node.FirstChild;
+ else
+ nn = node;
+ Symbol type = nn.Name;
XmlNodeList range_list = null;
int nranges = 0;
- string val = node.InnerText;
+ string val = nn.InnerText;
node = node.NextSibling;
if (node != null)
{
range[i * 2]
= range[i * 2 + 1]
- = parse_integer (n.InnerText);
+ = parse_integer (n.FirstChild.InnerText);
}
}
}
{
range = new string[nranges];
for (int i = 0; i < nranges; i++)
- range[i] = range_list[i].InnerText;
+ range[i] = range_list[i].FirstChild.InnerText;
}
if (variables.TryGetValue (name, out vari))
{
range = new Symbol[nranges];
for (int i = 0; i < nranges; i++)
- range[i] = range_list[i].InnerText;
+ range[i] = range_list[i].FirstChild.InnerText;
}
if (variables.TryGetValue (name, out vari))