Re: [Xsltforms-support] Namespace issue (not quite newbie)...
Brought to you by:
alain-couthures
From: Habs <ge...@us...> - 2021-12-05 19:23:16
|
>> On Sun, 5 Dec 2021, Ralph Corrigan wrote: >> >>> Hi all, You were kind enough to help me earlier in the year when I was >>> looking >>> at xsltforms for the first time, and things have moved a long way from >>> there. But I'm hitting a problem going back through the documents and >>> forms trying to make them conformant with TEI (not my choice, because >>> we're not actually encoding text, but anyway). These problems arose >>> early on, so I removed it and ran everything through the empty namespace >>> (xmlns=""). >>> So target (e.g.) is: >>> >>> <TEI xmlns=""> .................... >>> <listPerson/> >>> </TEU> >>> >>> And the instance that populates it is: >>> >>> <xf:instance id"XX"> >>> <items xmlns=""> >>> <listPerson/> >>> </items> >>> </xf:instance>. >>> >>> On the form itself, the input fields all use the xf: prefix, so >>> <xf:input ref="instance('XX')/listPerson/person"> etc. An xquery POST >>> then inserts the instance data (using request:get-data()/*) into the >>> original xml document. >>> >>> This all works absolutely fine and does everything I would expect it to. >>> >>> However, if I change the namespace in the instance to <items >>> xmlns="http://www.tei-c.org/ns/1.0"> [1] the xf:input fields no longer >>> render. Try as I might, wherever I put the namespace declaration on the >>> form (and even if I add it to the xsltforms.xsl) the fields no longer >>> render. I have noticed that there is no reference to the TEI namespace >>> in the finally generated header, which I'#m guessing could be the >>> problem, but I've no idea how to get it there: >>> >>> <html xmlns:xalan="http://xml.apache.org/xalan" >>> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:dcterms="http://purl.org/dc/terms/" >>> xmlns:ajx="http://www.ajaxforms.net/2006/ajx" >>> xmlns:txs="http://www.agencexml.com/txs" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><!--HTML elements >>> generated by XSLTForms 1.5.5 (661) - Copyright (C) 2021 <agenceXML> - >>> Alain Couthures - http://www.agencexml.com-->. >>> >>> I thought I'd be able to work around it by calling a src instance from >>> the main TEI namespace xml document, but this runs into the same >>> problem. >>> >>> Any ideas about how I get round this (or do it properly in the first >>> place)! >> >> If not sorted yet, please will you by reply, attach the smallest complete >> xform and any instance(s) that are not working as you'd expect. >> >> I'm not a 'namespace' guru, but namespaces I find can be quite testing. >> >> Thank you >> Habs >> >> --- Sent using Alpine/Pine, probably the best MUA --- >> >> My Tox Messaging Id: >> 9F10AC64260ADEBAEA017ACB71B7CD2E962596FC4293025C0F79D77FFEB4CE5C7B0BED41D925 >> Get a client here: https://tox.chat/clients.html On Sun, 5 Dec 2021, Ralph Corrigan wrote: > Thanks for getting back to me, Habs: > > So a short illustrative example attached. This form works fine in > exist-db, and I've declared tei in the html header (although clearly > there is nothing prefixed with 'tei'), all good. But as soon as I try > and apply the tei namespace to the listPerson instance (I've tried > adding it everywhere), the form fields no longer render (and don't > appear to be loaded at all). I've tried adding the tei prefix to the > instance, the form fields and both at the same time, but still not got > anywhere yet... > > Any suggestions gratefully received! > > Cheers > Ralph > Please see attached. A little tip I learned a long time ago for xhtml forms and namespaces, was to use two additional ones ... I cannot for the life in me, remember why ! If it's obvious to you let me know please. I think it has something to do with clashes between [default] xform namespaces and other namespaces in the instance(s). I've edited your example and it is sorted now on my setup. Note the xmlns:my and my:dummy additions, the xmlns in the instance and the changes using my: in the form. Hopefully that answers your need. Regards Habs --- Sent using Alpine/Pine, probably the best MUA --- My Tox Messaging Id: 9F10AC64260ADEBAEA017ACB71B7CD2E962596FC4293025C0F79D77FFEB4CE5C7B0BED41D925 Get a client here: https://tox.chat/clients.html |