[oXygen-user] Inserting child elements automatically
Alex Jitianu
alex_jitianu at sync.ro
Wed Mar 1 08:56:52 CST 2023
Hi,
I'm glad to hear that!
> With respect to the solution based on the actions, I wasn't able to
> get the processing instruction to go in as a fragment. I was able to
> get non-placeholder text to enter just fine. Perhaps it's a css issue
> because the link target is shown as placeholder text by default?
I'm sorry, I should have tested it fist.... It appears that the pi must
be in an XML element, for example it will work if your
InsertFragmentOperation inserts a fragment like this:
<p><?oxy-placeholder content="Enter a title"?></p>
These PIs are actually saved in their parent element as pseudo classes
and we are not handling the case when an orphan <?oxy-placeholder> is
inserted through an author action.
Best regards,
Alex
--
Alex Jitianu
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
On 2/16/2023 6:30 PM, Cody Steele wrote:
> Thank you, Alex and Radu. I was able to get a version of both of these
> solutions working in short-order and will demo to my team.
>
> With respect to the solution based on the actions, I wasn't able to
> get the processing instruction to go in as a fragment. I was able to
> get non-placeholder text to enter just fine. Perhaps it's a css issue
> because the link target is shown as placeholder text by default?
>
> It was really helpful to see both of these. I can envision several
> other cases where I can use both approaches to perform other tasks
> that I've been working on.
> ------------------------------------------------------------------------
> *From:* oXygen-user <oxygen-user-bounces at oxygenxml.com> on behalf of
> Alex Jitianu <alex_jitianu at sync.ro>
> *Sent:* Thursday, February 16, 2023 2:54 AM
> *To:* oxygen-user at oxygenxml.com <oxygen-user at oxygenxml.com>
> *Subject:* Re: [oXygen-user] Inserting child elements automatically
>
> Hi,
>
>
> Another option would be to cascade [1] the existing action with a a
> new one that inserts a comment or a placeholder that is removed once
> the user types text [2]:
>
>
> <?oxy-placeholder content="Enter a title"?>
>
>
> To summarize it you will have to:
>
> - create one action that inserts this comment
>
> - create one action based on /ExecuteMultipleActionsOperation [2]
> /that cascades the xref and the previous action
>
> - you replace the xref action from the toolbar with this new action
> based on /ExecuteMultipleActionsOperation/
>
>
> [1]
> https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/dg-default-author-operations.html#dg-default-author-operations__executemultipleactionsoperation
> <https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/dg-default-author-operations.html#dg-default-author-operations__executemultipleactionsoperation>
>
> [2]
> https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/dg-placeholder-css-extension.html
> <https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/dg-placeholder-css-extension.html>
>
> Best regards,
> Alex
> --
> Alex Jitianu
> <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
> http://www.oxygenxml.com <http://www.oxygenxml.com>
> On 2/16/2023 8:00 AM, Oxygen XML Editor Support (Radu Coravu) wrote:
>>
>> Hello Cody,
>>
>>
>> Indeed the "InsertXrefOperation" Java operation does not have a
>> parameter to specify some fixed text to insert inside the link, I
>> added an internal issue based on your feedback. I do not have an easy
>> workaround for you, it's possible that what you want would be
>> possible with a Java based extension which would somehow listen for
>> inserted links and add that text inside the inserted link.
>>
>>
>> But coming back to your use case which seems to be to always add
>> custom text inside a link to a web page, I would rather suggest using
>> a custom Schematron schema to signal as a validation error to the end
>> user that the link is empty:
>>
>>
>> https://blog.oxygenxml.com/topics/sharing_schematron_validation_rules.html
>> <https://blog.oxygenxml.com/topics/sharing_schematron_validation_rules.html>
>>
>>
>> So a Schematron schema like this would report a user friendly warning
>> if there is an empty link:
>>
>>> <sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron"
>>> <http://purl.oclc.org/dsdl/schematron> queryBinding="xslt2"
>>> xmlns:sqf="http://www.schematron-quickfix.com/validator/process"
>>> <http://www.schematron-quickfix.com/validator/process>>
>>> <sch:pattern>
>>> <sch:rule context="xref[@format='html'][@scope='external']">
>>> <sch:assert test="node()">An external link should have
>>> custom link text set inside.</sch:assert>
>>> </sch:rule>
>>> </sch:pattern>
>>> </sch:schema>
>>
>> Regards,
>>
>> Radu
>>
>> Radu Coravu
>> Oxygen XML Editor
>> On 2/15/23 18:17, Cody Steele wrote:
>>> I was following along with Frank's questions.
>>>
>>> My interest was in editing the author action insert.url.reference
>>> for a web link by adding something like <!--Insert link text here-->
>>> inside of the XREF element. It doesn't look like any of the
>>> arguments for ro.sync.ecss.extensions.dita.link.InsertXrefOperation
>>> lets you insert a fragment. Is it correct that I should proceed to
>>> the involving the DITA extension framework or is there another
>>> method that makes more sense to you?
>>>
>>> Thanks,
>>>
>>> Cody
>>> ------------------------------------------------------------------------
>>> *From:* oXygen-user <oxygen-user-bounces at oxygenxml.com>
>>> <mailto:oxygen-user-bounces at oxygenxml.com> on behalf of Oxygen XML
>>> Editor Support (Radu Coravu) <support at oxygenxml.com>
>>> <mailto:support at oxygenxml.com>
>>> *Sent:* Wednesday, January 25, 2023 1:06 AM
>>> *To:* oxygen-user at oxygenxml.com <mailto:oxygen-user at oxygenxml.com>
>>> <oxygen-user at oxygenxml.com> <mailto:oxygen-user at oxygenxml.com>
>>> *Subject:* Re: [oXygen-user] Inserting child elements automatically
>>>
>>> ***Warning* This email originates from outside of Minitab. Do not
>>> open attachments or click links unless you are sure this email comes
>>> from a known sender and you know the content is safe.
>>>
>>> Hi Frank,
>>>
>>>
>>> Let's split your use cases in two:
>>>
>>> 1) Inserting elements using Oxygen's actions (toolbars, menus)
>>>
>>> 2) Inserting elements using the content completion window.
>>>
>>>
>>> 1)
>>>
>>>
>>> Let's take table insertion for example:
>>>
>>>
>>> If you edit your DITA framework extension that is defined in the
>>> Preferences->"Document Type Association" page, it has an
>>> "Author=>Actions" tab.
>>>
>>> If you edit the action "insert.table", it calls an operation named
>>> "ro.sync.ecss.extensions.dita.topic.table.InsertTableOperation" with
>>> certain parameters. One of the parameters is named "cellFragment",
>>> you can set its value to "<p/>".
>>>
>>> There are other ways to change a table, for example insert a new
>>> column, insert a new row. So actions like "insert.table.row.below"
>>> or "insert.table.column.after" which also need to be changed
>>> accordingly.
>>>
>>>
>>> 2) Inserting elements like <info> using the content completion window.
>>>
>>> Your DITA extension framework customization can contain a
>>> "cc_config.xml" file which defines that for certain elements, if
>>> they are inserted, another element should be inserted inside them as
>>> well:
>>>
>>> https://www.oxygenxml.com/doc/ug-editor/topics/configure-elements-attr-cc-individually.html#configure-elements-attr-cc-individually__examples_configuring_elements
>>> <https://www.oxygenxml.com/doc/ug-editor/topics/configure-elements-attr-cc-individually.html#configure-elements-attr-cc-individually__examples_configuring_elements>
>>>
>>>
>>> Hope this helps.
>>>
>>>
>>> Regards,
>>>
>>> Radu
>>>
>>>
>>> Radu Coravu
>>> Oxygen XML Editor
>>> On 1/24/23 11:49, Frank Dissinger wrote:
>>>>
>>>> Hi list,
>>>>
>>>>
>>>> Whenever this is valid, I wrap text in a <p> element. I would like
>>>> oXygen to automatically insert <p> as a child element when
>>>> inserting <table>, <simpletable> (for the table cells of course),
>>>> <info>, <stepresult>, <stepxmp>... and many more. How do I do this?
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Frank
>>>>
>>>> --
>>>>
>>>> *Frank Dissinger*
>>>>
>>>> Documentation Manager
>>>>
>>>> ....................................................................
>>>>
>>>> *CGS Publishing Technologies International GmbH*
>>>>
>>>> *Email *frank.dissinger at cgs-oris.com
>>>> <mailto:frank.dissinger at cgs-oris.com> | *Web* www.cgs-oris.com
>>>> <http://www.cgs-oris.com/>
>>>>
>>>> *Address* Kettelerstr. 24 | D-63512 Hainburg | Germany
>>>>
>>>> *Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99
>>>>
>>>> *Commercial register* Offenbach, HRB no. 21495
>>>>
>>>> *Managing directors* Bernd Rückert, Christoph Thommessen
>>>>
>>>>
>>>> https://www.cgs-oris.com/Signatur.png
>>>> <https://www.cgs-oris.com/signatur>
>>>>
>>>> _______________________________________________
>>>> oXygen-user mailing list
>>>> oXygen-user at oxygenxml.com <mailto:oXygen-user at oxygenxml.com>
>>>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user <https://www.oxygenxml.com/mailman/listinfo/oxygen-user>
>>>
>>>
>>> *Minitab, LLC*, Quality Plaza, 1829 Pine Hall Rd, State College PA
>>> 16801-3210, USA
>>> *Minitab Limited*, England and Wales, Company No. 3061730, Unit E1-2
>>> Brandon Court, Progress Way, Coventry, CV3 2TE, United Kingdom
>>> *Minitab Sarl*, 17-21 rue Saint-Fiacre, 75002 Paris, 419 061 361
>>> R.C.S Paris, France
>>> *Minitab Pty Ltd*, Level 10, 20 Martin Place, Sydney NSW 2000, Australia
>>> *Minitab GmbH*, Theatinerstraße 11, 80333 München, Germany,
>>> Geschäftsführer: Bruce Pincus, Handelsregister: Amtsgericht München;
>>> HRB 225635
>>> *Minitab HK Limited*, Room 3703, 37th Floor, Lee Garden One, 33
>>> Hysan Avenue, Causeway Bay, Hong Kong
>>>
>>> *Confidentiality Notice:* This email and any attachment(s) may
>>> contain confidential and proprietary information, some or all of
>>> which may be legally privileged. It is for the intended use of the
>>> individual(s) or entity named on the email. If you are not the
>>> intended recipient, or the employee or agent responsible for
>>> delivering it to the intended recipient(s), you must not use,
>>> disclose, distribute, copy, print or rely on this email. If you have
>>> received this email in error, please immediately return it to the
>>> sender and delete it and any attachments from your system. Thank you.
>>>
>>> *Privacy Notice:* All incoming email communications are monitored.
>>> Please refer to our Privacy Policy
>>> <https://www.minitab.com/legal/privacy-policy/> for information on
>>> how Minitab collects, manages, and uses personal data.
>>>
>>> Update your email preferences
>>> <https://it.minitab.com/my-account/manage-account.aspx> to choose
>>> the types of emails you receive or Unsubscribe
>>> <mailto:unsubscribe at minitab.com?subject=Unsubscribe%20from%20Minitab%20Marketing%20Communications&body=Please%20unsubscribe%20this%20email%20address%20from%20Minitab%20marketing%20communications.%20%0A%0AThank%20you.>.
>>>
>>>
>>> _______________________________________________
>>> oXygen-user mailing list
>>> oXygen-user at oxygenxml.com <mailto:oXygen-user at oxygenxml.com>
>>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user <https://www.oxygenxml.com/mailman/listinfo/oxygen-user>
>>
>> _______________________________________________
>> oXygen-user mailing list
>> oXygen-user at oxygenxml.com <mailto:oXygen-user at oxygenxml.com>
>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user <https://www.oxygenxml.com/mailman/listinfo/oxygen-user>
>
> _______________________________________________
> oXygen-user mailing list
> oXygen-user at oxygenxml.com
> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.oxygenxml.com/pipermail/oxygen-user/attachments/20230301/74c94b4e/attachment.htm>
More information about the oXygen-user
mailing list