ИСПРАВЛЕНИЕ: Исключение System.Xml.Xsl.XsltException возникает при попытке выполнить преобразование XSLT с помощью таблицы стилей XSLT, использующей функцию форматирования числа

Переводы статьи Переводы статьи
Код статьи: 832757 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Создание таблицы стилей таблицы стилей преобразования (XSLT), который использует Формат номера функция. В Microsoft Visual Studio.NET при выполнении Преобразование XSLT, который использует данную таблицу стилей для преобразования положительное номера строк, возникает исключение System.Xml.Xsl.XsltException. Для решения проблему, загрузите и установите исправление. Чтобы получить исправление, свяжитесь с Служба технической поддержки Майкрософт Службы.

Проблема

Создание расширяемого языка стилей Использует таблицу стилей преобразования (XSLT) Формат номера функция. В Microsoft Visual Studio.NET, при попытке выполните преобразование XSLT с помощью этой таблицы стилей для преобразования положительное номера строк, появляется следующее сообщение об ошибке:
Необработанное исключение типа «System.Xml.Xsl.XsltException» в system.xml.dll
Если обработать исключение для отображения внутреннее исключение и сообщение об исключении, появляется следующее Вывод:
System.ArgumentException. NumberGroupSizes
Имя параметра: каждый элемент массива значение должно быть от одного до девяти, за исключением последнего элемента, которое может быть равным нулю.
в System.Globalization.NumberFormatInfo.CheckGroupSize (String propName, Int32] groupSize)
в System.Xml.Xsl.XsltCompileContext.FormatNumber (значение типа Double, Строка formatPattern, formatName строка)
в System.XML.XSL.FuncFormatNumber.Invoke (требеуется требеуется, объекта args [], XPathNavigator docContext)
в System.XML.XPath.XsltFunction.InvokeFunction (XPathNavigator qy Итератор XPathNodeIterator)

Функция «format-number()» не удалось.

Решение

Исправление теперь доступна Microsoft, но оно предназначено только для устранения проблемы, описанной в в этой статье. Должно применяться исключительно в системах, где в этом конкретные проблема. Это исправление находится на стадии дополнительного тестирования. Таким образом Если вы не являетесь вызывает серьезные проблемы, мы рекомендуем дождаться следующего пакет обновления, содержащего это исправление.

Для решения этой проблемы немедленно обратитесь в службу технической поддержки корпорации Майкрософт для получения исправления. Для получения полного списка технической поддержки корпорации Майкрософт телефонные номера и сведения о стоимости поддержки, посетите следующий веб-узел корпорации Майкрософт:
http://support.Microsoft.com/contactus/?ws=Support
Примечание В особых случаях, расходов, предусмотренная для обращений в службу поддержки, может быть отменена, если специалистом службы поддержки корпорации Майкрософт что какого-либо обновления устранит проблему. Затраты на обычные службы поддержки будет применить дополнительные вопросы и проблемы, которые не соответствуют требованиям особым обновлением. Английский версия исправления содержит атрибуты файлов (или более поздней версии), приведенные в в следующей таблице. Дата и время для файлов указаны в Всеобщее скоординированное время (UTC). При просмотре сведений о файле преобразуются в местное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует используйте очередь Часовой пояс вкладку Дата и время на панели управления.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   03-Dec-2003  19:43  1.1.4322.978    1,339,392  System.xml.dll

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Относится к».

Дополнительная информация

