Example #1
0
        private static void PrepareSort(XPathExpression expression, XPathNavigator source,
            object sortExpression, IComparer comparer, XmlNamespaceManager context)
        {
            XPathExpression se;

            if (sortExpression is string)
            {
                se = GetCompiledExpression((string)sortExpression, source);
            }
            else if (sortExpression is XPathExpression)
            {
                se = (XPathExpression)sortExpression;
            }
            else
            {
                throw new XPathException(Monobjc.Tools.Sdp.Properties.Resources.XPathCache_BadSortObject, null);
            }

            se.SetContext(context);
            expression.AddSort(se, comparer);
        }
Example #2
0
 private static void PrepareSort(XPathExpression expression, XPathNavigator source,
     object sortExpression, IComparer comparer)
 {
     if (sortExpression is string)
     {
         expression.AddSort(
             GetCompiledExpression((string)sortExpression, source), comparer);
     }
     else if (sortExpression is XPathExpression)
     {
         expression.AddSort(sortExpression, comparer);
     }
     else
     {
         throw new XPathException(Monobjc.Tools.Sdp.Properties.Resources.XPathCache_BadSortObject, null);
     }
 }
Example #3
0
 private static void PrepareSort(XPathExpression expression, XPathNavigator source,
     object sortExpression, XmlSortOrder order, XmlCaseOrder caseOrder, string lang, XmlDataType dataType)
 {
     if (sortExpression is string)
     {
         expression.AddSort(
             GetCompiledExpression((string)sortExpression, source),
             order, caseOrder, lang, dataType);
     }
     else if (sortExpression is XPathExpression)
     {
         expression.AddSort(sortExpression, order, caseOrder, lang, dataType);
     }
     else
     {
         throw new XPathException(Monobjc.Tools.Sdp.Properties.Resources.XPathCache_BadSortObject, null);
     }
 }
Example #4
0
 /// <summary>
 /// Prepares the Xpath navigator to improve performance for GetNextId().
 /// </summary>
 private void PrepareIdNavigator()
 {
     m_navigator = m_dictionary.CreateNavigator();
     m_expression = m_navigator.Compile(m_basePath);
     m_expression.AddSort(m_XPathId, XmlSortOrder.Descending, XmlCaseOrder.None, String.Empty, XmlDataType.Number);
 }
Example #5
0
		private static void PrepareSort(XPathExpression expression, XPathNavigator source, object sortExpression,
			XmlSortOrder order, XmlCaseOrder caseOrder, string lang, XmlDataType dataType,
			XmlNamespaceManager context)
		{
			XPathExpression se;

			if (sortExpression is string)
			{
				se = GetCompiledExpression((string)sortExpression, source);
			}
			else if (sortExpression is XPathExpression)
			{
				se = (XPathExpression)sortExpression;
			}
			else
			{
				throw new XPathException(Properties.Resources.XPathCache_BadSortObject, null);
			}

			se.SetContext(context);
			expression.AddSort(se, order, caseOrder, lang, dataType);
		}
Example #6
0
		public void AddToExpr (XPathExpression e, XslTransformProcessor p)
		{
			e.AddSort (
				expr,
				orderAvt == null ? order : ParseOrder (orderAvt.Evaluate (p)),
				caseOrderAvt == null ? caseOrder: ParseCaseOrder (caseOrderAvt.Evaluate (p)),
				langAvt == null ? lang : ParseLang (langAvt.Evaluate (p)),
				dataTypeAvt == null ? dataType : ParseDataType (dataTypeAvt.Evaluate (p))
			);
		}