6
votes

Les navigateurs sont-ils autorisés à rendre
  • S dans n'importe quel ordre?
  • Si je comprends bien la spécification XML, la signification de l'ordre des éléments enfants n'est pas garantie. Les analyseurs XML ont tendance à garder des éléments d'enfant dans le même ordre que dans le document XML, mais ils ne sont pas obligés de le faire.

    Si c'est le cas, alors les navigateurs sont libres de rendre le

  • s dans un
      ou un
        Un ordre différent de celui qu'ils se produisent dans XHTML? Ou est-il spécifié dans la spécification XHTML quelque part que la commande doit être préservée?

        Je me rends compte que tous les grands navigateurs respecteront l'ordre de mon

      • s. Je suis juste intéressé par la question académique de savoir si elles sont ou non obligées de manière technique.

  • 5 commentaires

    Êtes-vous sûr de ne pas dire

      s?
        s représente des listes ordonnées, alors je serais surpris si elles étaient rendues hors de l'ordre. Cependant,
          s représente des listes non ordonnées, ledit comportement serait donc plus raisonnable.


          Ma question était spécifiquement sur

            s, mais je serais également intéressé par la même question pour
              s.


              Pourquoi pensez-vous que la séquence n'est pas significative dans XML - c'est certainement!


              La spécification XML 1.0 indique spécifiquement que les attributs sont non ordonnés, mais cela ne dit rien sur les éléments. Cela impliquerait que c'est jusqu'à l'analyseur.


              Non, ordre des éléments importateurs, de manière critique.


    3 Réponses :


    0
    votes

    Même si elles sont sous "aucune obligation" de le faire, ne vous inquiétez pas. Sauf si des circonstances exceptionnelles (dont je ne sais pas même un), l'analyseur HTML5 / SGML / XML pour HTML / XHTML mettra des éléments dans le DOM car ils apparaissent dans le document.

    non liée: Si vous utilisez XHTML, n'oubliez pas de l'envoyer en tant qu'application / XHTML + XML (sauf c.-à-SE; Vérifiez l'en-tête d'acceptation) - une chose aussi simple que la plupart des développeurs ne savent pas.


    3 commentaires

    Je ne suis pas inquiet que ma liste puisse montrer de l'ordre dans le navigateur de quelqu'un. Je suis intéressé d'un point de vue technique s'il serait légal d'inverser la commande lors de la rendu, par exemple.


    Dans le contexte des navigateurs et de la rendu HTML, ils ne devraient pas pour des raisons évidentes (même si vous dites que les règles de analyse DOM l'autorisent en général). Je ne sais pas le statut de cette question dans ce contexte dans les spécifications.


    Il y a certainement des circonstances exceptionnelles lorsque les processus Text / HTML analyse HTML non valide. Le plus connu est dans les tables. par exemple.

    ...
    ... entraînera éjecté le DIV de la table dans le DOM.



    4
    votes

    Selon le XHTML 1.1 Schéma pour les entités de la liste Le contenu de

      et
        est une séquence . Vérification du Specfication de schéma XML semble que fonctionne de telle sorte que " ... Les éléments d'information d'élément correspondent aux particules dans un ordre séquentiel ... ". Cela a tendance à me dire que cet ordre de telles séquences est significatif et doit être conservé.

    1 commentaires

    Ah, alors que le commandement de l'élément XML est indéfini, il existe une contrainte introduite dans le schéma XHTML qui oblige à être significatif?



    5
    votes

    Je pense que vous avez totalement mal interprété la spécification XML là-bas! L'ordre du contenu d'un élément ne doit pas être modifié dans le modèle construit de celui-ci. (NB: l'ordre de présentation pourrait être une question différente, s'il y avait des instructions spécifiques pour réorganiser visuellement. Mais ce serait bizarre et je ne sais pas si la CSS actuelle peut le faire.) Le seul une partie de XML qui est véritablement non ordonnée est des attributs; Ils sont une vraie carte sans ordonnée.

    FWIW, le contenu d'un

      est défini comme une séquence (c.-à-d., commandé!) de
    • éléments , alors les navigateurs ne peuvent pas réorganiser lors de la construction de l'arbre de document. C'est-à-dire que la réorganisation serait totalement erronée et personne (pas même l'équipe de développement IE) est suffisamment stupide de le faire.

    2 commentaires

    Pour autant que possible de le dire, les Spec Spec XML 1.0 L'ordre d'attribut n'est pas significatif, mais cela ne spécifie rien à propos de l'ordre des éléments - ibm.com/developerworks/xml/library/x-eleord.html#n1009e


    La spécification DOM est claire que les nœuds enfants de tout nœud (qui excluent les attributs) sont commandés; C'est-à-dire que le enfant d'un noeud est de type NODELIST , qui est un type commandé. Théoriquement, la réorganisation est possible lorsque le schéma est autorisé par le schéma (c'est vs ) mais ni html ni xhtml ne le permet au contenu de < Code>

      .