var xml = <x foo="hello"/>; print(xml.@*::foo); // prints hello and so should print(xml.@*::["foo"]); But instead we get a verify error. Turns out there is no way to say that runtime computed wildcard qualified attribute name in ABC.
That would be because MultinameLA does not allow the ns_set entry to be 0 so as to represent '*'. But if what you write is true, then the name *::[x] is also not representable (since every multiname type has an "A" variant, so the attribute aspect is incidental). Indeed this compiles but does not run: var v = 10; var vvv = "v"; print(*::[vvv]);
My point, which is not a big one until we get down to actually solving the problem, is that the multiname forms do not currently take a zero index to represent the wildcard namespace. There is no reason why they couldn’t except that it is slightly out of sync with the (implied) view that only qualified names are qualified with *. Right or wrong, that is the model we had in the beginning. Go back six years or so and I might argue that it is the multinames that should represent the * qualified names. On the otherhand, such names are closely tied with XML QNames, which are not multinames, and so there might have to be a translation to QNames at runtime. But now I ramble. What's missing, to my eye, is a name kind in the vicinity of 17 and 18 that allows run time computed names that are qualified with *.
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Last Resolved: 9 days ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.