Looks good. Committed. Thx Mike!
Sandy Gao
Software Developer, IBM Canada
(1-905) 413-3255
[EMAIL PROTECTED]
Mike
Boos/Toronto/IBM@
IBMCA To
[EMAIL PROTECTED]
04/12/2004 01:43 cc
PM
Subject
[PATCH] Built in datatypes,
Please respond to attributes, and namespace
xerces-j-dev attributes in PSVIWriter
I've found some more problems with the PSVIWriter, and have made a patch
that addresses them. Details of the problems and the fixes in the patch are
listed below.
(See attached file: patchfile.txt)
Already declared types and built-in data types are being declared in the
PSVI output.
The most blatant example:
<psv:simpleTypeDefinition id="string">
<psv:name>string</psv:name>
<psv:targetNamespace>http://www.w3.org/2001/XMLSchema</psv:targetNamespace>
<psv:baseTypeDefinition>
<psv:simpleTypeDefinition ref="anySimpleType" xsi:nil="true"/>
</psv:baseTypeDefinition>
<psv:primitiveTypeDefinition>
<psv:simpleTypeDefinition ref="string" xsi:nil="true"/>
</psv:primitiveTypeDefinition>
<psv:facets>
<psv:whiteSpace>
<psv:value>preserve</psv:value>
<psv:fixed>false</psv:fixed>
<psv:annotation xsi:nil="true"/>
</psv:whiteSpace>
</psv:facets>
<psv:fundamentalFacets>
<psv:ordered>
<psv:value>false</psv:value>
</psv:ordered>
<psv:bounded>
<psv:value>false</psv:value>
</psv:bounded>
<psv:cardinality>
<psv:value>false</psv:value>
</psv:cardinality>
<psv:numeric>
<psv:value>false</psv:value>
</psv:numeric>
</psv:fundamentalFacets>
<psv:final xsi:nil="true"/>
<psv:variety>atomic</psv:variety>
<psv:memberTypeDefinitions xsi:nil="true"/>
<psv:annotations xsi:nil="true"/>
</psv:simpleTypeDefinition>
As opposed to the correct:
<psv:simpleTypeDefinition ref=?string? xsi:nil=?true?/>
The code in the patch will emit a reference instead of a full-blown
description if it the type has already been declared somewhere else in the
output or the type is built-in.
processDOMElement, while printing the information for a child element,
emits the attribute information of the parent element rather than the child
element. The patch corrects this.
processDOMAttributes prints namespace attributes as regular attributes. The
patch differentiates between regular and namespace attributes.
This is just a minor thing, but I found the following in the
PSVIWriter.processPSVIEndElement code:
// A value for nil is not necessary, since we output declaration, instead.
// See
http://www.w3.org/TR/xmlschema-1/#section-Element-Declaration-Validation-Rules
.
sendElementEvent("psv:nil");
I found the comment a bit misleading, as I did not find the reasoning for
nil being unnecessary in the validation rules referenced by the URL.
Instead, it was in the next section, 3.3.5 Element Declaration Information
Set Contributions. The URL should read
http://www.w3.org/TR/xmlschema-1/#section-Element-Declaration-Information-Set-Contributions
Thanks
Mike Boos
[EMAIL PROTECTED]
(905) 413-3722(See attached file: patchfile.txt)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
patchfile.txt
Description: Binary data
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
