The table below lists XmlPL's implicit type conversions. Entries represent casts from the type in the left-most column, the from type to the type in the top-most row, the to type.
If the table entry is false then a cast from the from type to the to type is not allowed. If a true value or another type name is present then an implicit type coercion will be performed by the compiler. If another type is listed this indicates that the implicit type coercion will be performed in more than one step.
Some type names in the table are abbreviated. Their translations are listed below.
| doc | document | elem | element |
|---|---|---|---|
| attr | attribute | comm | comment |
| pre | prefix | str | string |
| int | integer | bool | boolean |
| seq | sequence |
| node | doc | elem | attr | text | comm | pi | pre | qname | str | int | real | bool | void | null | node seq | doc seq | elem seq | attr seq | text seq | comm seq | pi seq | pre seq | qname seq | str seq | int seq | real seq | bool seq | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| node | -------- | false | false | false | false | false | false | false | false | false | false | false | true | true | -------- | true | false | false | false | false | false | false | false | false | false | false | false | bool | node |
| doc | true | -------- | false | false | false | false | false | false | false | false | false | false | true | true | -------- | node | true | false | false | false | false | false | false | false | false | false | false | bool | doc |
| elem | true | false | -------- | false | false | false | false | false | false | false | false | false | true | true | -------- | node | false | true | false | false | false | false | false | false | false | false | false | bool | elem |
| attr | true | false | false | -------- | false | false | false | false | false | true | false | false | true | true | -------- | node | false | false | true | false | false | false | false | false | str | false | false | bool | attr |
| text | true | false | false | false | -------- | false | false | false | false | true | false | false | true | true | -------- | node | false | false | false | true | false | false | false | false | str | false | false | bool | text |
| comm | true | false | false | false | false | -------- | false | false | false | true | false | false | true | true | -------- | node | false | false | false | false | true | false | false | false | str | false | false | bool | comm |
| pi | true | false | false | false | false | false | -------- | false | false | true | false | false | true | true | -------- | node | false | false | false | false | false | true | false | false | str | false | false | bool | pi |
| pre | text | false | false | false | str | false | false | -------- | false | true | false | false | true | true | -------- | node | false | false | false | text | false | false | true | false | str | false | false | bool | pre |
| qname | text | false | false | false | str | false | false | false | -------- | true | false | false | true | true | -------- | node | false | false | false | text | false | false | false | true | str | false | false | bool | qname |
| str | text | false | false | false | true | false | false | false | true | -------- | false | false | true | true | -------- | node | false | false | false | text | false | false | false | true | true | false | false | bool | str |
| int | text | false | false | false | str | false | false | false | false | true | -------- | true | true | true | -------- | node | false | false | false | text | false | false | false | false | str | true | real | bool | int |
| real | text | false | false | false | str | false | false | false | false | true | false | -------- | true | true | -------- | node | false | false | false | text | false | false | false | false | str | false | true | bool | real |
| bool | text | false | false | false | str | false | false | false | false | true | true | true | -------- | true | -------- | node | false | false | false | text | false | false | false | false | str | int | real | true | bool |
| void | false | false | false | false | false | false | false | false | false | false | false | false | false | -------- | -------- | false | false | false | false | false | false | false | false | false | false | false | false | false | void |
| null | true | true | true | true | true | true | true | true | true | true | true | true | true | true | -------- | true | true | true | true | true | true | true | true | true | true | true | true | true | null |
| node seq | true | false | false | false | false | false | false | false | false | false | false | false | true | true | -------- | -------- | false | false | false | false | false | false | false | false | false | false | false | true | node seq |
| doc seq | doc | true | false | false | false | false | false | false | false | false | false | false | true | true | -------- | true | -------- | false | false | false | false | false | false | false | false | false | false | true | doc seq |
| elem seq | elem | false | true | false | false | false | false | false | false | false | false | false | true | true | -------- | true | false | -------- | false | false | false | false | false | false | false | false | false | true | elem seq |
| attr seq | attr | false | false | true | false | false | false | false | false | attr | false | false | true | true | -------- | true | false | false | -------- | false | false | false | false | false | true | false | false | true | attr seq |
| text seq | text | false | false | false | true | false | false | false | false | text | false | false | true | true | -------- | true | false | false | false | -------- | false | false | false | false | true | false | false | true | text seq |
| comm seq | comm | false | false | false | false | true | false | false | false | comm | false | false | true | true | -------- | true | false | false | false | false | -------- | false | false | false | true | false | false | true | comm seq |
| pi seq | pi | false | false | false | false | false | true | false | false | pi | false | false | true | true | -------- | true | false | false | false | false | false | -------- | false | false | true | false | false | true | pi seq |
| pre seq | pre | false | false | false | pre | false | false | true | false | pre | false | false | true | true | -------- | text seq | false | false | false | str seq | false | false | -------- | false | true | false | false | true | pre seq |
| qname seq | qname | false | false | false | qname | false | false | false | true | qname | false | false | true | true | -------- | text seq | false | false | false | str seq | false | false | false | -------- | true | false | false | true | qname seq |
| str seq | str | false | false | false | str | false | false | false | str | true | false | false | true | true | -------- | text seq | false | false | false | true | false | false | false | true | -------- | false | false | true | str seq |
| int seq | int | false | false | false | int | false | false | false | false | int | true | false | true | true | -------- | text seq | false | false | false | str seq | false | false | false | false | true | -------- | true | true | int seq |
| real seq | real | false | false | false | real | false | false | false | false | real | false | true | true | true | -------- | text seq | false | false | false | str seq | false | false | false | false | true | false | -------- | true | real seq |
| bool seq | bool | false | false | false | bool | false | false | false | false | bool | bool | bool | true | true | -------- | text seq | false | false | false | str seq | false | false | false | false | true | true | true | -------- | bool seq |
| node | doc | elem | attr | text | comm | pi | pre | qname | str | int | real | bool | void | null | node seq | doc seq | elem seq | attr seq | text seq | comm seq | pi seq | pre seq | qname seq | str seq | int seq | real seq | bool seq |