[oXygen-user] Dynamic parameter in oxy_path
Dear mailinglist members. I am creating an Oxygen framework to display XML data in Oxygen XML Author's Author mode. This is part of the XML I have with two nodes in it: Aarberg, Peter von König (ca. 1300–vor 1372) hkg:orgKey="#n_123_456">Best CEO they ever had Altenburger Hofdruckerei The upper node has an atribute hkg:orgKey="#n_123_456" pointing to second element's xml:id="n_123_456". I use the following CSS to display the value of of the second element in the visual representation of the first element: affiliation:after { content: " role: " oxy_textfield( edit, "@role") " Organization ID: " oxy_textfield( edit, "@hkg:orgKey") "Organization name: " oxy_xpath( "/TEI/text/body/div/ab[@xml:id='n_123_456']/seg[@type='name']/orgName/text()" ) " " oxy_url("gfx/link_register.png"); link: attr("hkg:orgKey") } This works fine. But now I need to create the line "/TEI/text/body/div/ab[@xml:id='n_123_456']/seg[@type='name']/orgName/text()" dynamically which means: Instead of the specific value xml:id n_123_456 it should use whatever the value of the attribute @hkg:orgKey of the node is. I tried this: "/TEI/text/body/div/ab[@xml:id=@hkg:orgKey]/seg[@type='name']/orgName/text()" but it doesn't work. I also tried other variations like ab[@xml:id='@hkg:orgKey'] or ab[@xml:id=attr('hkg:orgKey')] and many more but none of them gave me the expected result. Maybe it is a syntax problem. I really hope there will be a solution to this and I would be very thankful for assistance. Any help is appreciated. I tried to send as much code as needed but of course shortened some parts not relevant in this case. If something is missing (or too much) please let me know. Thanks in advance and kind regards Christian Achter University of Bern ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
Re: [oXygen-user] Dynamic parameter in oxy_path
... and your answer <https://stackoverflow.com/questions/58581679/xpath-and-css-in-oxygen-xml-author-how-to-create-a-dynamic-parameter-in-oxy-xpa?answertab=oldest#tab-top> absolutely solved solved my problem. I feel a bit ashame I didn't have the idea myself to step outside of the string literal and compute the attribute value first. I also learnt today <https://stackoverflow.com/help/someone-answers> that one should not say "thank you" in a comment on Stackoverflow so I say thank you here, dear Radu. Kind regards Christian Am 28.10.2019 um 07:50 schrieb Oxygen XML Editor Support (Radu Coravu) : Hi Christian, I replied to you on the StackOverflow post: https://stackoverflow.com/questions/58581679/xpath-and-css-in-oxygen-xml-author-how-to-create-a-dynamic-parameter-in-oxy-xpa/58586584#58586584 Regards, Radu Radu Coravu XML Editor http://www.oxygenxml.com On 10/25/2019 4:25 PM, Christian Achter wrote: Dear mailinglist members. I am creating an Oxygen framework to display XML data in Oxygen XML Author's Author mode. This is part of the XML I have with two nodes in it: Aarberg, Peter von König (ca. 1300–vor 1372) hkg:orgKey="#n_123_456">Best CEO they ever had type="organization"> Altenburger Hofdruckerei The upper node has an atribute hkg:orgKey="#n_123_456" pointing to second element's xml:id="n_123_456". I use the following CSS to display the value of of the second element in the visual representation of the first element: affiliation:after { content: " role: " oxy_textfield( edit, "@role") " Organization ID: " oxy_textfield( edit, "@hkg:orgKey") "Organization name: " oxy_xpath( "/TEI/text/body/div/ab[@xml:id='n_123_456']/seg[@type='name']/orgName/text()" ) " " oxy_url("gfx/link_register.png"); link: attr("hkg:orgKey") } This works fine. But now I need to create the line "/TEI/text/body/div/ab[@xml:id='n_123_456']/seg[@type='name']/orgName/text()" dynamically which means: Instead of the specific value xml:id n_123_456 it should use whatever the value of the attribute @hkg:orgKey of the node is. I tried this: "/TEI/text/body/div/ab[@xml:id=@hkg:orgKey]/seg[@type='name']/orgName/text()" but it doesn't work. I also tried other variations like ab[@xml:id='@hkg:orgKey'] or ab[@xml:id=attr('hkg:orgKey')] and many more but none of them gave me the expected result. Maybe it is a syntax problem. I really hope there will be a solution to this and I would be very thankful for assistance. Any help is appreciated. I tried to send as much code as needed but of course shortened some parts not relevant in this case. If something is missing (or too much) please let me know. Thanks in advance and kind regards Christian Achter University of Bern ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
[oXygen-user] Non-breaking spaces in fragments via framework
Dear mailinglist members, this might be a trivial problem, but even after a longer research I haven't found a solution to it. I try to insert a non-breaking space via a button created by a framework. I use the following code within an : text *{CODE_FOR_THE_NON-BREAKING_SPACE}* ro.sync.ecss.extensions.commons.operations.InsertOrReplaceTextOperation I added a placeholder CODE_FOR_THE_NON-BREAKING_SPACE above to show you were I want to fill in my non-breaking space. I tried which caused my whole framework to NOT be read by Oxygen XML Author. I tried which just created a regular space. I tried   which just created exactly these characters as a string in my XML document. I tried several other things which all didn't work. What do I have to put between my opening and closing tags? Thanks in advance and kind regards Christian Achter ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
Re: [oXygen-user] Non-breaking spaces in fragments via framework
Thank you Jirka for your explanation, that was very helpful. I never realized the bottom bar of Oxygen XML Author telling me the Unicode code for the current character. When you say /"//I'm putting here directly encoded non-breaking space//"/ which code sequence are you using instead of ? Btw I made an interesting experience. My framework now writes a into my XML file. When I switch from Author to Text mode, this is not written in the text, it just looks like a "regular" space. But the bottom bar says it is a U+00A0. So everything is fine except the visual representation in the text. When I close the XML file and open it again in text mode, there is suddenly a displayed. So everything is even better after reopening the file. Thanks and kind regards Christian Am 05.12.19 um 22:11 schrieb Jirka Kosek: On 5.12.2019 16:39, Christian Achter wrote: I tried which just created a regular space. Are you sure? At the bottom bar you can see Unicode code for character under the caret. Normal space is U+0020 and non-breaking U+00A0. What do I have to put between my opening and closing tags? I'm putting here directly encoded non-breaking space, but should work same. ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
Re: [oXygen-user] Non-breaking spaces in fragments via framework
Dear Radu thanks for your feedback. I am editing my .framework files manually. I stick to the InsertOrReplaceTextOperation because it works now and it is basically easier to handle: It automatically inserts the non-breaking space where the cursor is. I tried the InsertOrReplaceFragmentOperation in this case which has more parameters and my non-breaking space stranded somewhere in the document which felt a bit unexpected. So I stick to InsertOrReplaceTextOperation. Thanks and kind regards Christian Am 06.12.19 um 06:49 schrieb Oxygen XML Editor Support (Radu Coravu): Hi Christian, Please see some suggestions below: I tried which caused my whole framework to NOT be read by Oxygen XML Author. The " " is an entity reference. If your XML document does not refer to a DTD which defines this entity reference. Also you should use the "ro.sync.ecss.extensions.commons.operations.InsertOrReplaceFragmentOperation" operation to insert the entity reference. But whatever operation I'm using I cannot reproduce the part with the framework not being read by Oxygen XML Author. Are you manually making changes to the ".framework" file or are you using Oxygen's document type edit dialog for this? I tried which just created a regular space. Again, try to use the "InsertOrReplaceFragmentOperation" instead of "InsertOrReplaceTextOperation". As Jirka said, you can also use Oxygen's status bar to look at the hexadecimal equivalent of the character Regards, Radu Radu Coravu XML Editor http://www.oxygenxml.com On 12/5/2019 5:39 PM, Christian Achter wrote: Dear mailinglist members, this might be a trivial problem, but even after a longer research I haven't found a solution to it. I try to insert a non-breaking space via a button created by a framework. I use the following code within an : text *{CODE_FOR_THE_NON-BREAKING_SPACE}* ro.sync.ecss.extensions.commons.operations.InsertOrReplaceTextOperation I added a placeholder CODE_FOR_THE_NON-BREAKING_SPACE above to show you were I want to fill in my non-breaking space. I tried which caused my whole framework to NOT be read by Oxygen XML Author. I tried which just created a regular space. I tried   which just created exactly these characters as a string in my XML document. I tried several other things which all didn't work. What do I have to put between my opening and closing tags? Thanks in advance and kind regards Christian Achter ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user