Действия по воспроизведению проблемы

  1. Создание проекта консольного приложения

    1. Запустите Microsoft Visual Studio.NET 2003.
    2. На Файл Выберите пункт Новый, а затем нажмите кнопку Проект.
    3. В группе Типы проектов, нажмите кнопку Проекты Visual C#, а затем нажмите кнопку Консоль Приложение Из списка Шаблоны.
    4. В Имя поле типа FormatNumConsole.
    5. Нажмите кнопку ОК. По умолчанию Класс Class1.cs Откроется окно кода.
  2. Создание таблицы стилей XSLT, использующей функцию форматирования числа

    1. В обозревателе решений щелкните правой кнопкой мыши FormatNumConsole, выберите пункт Добавить, а затем Нажмите кнопку Добавление нового элемента. В Добавление нового элемента: FormatNumConsole Появится диалоговое окно.
    2. В группе Категории, нажмите кнопку Локальные Элементы проекта.
    3. В группе Шаблоны, нажмите кнопку XSLT Файл.
    4. В Имя поле типа Формат number.xslt, а затем нажмите кнопку Открыть. В Формат number.xslt Окно кода Открытие.
    5. Замените существующий код XML следующий XML-код код для создания шаблона для представления XML-данных:
      <?xml version="1.0" encoding="UTF-8"?>
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
          <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
          <xsl:template match="/">
              <table>
                  <xsl:apply-templates />
              </table>
          </xsl:template>
          <xsl:template match="number">
              <tr><td><xsl:value-of select="format-number(.,'#,##0;(#,##0)')"/></td></tr>
          </xsl:template>
      </xsl:stylesheet>
  3. Создайте XML-файл, который содержит XML-данных

    1. В обозревателе решений щелкните правой кнопкой мыши FormatNumConsole, выберите пункт Добавить, а затем Нажмите кнопку Добавление нового элемента. В Добавление нового элемента: FormatNumConsole Появится диалоговое окно.
    2. В группе Шаблоны, нажмите кнопку XML Файл.
    3. В Имя поле типа Формат number.xml, а затем нажмите кнопку Открыть. В Формат number.xml Откроется окно кода.
    4. Замените существующий код XML следующий XML-код код для предоставления данных XML:
      <?xml version="1.0" encoding="UTF-8"?>
      <root>
          <number>1000</number>
      </root>
  4. Попробуйте выполнить преобразование XSLT с помощью таблицы стилей XSLT и XML-файла

    1. Переключитесь в окно кода Class1.cs.
    2. Замените существующий код следующим кодом для Если данный пользователь является членом домена, то при вводе имени пользователя используйте формат XslTransform класс для преобразования данных XML с помощью стилей XSLT лист.

      Примечание В следующем коде с помощью пути к соответствующему файлу вызовы XPathDocument конструктор и xsltProcessor.Load метод:
      using System;
      using System.Xml;
      using System.Xml.XPath;
      using System.Xml.Xsl;
      using System.IO;
      using System.Text;
      
      namespace FormatNumConsole
      {
          class Class1
          {
              [STAThread]
              static void Main(string[] args)
              {
                  try
                  {
                      StringBuilder sb = new StringBuilder();
                      StringWriter sw = new StringWriter(sb);
      
                      // Load the XML data that you want to transform.
                      XPathDocument xmlDoc = new XPathDocument("C:\\FormatNumConsole\\format-number.xml");
      
                      // Load the XSLT style sheet that uses the format-number function.
                      XslTransform xsltProcessor = new XslTransform();
                      xsltProcessor.Load("C:\\FormatNumConsole\\format-number.xslt");
      
                      // Transform the XML data, and then send the output to the console.
                      xsltProcessor.Transform(xmlDoc,null,sw,null);
                  }
                  catch(Exception ex)
                  {
                      // Display the inner exception and the exception message.
                      Console.WriteLine(ex.InnerException.ToString());
                      Console.WriteLine();
                      Console.WriteLine(ex.Message);
                      Console.ReadLine();
                  }
              }
          }
      }
    3. Постройте приложение и запустите приложение. Выходные данные, описанное в разделе «Проблема» отображается в консоли окно.

Ссылки

Для получения дополнительных сведений нажмите кнопку следующие номера статей базы знаний Майкрософт:
824684Описание стандартной терминологии, используемой для описания Обновления программного обеспечения корпорации Майкрософт
307494 Практическое применение преобразования XSL к XML для потоковой передачи с помощью Visual C#.NET
Для получения дополнительных сведений посетите следующие корпорации Майкрософт Developer Network (MSDN) веб-узлов:
Класс XsltException
http://msdn2.Microsoft.com/en-us/library/System.XML.XSL.XsltException (vs.71) .aspx
функция форматирования числа
http://msdn2.Microsoft.com/en-us/library/ws343esk.aspx
Класс XslTransform
http://msdn2.Microsoft.com/en-us/library/System.XML.XSL.XslTransform (vs.71) .aspx

Свойства

Код статьи: 832757 - Последний отзыв: 17 июня 2011 г. - Revision: 6.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 1.1
Ключевые слова: 
kbqfe kbhotfixserver kbbug kbformat kbstyle kbxml kbsample kberrmsg kbcode kbfix kbmt KB832757 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:832757

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com