private void ElementValueWithoutWS(XPathNavigator nav, StringBuilder builder) {
Debug.Assert(nav.NodeType == XPathNodeType.Element);
bool preserve = this.Stylesheet.PreserveWhiteSpace(this, nav);
if (nav.MoveToFirstChild()) {
do {
switch (nav.NodeType) {
case XPathNodeType.Text :
case XPathNodeType.SignificantWhitespace :
builder.Append(nav.Value);
break;
case XPathNodeType.Whitespace :
if (preserve) {
builder.Append(nav.Value);
}
break;
case XPathNodeType.Element :
ElementValueWithoutWS(nav, builder);
break;
}
}while (nav.MoveToNext());
nav.MoveToParent();
}
}