public override object GetValue(object o) { if (null == o) throw new ArgumentNullException("XPathNodeViewPropertyDescriptor.GetValue"); XPathNodeView xiv = (XPathNodeView)o; if (xiv.Collection.RowShape != this.rowShape) throw new ArgumentException("XPathNodeViewPropertyDescriptor.GetValue"); object val = xiv.Column(this.colIndex); XPathNode nd = val as XPathNode; if (null != nd) { XPathDocumentNavigator nav = new XPathDocumentNavigator(nd, null); XmlSchemaType xst = nd.SchemaType; XmlSchemaComplexType xsct = xst as XmlSchemaComplexType; if (null == xst || ( (null != xsct) && xsct.IsMixed) ) { return nav.InnerXml; } else { return nav.TypedValue; } } return val; }
private XPathDocumentNavigator( XPathDocumentNavigator nav ) { this.doc = nav.doc; this.node = nav.node; this.parentOfNs = nav.parentOfNs; }
public XPathDocumentEveryChildIterator(XPathDocumentEveryChildIterator it) { this.nav = (XPathDocumentNavigator) it.nav.Clone(); this.first = it.first; this.position = it.position; }
internal XPathDocumentEveryChildIterator(XPathDocumentNavigator nav) { this.nav = nav; }
internal XPathDocumentChildIterator(XPathDocumentNavigator nav, string name, string namespaceURI) { this.nav = nav; this.name = nav.NameTable.Add(name); this.uri = nav.NameTable.Add(namespaceURI); }
public XPathDocumentDescendantOrSelfIterator(XPathDocumentNavigator nav, string name, string namespaceURI) : base(nav, name, namespaceURI) {}
public XPathDocumentDescendantIterator(XPathDocumentDescendantIterator it) { this.nav = (XPathDocumentNavigator) it.nav.Clone(); this.name = it.name; this.uri = it.uri; this.level = it.level; this.position = it.position; }