Schema validation after FTP File > Open URL

Having trouble installing Oxygen? Got a bug to report? Post it all here.
ktrustin
Posts: 7
Joined: Wed Jan 30, 2008 12:30 am

Schema validation after FTP File > Open URL

Post by ktrustin »

Using oXygen 8.2 plugin with Eclipse 3.2 under CentOS Linux 5.1.

I'm editing an XML file that I opened via FTP. The schema files are located on the remote FTP server. When validating the XML file, oXygen has no problem finding the schema file listed in the xsi:schemaLocation attribute of the opening tag on the remote FTP server. But oXygen isn't interpreting relative pathnames in <xsd:import> and <xsd:include> tags that are part of the schema file itself against the FTP URL. Instead it appears to be looking for those <xsd:import> and <xsd:include> files on my local filesystem, failing to find them, and generating a flood of validation warnings on the Console view.

Is there any way to tell oXygen to continue to use the FTP URL when interpreting relative pathnames in the schema file's <xsd:> tags? If not, then how can I tell oXygen to read the schema file and all of its imported/included subschemas from a particular path on my local file system while editing an XML file via FTP?

Many thanks,
Kirk
sorin_ristache
Posts: 4141
Joined: Fri Mar 28, 2003 2:12 pm

Re: Schema validation after FTP File > Open URL

Post by sorin_ristache »

Hello,

I cannot reproduce the included/imported XSD problem in the Eclipse plugin or in the oXygen standalone application. The relative location is resolved correctly, that is relative to the URL of the including XSD file. You can check that by placing the cursor on the relative reference, that is the value of the attribute schemaLocation of xsd:import/xsd:include and running the action Open File at Cursor (the F3 shortcut by default in the Eclipse plugin) available on the popup menu on right click. This action opens the file in a new editor panel after resolving the relative reference. What file does the action Open File at Cursor open? Does it display an error message instead of opening a file?


Regards,
Sorin
ktrustin
Posts: 7
Joined: Wed Jan 30, 2008 12:30 am

Re: Schema validation after FTP File > Open URL

Post by ktrustin »

Sorin: Thanks for your reply. On checking, I find that I am indeed able to successfully do what you describe (use the "Open File at Cursor" action to open <xsd:import> files on the remote FTP server). However, I still get schema validation errors like the following:

[SystemID:ftp://ktrustin:[password]@rs6k.owu.edu/opt/carsi/CXConnect/schema/form/standard/jxform.xsd
Severity: warning
Line:3
Column:111
EndLine:-1
EndColumn:-1
Length:-1
Offset:-1
Message:schema_reference.4: Failed to read schema document '..\..\common\jxcommon.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
Additional: http://www.w3.org/TR/xmlschema-1/#schema_reference]

The root element of the document in question is definitely <xsd:schema>, and the document is definitely readable as evidenced by my ability to open it using the "Open File at Cursor" action. I don't get validation errors like the above when I copy the XML file, all of the schema files, and the relative path setup to my local filesystem and open the XML file from there. Is it possible that the "Open File at Cursor" feature respects the ftp:// URL but the schema validation feature doesn't?

Kirk
sorin_ristache
Posts: 4141
Joined: Fri Mar 28, 2003 2:12 pm

Re: Schema validation after FTP File > Open URL

Post by sorin_ristache »

ktrustin wrote:Is it possible that the "Open File at Cursor" feature respects the ftp:// URL but the schema validation feature doesn't?
No, that is not possible. In both cases an input stream is opened to the ftp:// URL for reading the file content. Please contact us to tell you how you can enable logging. We need a log file generated when the validation error occurs on the computer where oXygen runs as a FTP client.


Regards,
Sorin
ktrustin
Posts: 7
Joined: Wed Jan 30, 2008 12:30 am

Re: Schema validation after FTP File > Open URL

Post by ktrustin »

sorin wrote:Please contact us to tell you how you can enable logging. We need a log file generated when the validation error occurs on the computer where oXygen runs as a FTP client.
Done. Many thanks.
ktrustin
Posts: 7
Joined: Wed Jan 30, 2008 12:30 am

Re: Schema validation after FTP File > Open URL

Post by ktrustin »

Just to close this thread:

The problem turned out to be the AIX ftp daemon's failure to interpret MS-DOS/Windows style pathnames containing forward slashes. The schema files had been created on a Windows platform, so the <xsd:include> and <xsd:import> schemaLocation values had forward slashes in their pathnames. When oXygen told the AIX ftp daemon to open those files, ftpd complained that it couldn't find them. Changing the forward slashes to backward slashes in the schema files fixed this. I suppose I could have also tried a different ftp daemon.

Another unrelated AIX ftp daemon issue that affects oXygen, for those who are interested: If you fail to pass the -k (respect TCP keepalive timeout settings) parameter to the native AIX ftpd in /etc/inetd.conf, you'll accumulate ftpd processes each time oXygen repeats a schema check (e.g., after saving a file) until you run out of available processes ("No more processes" error).

Cheers,
Kirk
Post Reply