View over a Qil operator having one child.
Don't construct QIL nodes directly; instead, use the QilFactory.
Наследование: QilNode
Пример #1
0
 protected override QilNode VisitDocumentCtor(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #2
0
 public XmlQueryType CheckPrefixOf(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.Node);
     return XmlQueryTypeFactory.StringX;
 }
Пример #3
0
 public XmlQueryType CheckXPathPreceding(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.ContentS;
 }
Пример #4
0
 public XmlQueryType CheckDescendantOrSelf(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.Choice(node.Child.XmlType, XmlQueryTypeFactory.ContentS);
 }
Пример #5
0
 public XmlQueryType CheckRawTextCtor(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.StringX);
     return XmlQueryTypeFactory.Text;
 }
Пример #6
0
 public XmlQueryType CheckAverage(QilUnary node) {
     XmlQueryType xmlType = node.Child.XmlType;
     CheckNumericXS(node.Child);
     return XmlQueryTypeFactory.PrimeProduct(xmlType, xmlType.MaybeEmpty ? XmlQueryCardinality.ZeroOrOne : XmlQueryCardinality.One);
 }
Пример #7
0
 public XmlQueryType CheckDocOrderDistinct(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtfS);
     return DistinctType(node.Child.XmlType);
 }
Пример #8
0
 protected override QilNode VisitXPathNamespace(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #9
0
 protected override QilNode VisitXsltGenerateId(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #10
0
 protected override QilNode VisitIsEmpty(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #11
0
 protected override QilNode VisitXPathPreceding(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #12
0
 protected override QilNode VisitPrefixOf(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #13
0
 protected override QilNode VisitNamespaceUriOf(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #14
0
 protected override QilNode VisitLocalNameOf(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #15
0
 public XmlQueryType CheckWarning(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.StringX);
     return XmlQueryTypeFactory.Empty;
 }
Пример #16
0
 protected override QilNode VisitXsltCopyOf(QilUnary n)
 {
     return(NoReplace(n));
 }
Пример #17
0
 public XmlQueryType CheckNot(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.BooleanX);
     return XmlQueryTypeFactory.BooleanX;
 }
 public XmlQueryType CheckIsEmpty(QilUnary node)
 {
     return(XmlQueryTypeFactory.BooleanX);
 }
Пример #19
0
 //-----------------------------------------------
 // arithmetic operators
 //-----------------------------------------------
 public XmlQueryType CheckNegate(QilUnary node) {
     CheckNumericX(node.Child);
     return node.Child.XmlType;
 }
 //-----------------------------------------------
 // XPath operators
 //-----------------------------------------------
 public XmlQueryType CheckXPathNodeValue(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeS);
     return(XmlQueryTypeFactory.StringX);
 }
Пример #21
0
 public XmlQueryType CheckRoot(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.NodeNotRtf;
 }
 public XmlQueryType CheckXPathPreceding(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return(XmlQueryTypeFactory.ContentS);
 }
Пример #23
0
 public XmlQueryType CheckAncestorOrSelf(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.Choice(node.Child.XmlType, XmlQueryTypeFactory.DocumentOrElementS);
 }
 public XmlQueryType CheckXPathNamespace(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return(XmlQueryTypeFactory.NamespaceS);
 }
Пример #25
0
 //-----------------------------------------------
 // Node properties
 //-----------------------------------------------
 public XmlQueryType CheckNameOf(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.Node);
     return XmlQueryTypeFactory.QNameX;
 }
 //-----------------------------------------------
 // XSLT
 //-----------------------------------------------
 public XmlQueryType CheckXsltGenerateId(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtfS);
     return(XmlQueryTypeFactory.StringX);
 }
Пример #27
0
 public XmlQueryType CheckIsEmpty(QilUnary node) {
     return XmlQueryTypeFactory.BooleanX;
 }
 public XmlQueryType CheckOptimizeBarrier(QilUnary node)
 {
     return(node.Child.XmlType);
 }
Пример #29
0
 //-----------------------------------------------
 // XSLT
 //-----------------------------------------------
 public XmlQueryType CheckXsltGenerateId(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtfS);
     return XmlQueryTypeFactory.StringX;
 }
 public XmlQueryType CheckNop(QilUnary node)
 {
     return(node.Child.XmlType);
 }
Пример #31
0
 public XmlQueryType CheckError(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.StringX);
     return XmlQueryTypeFactory.None;
 }
 public XmlQueryType CheckError(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.StringX);
     return(XmlQueryTypeFactory.None);
 }
