Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

XPath silently ignores erroneous evaluation where a nodeset is required

Ouverte
#350 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
ruby
Domaine
backend

Piste de recherche

Commencez par suivre l’évaluation XPath de REXML pour les expressions indiquées et la discussion liée dans la pull request #342. Vérifiez comment les arguments de fonction, les expressions de chemin, les variables, les littéraux, la négation et les expressions entre parenthèses gèrent les valeurs qui ne sont pas des nodeset. C’est terminé lorsque chaque exemple qui nécessite un nodeset signale une erreur d’évaluation au lieu d’être ignoré silencieusement, tandis que les cas valides de id() restent valides.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

In XPath evaluation, some evaluated part is required to be a nodeset. If not, it should result in error.
https://github.com/ruby/rexml/pull/342#discussion_r3566072520

Examples:

# Function argument that requires nodeset
local-name(1)
sum("string")
count(1 < 2)

# Path after function that doesn't return a nodeset
# id("a")/path id("a")[predicate] is valid
string(a/b)[predicate]
string(a/b)/path

# Path after non-nodeset variable
$x[predicate]
$x/path

# Path after literal
"string"[predicate]
42/path

# Path after neg
-number(a/b)[predicate]
-number(a/b)/path

# Path after parenthesized expression
(1)[predicate]
(1)/path
Langage dominant
Ruby
Étoiles
181
Forks
105
Merge moyen
11 h 3 min
PR mergées (30 j)
1

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ruby/rexml

Toutes les issues de ruby/rexml

Issues similaires

Plus d'issues Ruby

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.