[
Lists Home |
Date Index |
Thread Index
]
Michael Kay wrote:
>>Not entirely sure whether recursive apply is the central problem: One
>>might be able to infer what type of the input is from the type of the
>><xsl:template match="..."> and the input schema.
>>
>>
>
>The only cases where the match pattern enables one to do any static type
>inference is when the match is specifically against a schema type, for
>example
>
> match="schema-element(my:invoice)"
>
>
>
Am I right in the assumption that "schema-element" specifies a pattern
matching a PSVI item with label "invoice"?
If yes, I find the name a bit misleading.
>In the much more common case where elements are matched by name, for example
>
> match="my:invoice"
>
>no formal inferencing is possible, because this will match any element
>called my:invoice whether it conforms to a schema definition of that name or
>not. However, it is possible in this case to do some tentative inferencing,
>and generate warning messages of the form "if the input is a valid invoice,
>this template will produce no output".
>
>
Shouldn't there be a way to tell the typechecker that we assume all
elements are valid, i.e. PSVI items?
I think that should be the norm for a great number of stylesheets that
want to make use of static typing.
In that case, one could still find all element declarations for invoice
(of which there might be more than one), and use their types for checking.
In hybrid situations (both validated/non-validated items) , this will of
course not work, I agree.
cheers,
Burak
--
Burak Emir
http://lamp.epfl.ch/~buraq
|