mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Fix xml_name_type()
Names with a trailing colon are not qualified names.
This commit is contained in:
parent
1906f835b9
commit
c557736d26
5 changed files with 9 additions and 35 deletions
|
@ -653,7 +653,7 @@ pub fn xml_name_type(name: &str) -> XMLName {
|
|||
let mut iter = name.chars();
|
||||
let mut non_qname_colons = false;
|
||||
let mut seen_colon = false;
|
||||
match iter.next() {
|
||||
let mut last = match iter.next() {
|
||||
None => return XMLName::InvalidXMLName,
|
||||
Some(c) => {
|
||||
if !is_valid_start(c) {
|
||||
|
@ -662,10 +662,11 @@ pub fn xml_name_type(name: &str) -> XMLName {
|
|||
if c == ':' {
|
||||
non_qname_colons = true;
|
||||
}
|
||||
c
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
for c in name.chars() {
|
||||
for c in iter {
|
||||
if !is_valid_continuation(c) {
|
||||
return XMLName::InvalidXMLName;
|
||||
}
|
||||
|
@ -675,6 +676,11 @@ pub fn xml_name_type(name: &str) -> XMLName {
|
|||
false => seen_colon = true
|
||||
}
|
||||
}
|
||||
last = c
|
||||
}
|
||||
|
||||
if last == ':' {
|
||||
non_qname_colons = true
|
||||
}
|
||||
|
||||
match non_qname_colons {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue