Hi Keith, this error seems to crop up from time to time, and usually seems to be associated with unexpected data from somewhere or other (in the RELS-EXT case, Fez was expecting a PID, and spat the dummy when the data wasn’t a PID).


I have no problems using your XSDs on my windows setup, so am wondering if the problem could be some input character that Windows doesn’t baulk at, but Linux does. Perhaps a diacritic somewhere???? Just a shot in the semi-dark …




From: KEITH.P.DOOLEY@nuim.ie [mailto:KEITH.P.DOOLEY@nuim.ie]
Sent: Friday, 15 May 2009 12:55 AM
To: fez-users@lists.sourceforge.net
Subject: [Fez-users] XSD Works In Windows But Not Linux


Hi All,
Sorry to bother you again.  I'm reposting this message becuase it got posted as spam and jibberish the last time.
I've created an XSD but everytime I create a record with it under Linux I get an error. Oddly enough, the same XSD works fine on Windows. Here are the steps that I've followed:-
1. I created a new record-type called Qualicat in Windows and it's working fine.
2. I deleted all the XSDs on my Linux server.
3. I imported all the Windows XSDs back into Linux.
4. I created a community and a collection to keep my QC records organised. (this works fine)
5. I then try to create a QC record in Linux and when I hit "publish" I get this message:-
Warning: Invalid argument supplied for foreach() in /opt/lampp/htdocs/archive/include/class.record.php on line 686
Warning: implode() [function.implode]: Invalid arguments passed in /opt/lampp/htdocs/archive/include/class.record.php on line 703
Warning: Invalid argument supplied for foreach() in /opt/lampp/htdocs/archive/include/class.record.php on line 722
Fatal error: Call to a member function getXSD_HTML_Match() on a non-object in /opt/lampp/htdocs/archive/include/class.record.php on line 3374
I got this error before and Bernadette helped me fix it (a problem in the RELS-EXT).  However, it can't be a problem with RELS-EXT this time because it works fine with Windows. I've checked (many times) my XSD_MF references and they're correct.
I've also tried creating the Qualicat record type through Linux manually and I also get the same problem. I've tried re-installing Fez and I'm using the correct workflows. This is my reasoning about the problem so far:-
1. It can't be a problem with my Fedora set up because I'm able to create new communities/collections.
2. I don't think it's my XSDs because they work with Windows
3. My config settings should be correct  as all my sanity checks pass
I've included a copy of my XSDs.  It's not a complete version of what Qualicat will eventually be but it should be complete enough to not cause errors! (PS Qualicat is just Dublin Core with a few extra fields added in for our own convenience).
Anyway I hope that someone can help.

Ps My email is keith.p.dooley[at]nuim.ie. It doesn't always appear correctly on SF for some reason.