[XML-SIG] ANN: XIST 2.0

Walter Dörwald walter@livinglogic.de
Thu, 17 Oct 2002 18:43:08 +0200


Daniel Veillard wrote:

> On Thu, Oct 17, 2002 at 10:37:25AM +0200, Walter Dörwald wrote:
> 
>>Daniel Veillard wrote:
>>
>>
>>>On Wed, Oct 16, 2002 at 07:39:14PM +0200, Walter Dörwald wrote:
>>>
>>>
>>>>  * XIST now has namespace support for parsing and publishing.
>>>>    Namespace support is even available for entities and
>>>>    processing instruction.
>>>
>>>
>>>  Are you trying to reinvent XML ? Namespace support for PI ???
>>>What's that ?
>>
>>The character : is valid inside processing instruction targets, so
>>why shouldn't the application use this to interpret targets
>>containing : as prefix/localname pairs?
>>
>><html><?php:expression "foo"?></html>
>>
>>is perfectly valid XML and so is
>>
>><html><?jsp:expression "foo"?></html>
> 
> 
>   Yep but it has absolutely no relationship to namespaces.

Exactly, that why I should be able to use it for that.

> Please
> read http://www.w3.org/TR/REC-xml-names/ 

Ouch, seems I missed the "No entity names, PI targets, or notation
names contain any colons." part on the first reading.

Fortunately XIST can be configured to only recognize unprefixed
processing instruction targets, so this shouldn't be a problem.

> before inventing stuff and
> tell me the semantic of the namespace in your mapping for the following
> examples:
> 
> ----
> <?foo:bar?>
> <doc/>
> ----
> <doc>
> <?foo:bar?>
> </doc>
> ----
> 
>   first case there cannot be any namespace in scope.
>   second case is perfectly legal w.r.t. XML + Namespace and still your
>   mapping has no semantic.

Yes, but

<foo:doc>
<?foo:bar?>
</foo:doc>

doesn't either.

<doc xmlns:foo="http://www.foo.org/foo">
<?foo:bar?>
</doc>

however does.

> Sorry your mapping is broken, it doesn't reflect the specs and is broken
> in a number of obvious ways.

So is there any better way to fix this problem? The point of XIST
is that element types are mapped to Python classes, for namespaces
namespace names are mapped to Python modules. So how can I duplicate
this mapping for processing instructions? To me it seems there is
no easy way for partitioning namespace targets into several namespaces.

Bye,
    Walter Dörwald