Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

XPath silently ignores erroneous evaluation where a nodeset is required

Aperta
#350 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
ruby
Ambito
backend

Direzione di ricerca

Inizia tracciando la valutazione XPath di REXML per le espressioni elencate e la discussione collegata nella pull request #342. Verifica come gli argomenti delle funzioni, le espressioni di percorso, le variabili, i valori letterali, la negazione e le espressioni tra parentesi gestiscono i valori che non sono nodeset. Il lavoro è completato quando ogni esempio che richiede un nodeset segnala un errore di valutazione invece di essere ignorato silenziosamente, mentre i casi validi di id() rimangono validi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
Ruby
Stelle
181
Fork
104
Merge medio
11h 3m
PR unite (30g)
1

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ruby/rexml

Tutte le issue di ruby/rexml

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.