Forums: Define.xml
Hi Takayuki,
What validation engines did you use?
Thanks,
Sergiy
Hi Sergiy.
Thank you for your response. I used both FDA 1907.2 and PMDA 1810.3, and both detect DD0001.
Thanks,
Takayuki
Dear Takayuki,
I would be surprised if it is an error caused by your OS. After all the validator uses Java "under the hood". You could of course check by doing the validation on another machine that uses another OS.
The message is an XML-Schema error message, and in my 30 year experience with XML, I have not seen yet that one and the same XML document validates well on one computer with a specific OS and not an another with another OS.
There are a few things you can check:
Open the define.xml in NotePad++ (if you have an XML editor like oXygen, even better)
Check that the XML declaration is on the first line and that there are no blanks before it. You should have:
<?xml version="1.0" encoding="UTF-8"?>
After the first line, you can have comment lines, starting with <!-- and ending with -->. You can also have blank lines.
After these (when present), you should have the ODM declaration, looking like:
<ODM
xmlns="http://www.cdisc.org/ns/odm/v1.3"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:def="http://www.cdisc.org/ns/def/v2.0"
ODMVersion="1.3.2"
FileOID="www.cdisc.org.Studycdisc01-Define-XML_2.0.0"
FileType="Snapshot"
CreationDateTime="2013-03-03T17:04:44"
Originator="CDISC XML Technologies Team"
SourceSystem="MH-System"
SourceSystemVersion="2.0.1">
Whereas the order of the attributes doesn't matter.
Especially check whether the namespace declarations are 100% correct. They must be:
xmlns="http://www.cdisc.org/ns/odm/v1.3"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:def="http://www.cdisc.org/ns/def/v2.0"
How did you generate the define.xml file? Some programs are known to not always generate correct define.xml files.
You can of course always connect me offline.
Jozef Aerts
CDISC Define-XML Development Team
Hi Jozef,
Thank you for your comments.
I tried with the sample define.xml released from CDISC and DD0001 was detected. Of course, I checked that there are no extra blanks at the 1st line and also that the xmlns are correct.
This has also occurred for the define.xml that I created. The define.xml was created in Pinnacle 21 Community v3.1.0.
I appreciate your cooperation.
Thanks,
Takayuki
Hi Takayuki,
Sorry, I cannot reproduce your case. Could you send me your define.xml file and both validation reports for diagnostics?
Thank you,
Sergiy
sergiy (at) pinnacle21 (dot) com
P.S. My assumption is that this issue can be related to validation specifications. For example, from your deifne.xml code it looks like you have SEND-IG study. SEND standard is not supported by PMDA validation. So, formally it cannot be correctly validated by PMDA 1810.3 engine
You can also validate your define.xml files directly against the XML-Schema (against define2-0-0.xsd of the standard distribution) using any modern XML editor (perpetual license costs less than 2-3 man-hours in your company). If you do so and also get a "fatal error" "Cannot find the declaration of element 'ODM'", then there is something terribly wrong with your computer.
If direct XML-Schema validation does not throw this error, then ...
For further info about direct XML-Schema validation, you can always contact me directly, my e-mail address is easy to find.
Jozef Aerts
CDISC Define-XML Development team
> Hi Sergiy,
Thank you for confirming.
I sent you an email attaching define.xml and reports.
> Hi Jozef,
Thanks. I will consider other validation methods.
Thank you,
Takayuki
Hi Sergiy,
Thank you for suggestion via e-mail.
In my environment, the config files were stored in a folder with a non-Latin character path, and changing the folder path to Latin characters solved the issue.
Thanks,
Takayuki
After replacing my laptop and OS and reinstalling P21C, DD0001 is now detected with the validation of define.xml. (DD0001 was not detected in the previous laptop and OS environment)
DD0001: Cannot find the declaration of element 'ODM' using the namespace(s) found on the element. Confirm that 'ODM' is allowed in the Define.xml Standard and has the correct namespace(s).
I think it is not an error with define.xml itself, as mentioned in a previous post on the Forum, so I think it is a false positive caused by the laptop or OS environment.
https://www.pinnacle21.com/forum/cannot-find-declaration-element-odm
Can this be resolved by changing the laptop or OS settings? If so, which settings do you think are affected?
Unfortunately, it is difficult for security reasons to give you the details of the laptop environment I am using...
Previous environment: Windows 8.1 + P21C v3.1.0
Current environment: Windows 10 + P21C v3.1.0
Define.xml used: SDTM define.xml included in CDISC Define-XML v2.0 package