If you're not using nillable="true" you should not see the schema
instance namespace actually used in output documents. I just tested this
to make sure it works properly. The namespace will still be included in
the array of namespaces - it just won't be declared by any of the
elements written by JiBX, so will not appear in the output.
As for the general issue of namespace indexes, why don't you add a Jira
item about providing a namespace index number lookup? I don't want to
cram even more features into the code I've got right now for 1.1, but
I'll be starting work almost immediately on 1.2. It should be fairly
easy to add an index number lookup into the binding factory.
- Dennis
Dennis M. Sosnoski
SOA, Web Services, and XML
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-296-6194 - Wellington, NZ +64-4-298-6117
Chris Chen wrote:
Hey Dennis,
I'm glad that it's not my side. First of all, I'm not using the new
binding definition of nilllable="true" in any of my documents (since
I simply upgraded the jibx jars without modifying any of my code),
yet it still adds the schema namespace into it. Considering what you
just told me, this might be a bug on jibx's part. But that really
doesn't pose a big problem for me.
On a side note, the custom marshaller/unmarshallers do indeed need
some changes. Having set indexes have always been a bane since I
started using Jibx. It is inconvenient not having some convenient
way to retrieve an index number based on a namespace URI (a reverse
mapping if you will) where I can find an index based on a namespace
URI rather than the other way around. I wonder if that's useful for
anyone other than me, but it sure does remove the constant index
dependency.
Other than that, I believe the createChildWriter() is also causing
some undue side effects to my code, but I have yet to confirm that.
The creation of a new UTF8StreamWriter for bindings may cause side
effects for my custom StreamWriter. I am still doing additional
testing to find out and I'll keep you posted.
Thanks,
Chris
On May 25, 2006, at 1:43 PM, Dennis Sosnoski wrote:
Hi Chris,
I've added the schema instance namespace in to support xsi:nil.
However, the namespace is not actually defined in an output document
unless one or more elements in the binding definition are using the
new nillable="true" attribute.
Unfortunately, this may cause problems for people using custom
marshaller/unmarshallers with their own namespaces. Your
marshalling/unmarshaller code may have been written to assume that
your added namespaces will be at particular index positions (I think
originally this was the only way of doing things). If that's the
case those indexes will need to be adjusted upward by one.
I apologize for the inconvenience of having this break some backward
compatibility. But I felt xsi:nil support (and eventually xsi:type
support) was an important feature worth some adjustments. There are
also a few other things about the upcoming 1.1 beta which can break
compatibility with existing bindings, and I'll try to spell them all
out clearly in the release notes.
- Dennis
Dennis M. Sosnoski
SOA, Web Services, and XML
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-296-6194 - Wellington, NZ +64-4-298-6117
Chris Chen wrote:
In the latest CVS code (as of last night), I am getting
inconsistencies in the indexes between MarshallingContext and the
underlying writer.
MarshallingContext's m_uris has a new Namespace defined called
http:// www.w3.org/2001/XMLSchema-instance located at index
location 2 (0- based), while the underlying writer does not have
this namespace defined.
For some reason, after I updated to last night's code from the
05-13 code base, I am encountering a lot of problems when it comes
to using ctx.startTagNamespaces() method in my custom mapper
class. Previously, things worked fine without any glitches.
After the update to yesterday's code, I am not getting the
additional namespace mentioned above AND getting an exception that
says my custom namespace has not been declared. I used
ctx.pushNamespaceExtensions () before the startTagNamespaces()
method. All worked fine before.
What changed?
-ck
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and
Risk!
Fully trained technicians. The highest number of Red Hat
certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?
cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat
certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?
cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat
certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users