[
https://issues.apache.org/jira/browse/JENA-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16526383#comment-16526383
]
Claude Warren commented on JENA-1567:
-------------------------------------
Upon further investigation this looks like a but in woodstocks-core. as the
default namespace should not apply to attributes names and they are returning
the empty string not null for no value. However, perhaps we should consider if
we want to account for the case where a parser returns the default namespace
rather than null for the value of unprefixed attributes.
> Trix deserialization does not respect default namepace
> ------------------------------------------------------
>
> Key: JENA-1567
> URL: https://issues.apache.org/jira/browse/JENA-1567
> Project: Apache Jena
> Issue Type: Bug
> Components: RIOT
> Affects Versions: Jena 3.6.0, Jena 3.7.0, Jena 3.8.0
> Reporter: Claude Warren
> Priority: Major
> Attachments: Y.java
>
>
> TriX output serialized by jena will produce xml that uses the default
> namespace.
> <trix xmlns="http://www.w3.org/2004/03/trix/trix-1/">
> <graph>
> <triple>
>
> <uri>urn:publicid:example.com:Device;67a2a324-cb08-30b2-b02d-096eceee933b;172.21.23.16</uri>
> <uri>[http://purl.org/dc/elements/1.1/title]</uri>
> <typedLiteral
> datatype="http://www.w3.org/2001/XMLSchema#string">172.21.23.16</typedLiteral>
> </triple>
> </graph>
> </trix>
>
> When the ReaderTrix class attempts to deserialize the xml the "datatype"
> attribute namespace is not properly detected.
>
> This appears to be in the
> {{private String attribute(XMLStreamReader parser, String nsURI, String
> localname)}}
>
> The problem appears to be that parser.getAttributePrefix() returns an empty
> string and parser.getAttributeNamespace() returns an emptry string (Not NULL)
> so we don't call parser.getName().getNamespaceURI() to set the attrNS value
> so the equality check fails and we throw an exception.
> I think that checking for "" should be added to the null check though " "
> should also probably call the parser.getName().getNamespaceURI() method.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)