HOE MEER FOUT: De markup in het document na het root-element moet goed worden gevormd

Ik heb mijn code in de XML-validatie-website geplaatst en het geeft me deze fout:

Lijn 8: 4 De markup in het document na het root-element moet goed worden gevormd.

De regel die een probleem heeft, is de <xsl:output method = "html" doctype-system = "about:legacy-compat"/>, LINE.

XML

<?xml version="1.0"?>
<!-- Fig. 15.21: sorting.xsl -->
<xsl:stylesheet version = "1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
<!-- write XML declaration and DOCTYPE DTD information -->
*<xsl:output method = "html" doctype-system = "about:legacy-compat" />*
 <!-- match document root -->
 <xsl:template match="/"> -<html> <xsl:apply-templates/> </html> 
 </xsl:template>

Antwoord 1, Autoriteit 100%

Algemene zaak

De markup in het document na het root-element moet goed worden gevormd.

Deze fout geeft aan dat uw XML op markering heeft na het root-element.
Om goed gevormd , xml Moet exact één root-element hebben, en er kan geen enkele markering zijn na de single root-element.

Eén root-elementvoorbeeld (goed)

<r>
  <a/>
  <b/>
  <c/>
</r>

De meest voorkomende bronnen voor deze fout zijn:

  1. inclusief zwerf of extra close-tags (slecht):

    <r>
      <a/>
      <b/>
      <c/>
    </r>
    </r>  <!-- shouldn't be here -->
    
  2. Opzettelijk meerdere root-elementen (BAD):

    <a/>
    <b/>  <!-- second root element shouldn't be here -->
    <c/>  <!-- third root element shouldn't be here -->
    
  3. Onbedoeld meerdere root-elementen (BAD):

    <r/>  <!-- shouldn't be self-closing -->
      <a/>
      <b/>
      <c/>
    </r>
    
  4. Andere XML ontleden dan u denkt (SLECHT):

    Log de XML onmiddellijk voordat u deze aan de parse geeft die is
    falen om ervoor te zorgen dat de XML die de parser is
    zien is hetzelfde als de XML die u denkt te zien. Gemeenschappelijk
    fouten hier zijn onder meer:

    • De bestandsnaam van het XML-document dat wordt doorgegeven aan de
      parser verschilt van wat u denkt dat het is.
    • De buffer van de XML is vuil. Zorg ervoor dat het is geweest
      gewist voordat u uw XML toevoegt.
    • Een eerder programma uit een eerdere fase in uw pijplijn
      het wijzigen van de XML voorafgaand aan het ontleden dat oplevert
      deze foutmelding.

Uw specifieke probleem

In jouw specifieke geval lijkt je XML meerdere root-elementen te hebben omdat het xsl:stylesheet-element voortijdig is gesloten (case #3hierboven).

Wijzigen

           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>

naar

           xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

om uw onmiddellijke probleem op te lossen en een afsluitende tag toe te voegen,

</xsl:stylesheet>

als er nog geen bestaat in uw echte document.


Antwoord 2

dit kan ook verschijnen vanwege verkeerde spaties in dit bestand

Other episodes