[oXygen-sdk] Enhancement request for AttributeEditingContextDescription

Oxygen XML Editor Support support at oxygenxml.com
Tue Jan 7 06:45:02 CST 2014


Hi Jan,

Sure, we'll look into how we can increase the API to accommodate this.

Probably we could try to come up with some API like:

> NodeContext ro.sync.exml.workspace.api.standalone.AttributeEditingContextDescription.getElementContext()

and the NodeContext would have the API methods:

>   /**
>    * Get the node name.
>    *
>    * @return Returns the node name.
>    */
>   public abstract String getNodeName();
>
>   /**
>    * Get the node namespace.
>    *
>    * @return Returns the node namespace.
>    */
>   public abstract String getNodeNamespace();
>
>   /**
>    * Returns the number of the element attributes.
>    *
>    * @return The number of the element attributes.
>    */
>   public abstract int getAttributesCount();
>
>   /**
>    * Get the qualified attribute name at index.
>    *
>    * @param index Index of the attribute.
>    * @return The qualified attribute name at index.
>    */
>   public abstract String getAttributeQName(int index);
>
>   /**
>    * Get attribute value for given attribute qualified name.
>    *
>    * @param attrQName The qualified attribute name.
>    * @return The attribute value.
>    */
>   public abstract String getAttributeValue(String attrQName);
>
>   /**
>    * Get namespace URI for a given attribute qualified name.
>    *
>    * @param attrQName The attribute qualified name.
>    * @return The attribute namespace URI.
>    */
>   public abstract String getAttributeNamespace(String attrQName);

Regards,
Radu

Radu Coravu
<oXygen/>  XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

On 1/7/2014 10:59 AM, Jan Bevers wrote:
> Hi Radu
>
> Thanks for the workaround!
>
> Another addition would be to get access to other attributes like "scope" and "class" for DITA.
>
> For example as an integrator I can show different dialogs based on the current "scope" (external or internal) value of an "xref" element.
>
> "class" which is a fixed attribute is used to define what content type an element is holding. For example "glossSymbol", "hazardsymbol" and "image" have "topic/image" as part of their class attribute.
> It is better to check against this than to check against the element name. Also when making a customization to DITA for a specific customer you can use the same class attribute value which does not require code changes in your oXygen integration.
>
> Cheers
> Jan
>
>
> -----Original Message-----
> From: oxygen-sdk-bounces at oxygenxml.com [mailto:oxygen-sdk-bounces at oxygenxml.com] On Behalf Of Oxygen XML Editor Support
> Sent: maandag 6 januari 2014 13:03
> To: oxygen-sdk at oxygenxml.com
> Subject: Re: [oXygen-sdk] Enhancement request for AttributeEditingContextDescription
>
> Hi Jan,
>
> Adding the:
>
>> ro.sync.exml.workspace.api.standalone.AttributeEditingContextDescripti
>> on.getEditedAttributeValue()
>
> API seems feasible. We'll try to add it in time for Oxygen 15.2 which should be released in a couple of weeks.
>
> A possible workaround until then would be to do something like:
>
>>      WSEditor currentOpeneEditor = PluginWorkspaceProvider.getPluginWorkspace().getCurrentEditorAccess(PluginWorkspace.MAIN_EDITING_AREA);
>>      if(currentOpeneEditor != null) {
>>        WSEditorPage currentPage = currentOpeneEditor.getCurrentPage();
>>        if(currentPage instanceof WSAuthorEditorPage) {
>>          //Most probably we are editing the attributes for the node in which the caret is placed.
>>          WSAuthorEditorPage authPage = ((WSAuthorEditorPage)currentPage);
>>          try {
>>            AuthorNode currentEditedNode = authPage.getDocumentController().getNodeAtOffset(authPage.getCaretOffset());
>>            if(currentEditedNode.getType() == AuthorNode.NODE_TYPE_ELEMENT) {
>>              AuthorElement elem = (AuthorElement) currentEditedNode;
>>              //The current @href attribute value.
>>              AttrValue currentHrefValue = elem.getAttribute("href");
>>            }
>>          } catch (BadLocationException e) {
>>            e.printStackTrace();
>>          }
>>        }
>>      }
>
> Regards,
> Radu
>
> Radu Coravu
> <oXygen/>  XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com
>
> On 1/6/2014 12:53 PM, Jan Bevers wrote:
>> Hi
>>
>> Since oXygen 15 it's possible to get the context for the current
>> edited element / attribute from your own custom
>> InputURLChooserCustomizer implementation.
>>
>> In some of our cases it is important to pass the current value of the
>> edited attribute to our own dialogs.
>>
>> If I check the API of the AttributeEditingContextDescription you can
>> only get the element and attribute name.
>>
>> I can stick with the functionality that there is now but it would
>> definitely improve the usability of our integration if the value was
>> also available.
>>
>> Is it possible to add the possibility to get the attribute value to
>> the oXygen backlog? So we can take advantage from this in the next releases.
>>
>> Cheers
>>
>> *Jan Bevers |* Developer *|*SDL *| *Content Management Technologies
>> Division *| *+32 (0)15 400 970*|* jbevers at sdl.com
>> image001
>>
>>
>>
>> www.sdl.com
>> <http://www.sdl.com/?utm_source=Email&utm_medium=Email%2BSignature&utm
>> _campaign=SDL%2BStandard%2BEmail%2BSignature>
>>
>> *SDL PLC confidential, all rights reserved.* If you are not the
>> intended recipient of this mail SDL requests and requires that you
>> delete it without acting upon or copying any of its contents, and we
>> further request that you advise us.
>> SDL PLC is a public limited company registered in England and Wales.
>> Registered number: 02675207.
>> Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire
>> SL6 7DY, UK.
>>
>> This message has been scanned for malware by Websense.
>> www.websense.com <http://www.websense.com/>
>>
>>
>>
>> _______________________________________________
>> oXygen-sdk mailing list
>> oXygen-sdk at oxygenxml.com
>> http://www.oxygenxml.com/mailman/listinfo/oxygen-sdk
>>
> _______________________________________________
> oXygen-sdk mailing list
> oXygen-sdk at oxygenxml.com
> http://www.oxygenxml.com/mailman/listinfo/oxygen-sdk
> _______________________________________________
> oXygen-sdk mailing list
> oXygen-sdk at oxygenxml.com
> http://www.oxygenxml.com/mailman/listinfo/oxygen-sdk
>



More information about the oXygen-sdk mailing list