Un opérateur inférieur provoque une erreur "pas bien formée" dans xsl-if
Je vais à travers le w3cschools XSLT tutoriel, et je suis à cette page: xsl-si.
Sur cette page (en rouge) est le texte <xsl:if test="price > 10">
. Les travaux de cette. J'ai modifié le code pour utiliser "<"
et qui fonctionne très bien aussi.
J'ai testé <xsl:if test="price > 10">
(notez l'utilisation de >
au lieu de la >
). Cela fonctionne aussi.
Mais cela échoue: <xsl:if test="price < 10">
. L'erreur est XML Parsing Error: not well-formed
et il pointe à la <
symbole de l'expression.
Si le >
symbole a bien fonctionné, pourquoi à l'aide de la <
échec? (J'utilise FireFox)
source d'informationauteur Zabba
Vous devez vous connecter pour publier un commentaire.
Parce que le "<" le caractère est l'un des quelques-uns qui sont illégaux dans une valeur d'attribut (c'est le début de la balise de caractère).
De la Spécification XML
Que peut être clairement vu, le "<" et "&" les caractères ne sont pas autorisés dans la valeur de l'attribut.
Mise à jour: Comme l'a remarqué par @Tomalak, le dessus doit lire:
Que peut être clairement vu, le "<" et "&" les caractères (sauf si ce dernier fait partie d'une entité de référence ou référence de caractère) ne sont pas autorisés à toute valeur d'attribut.
Vous pouvez également voir la réponse de la ce sur w3schools:
http://www.w3schools.com/xmL/xml_syntax.asp
La forme non codée "ouverture" support
<
est généralement pas valide dans les valeurs d'attribut XML comme par le XML spec.Tandis que la "clôture" support
>
est autorisé à utiliser il est en fait mauvais style (à mon humble avis). Les valeurs d'attribut XML doivent être encodés en XML, période.