FIX: Uitzonderingsfout System.XML.XSL.XsltException treedt op wanneer u een XSLT-transformatie uitvoeren via een XSLT-opmaakmodel dat gebruikmaakt van de functie voor getalnotatie

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 832757 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Maken van een opmaakmodel XSLT (Extensible Stylesheet Language Transformation) die gebruikmaakt van degetalnotatiefunctie. In Microsoft Visual Studio.NET als u een XSLT-transformatie probeert te converteren positief wordt dit opmaakmodel getallen tekenreeksen System.XML.XSL.XsltException treedt op. Oplossen het probleem downloaden en installeren van een hotfix. Contactpersoon voor de hotfix Microsoft Product Support Services.

Symptomen

U kunt een Extensible Stylesheet Language maken Transformatie (XSLT)-opmaakmodel dat gebruikmaakt van degetalnotatiefunctie. In Microsoft Visual Studio.NET wanneer u een XSLT-transformatie uitvoeren met behulp van dit opmaakmodel positieve converteren getallen of tekenreeksen, wordt het volgende foutbericht weergegeven:
Een onverwerkte uitzondering van het type 'System.Xml.Xsl.XsltException' opgetreden in system.xml.dll
Als u weer een uitzondering verwerken de interne uitzondering en uitzondering weergegeven, verschijnt het volgende uitvoer:
System.ArgumentException: NumberGroupSizes
Parameternaam: elk element in de waardematrix moet worden tussen een en negen, behalve voor het laatste element dat nul kan zijn.
bij System.Globalization.NumberFormatInfo.CheckGroupSize (String propName, Int32] groupSize)
bij System.Xml.Xsl.XsltCompileContext.FormatNumber (dubbele waarde FormatPattern, String formatName String)
bij System.XML.XSL.FuncFormatNumber.Invoke (XsltContext is XsltContext is, Object [] args XPathNavigator docContext)
bij System.XML.XPath.XsltFunction.InvokeFunction (XPathNavigator qy, Iterator voor XPathNodeIterator)

De functie 'format-number()' is mislukt.

Oplossing

Een ondersteunde hotfix is nu beschikbaar Microsoft, maar is alleen bedoeld voor het probleem dat wordt beschreven in in dit artikel. Alleen toegepast op systemen waarop dit specifieke ondervindt probleem. Deze hotfix wellicht extra worden getest. Dus als u niet ernstige problemen ondervindt, is het raadzaam te wachten op de volgende servicepack waarin deze hotfix.

Dit probleem kunt oplossen onmiddellijk contact op met Microsoft Product Support Services om de hotfix te verkrijgen. Voor een volledige lijst van Microsoft Product Support Services telefoonnummers en informatie over kosten van ondersteuning vindt u op de volgende Microsoft-website:
http://support.Microsoft.com/contactus/?ws=support
OpmerkingIn speciale gevallen kunnen kosten die normaal verbonden voor worden geannuleerd als een medewerker van Microsoft Productondersteuning een specifieke update wordt het probleem opgelost. De normale ondersteuningskosten wordt gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie.De Engelse versie versie van deze hotfix heeft de bestandskenmerken (of hoger) die worden weergegeven de volgende tabel. De datums en tijden voor deze bestanden worden vermeld in Coordinated universal time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt naar lokale tijd geconverteerd. Om het verschil tussen UTC en lokale tijd gebruiken deTijdzonetabblad in het onderdeel Datum en tijd in het Configuratiescherm.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   03-Dec-2003  19:43  1.1.4322.978    1,339,392  System.xml.dll

Status

Microsoft heeft bevestigd dat dit probleem in de Microsoft-producten die worden vermeld is in de sectie 'Van toepassing op'.

Meer informatie

Stappen om het gedrag te reproduceren

  1. Een consoletoepassing project maken

    1. Start Microsoft Visual Studio.2003 NET.
    2. Op deBestandin het menuNieuwe, en klik vervolgens opProject.
    3. OnderProjecttypen, klik opVisual C#-projecten, en klik vervolgens opConsole ToepassingonderSjablonen.
    4. In deNaamin het vakFormatNumConsole.
    5. Klik opOK. Standaard deClass1.csCodevenster wordt geopend.
  2. Maak een XSLT-opmaakmodel dat gebruikmaakt van de functie voor getalnotatie

    1. In de Solution Explorer met de rechtermuisknopFormatNumConsole, wijsToevoegen, en Klik opNieuw Item toevoegen. DeNieuw Item - toevoegen FormatNumConsolehet dialoogvenster weergegeven.
    2. OnderCategorieën, klik opLokale Projectitems.
    3. OnderSjablonen, klik opXSLT Bestand.
    4. In deNaamin het vakindeling number.xslt, en klik vervolgens opOpen. Deindeling number.xsltCodevenster wordt geopend.
    5. Bestaande XML-code vervangen door de volgende XML code voor de presentatie van XML-gegevens maken
      <?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. Een XML-bestand waarmee XML-gegevens maken

    1. In de Solution Explorer met de rechtermuisknopFormatNumConsole, wijsToevoegen, en Klik opNieuw Item toevoegen. DeNieuw Item - toevoegen FormatNumConsolehet dialoogvenster weergegeven.
    2. OnderSjablonen, klik opXML Bestand.
    3. In deNaamin het vakindeling number.xml, en klik vervolgens opOpen. Deindeling number.xmlCodevenster wordt geopend.
    4. Bestaande XML-code vervangen door de volgende XML gegevens van XML-code:
      <?xml version="1.0" encoding="UTF-8"?>
      <root>
          <number>1000</number>
      </root>
  4. Een XSLT-transformatie uitvoeren met behulp van XSLT-opmaakmodel en het XML-bestand

    1. Overschakelen naar het venster Class1.cs Code.
    2. Bestaande code vervangen door de volgende code in Gebruik deXslTransformklasse XML-gegevens met behulp van de stijl van XSLT-transformatie blad.

      OpmerkingIn de volgende code gebruikt de juiste bestandspaden in de aanroepen naar deXPathDocumentconstructor enxsltProcessor.Loadmethode:
      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. De toepassing bouwen en uitvoeren van de toepassing. De uitvoer is vermeld in de sectie 'Symptomen' wordt weergegeven in een console venster.

Referenties

Klik voor meer informatie de de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base:
824684Beschrijving van de standaardterminologie die wordt gebruikt om te beschrijven Microsoft software-updates
307494Het XSL-transformatie toepassen op XML voor streaming via Visual C#.NET
Bezoek de volgende Microsoft voor meer informatie. Developer Network (MSDN)-websites:
XsltException, klasse
http://msdn2.Microsoft.com/en-us/library/System.XML.XSL.XsltException (vs.71) .aspx
functie voor getalnotatie
http://msdn2.Microsoft.com/en-us/library/ws343esk.aspx
XslTransform, klasse
http://msdn2.Microsoft.com/en-us/library/System.XML.XSL.XSLTransform (vs.71) .aspx

Eigenschappen

Artikel ID: 832757 - Laatste beoordeling: zaterdag 5 maart 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft .NET Framework 1.1
Trefwoorden: 
kbqfe kbhotfixserver kbbug kbformat kbstyle kbxml kbsample kberrmsg kbcode kbfix kbmt KB832757 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:832757

Geef ons feedback

 

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