Пример #33
0
 public XmlQueryType CheckPositionOf(QilUnary node) {
     return XmlQueryTypeFactory.IntX;
 }
 public XmlQueryType CheckWarning(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.StringX);
     return(XmlQueryTypeFactory.Empty);
 }
Пример #35
0
 //-----------------------------------------------
 // collection operators
 //-----------------------------------------------
 public XmlQueryType CheckLength(QilUnary node) {
     return XmlQueryTypeFactory.IntX;
 }
 public XmlQueryType CheckPositionOf(QilUnary node)
 {
     return(XmlQueryTypeFactory.IntX);
 }
Пример #37
0
 public XmlQueryType CheckMaximum(QilUnary node) {
     return CheckAverage(node);
 }
 public XmlQueryType CheckNot(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.BooleanX);
     return(XmlQueryTypeFactory.BooleanX);
 }
Пример #39
0
 //-----------------------------------------------
 // string operators
 //-----------------------------------------------
 public XmlQueryType CheckStrLength(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.StringX);
     return XmlQueryTypeFactory.IntX;
 }
 //-----------------------------------------------
 // collection operators
 //-----------------------------------------------
 public XmlQueryType CheckLength(QilUnary node)
 {
     return(XmlQueryTypeFactory.IntX);
 }
Пример #41
0
 //-----------------------------------------------
 // XML navigation
 //-----------------------------------------------
 public XmlQueryType CheckContent(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.AttributeOrContentS;
 }
 public XmlQueryType CheckMaximum(QilUnary node)
 {
     return(CheckAverage(node));
 }
Пример #43
0
 public XmlQueryType CheckDescendant(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.ContentS;
 }
 //-----------------------------------------------
 // arithmetic operators
 //-----------------------------------------------
 public XmlQueryType CheckNegate(QilUnary node)
 {
     CheckNumericX(node.Child);
     return(node.Child.XmlType);
 }
Пример #45
0
 public XmlQueryType CheckAncestor(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.DocumentOrElementS;
 }
 //-----------------------------------------------
 // string operators
 //-----------------------------------------------
 public XmlQueryType CheckStrLength(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.StringX);
     return(XmlQueryTypeFactory.IntX);
 }
Пример #47
0
 public XmlQueryType CheckFollowingSibling(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.ContentS;
 }
 public XmlQueryType CheckDocOrderDistinct(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtfS);
     return(DistinctType(node.Child.XmlType));
 }
Пример #49
0
 public XmlQueryType CheckDocumentCtor(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtfS);
     return XmlQueryTypeFactory.UntypedDocument;
 }
 //-----------------------------------------------
 // XML navigation
 //-----------------------------------------------
 public XmlQueryType CheckContent(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return(XmlQueryTypeFactory.AttributeOrContentS);
 }
Пример #51
0
 public XmlQueryType CheckNamespaceUriOf(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.Node);
     return XmlQueryTypeFactory.StringX;
 }
 public XmlQueryType CheckParent(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return(XmlQueryTypeFactory.DocumentOrElementQ);
 }
Пример #53
0
 //-----------------------------------------------
 // Copy operators
 //-----------------------------------------------
 public XmlQueryType CheckDeepCopy(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return node.XmlType;
 }
 public XmlQueryType CheckRoot(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return(XmlQueryTypeFactory.NodeNotRtf);
 }
Пример #55
0
 //-----------------------------------------------
 // XPath operators
 //-----------------------------------------------
 public XmlQueryType CheckXPathNodeValue(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeS);
     return XmlQueryTypeFactory.StringX;
 }
 public XmlQueryType CheckDescendant(QilUnary node)
 {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return(XmlQueryTypeFactory.ContentS);
 }
Пример #57
0
 public XmlQueryType CheckXPathNamespace(QilUnary node) {
     CheckXmlType(node.Child, XmlQueryTypeFactory.NodeNotRtf);
     return XmlQueryTypeFactory.NamespaceS;
 }
Пример #58
0
 public XmlQueryType CheckNop(QilUnary node) {
     return node.Child.XmlType;
 }
Пример #59
0
        public XmlQueryType CheckXsltCopyOf(QilUnary node) {
            CheckXmlType(node.Child, XmlQueryTypeFactory.Node);

            if ((node.Child.XmlType.NodeKinds & XmlNodeKindFlags.Document) != 0)
                return XmlQueryTypeFactory.NodeNotRtfS;

            return node.Child.XmlType;
        }
Пример #60
0
 protected override QilNode VisitRawTextCtor(QilUnary n)
 {
     return(NoReplace(n));
 }