예제 #1
0
        internal override bool Accepts(XmlQualifiedName qname)
        {
            switch (contentType)
            {
            case Type.Sequence:
                return(left.Accepts(qname) || (left.Nullable() && right.Accepts(qname)));

            case Type.Choice:
                return(left.Accepts(qname) || right.Accepts(qname));

            default:
                return(left.Accepts(qname));
            }
        }
예제 #2
0
 private bool Accepts(ContentNode node, XmlQualifiedName qname, int positions, Object index)
 {
     if (index != null)
     {
         BitSet first = node.Firstpos(positions);
         for (int i = 0; i < first.Count; i++)
         {
             if (first.Get(i) && qname.Equals(((TerminalNode)terminalNodes[i]).Name))
             {
                 return(true);
             }
         }
         return(false);
     }
     else
     {
         return(node.Accepts(qname));
     }
 }