NEWBIE HERE- HELLPP!

Questions about XML that are not covered by the other forums should go here.
502hollywood
Posts: 5
Joined: Wed Aug 25, 2021 7:38 am

NEWBIE HERE- HELLPP!

Post by 502hollywood » Wed Aug 25, 2021 8:00 am

Howdy!

Using the grid view, once I get the first record formatted correctly, how do I copy this to all of the remaining records?

I imported an excel file and decided to use the grid view to format? I do have a schema file, but not sure how to use the schema file (xml map I made in notepad) to format the excel file in oxygen.

Thanks for the help!
Cheers
CXS

Radu
Posts: 7639
Joined: Fri Jul 09, 2004 5:18 pm

Re: NEWBIE HERE- HELLPP!

Post by Radu » Wed Aug 25, 2021 8:14 am

Hi,

I'm afraid the Grid editing mode does not have such capabilities.
Maybe you can give us a small example with how the imported XML looks like and what changes you made to it.
Oxygen has support for XML refactoring actions so maybe a custom XML refactoring action based on XSLT could modify the imported XML in the way that you want.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

502hollywood
Posts: 5
Joined: Wed Aug 25, 2021 7:38 am

Re: NEWBIE HERE- HELLPP!

Post by 502hollywood » Wed Aug 25, 2021 9:08 am

Thank you for the help!

So the excel file imports like this:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<root Attribute="">
    <row>
        <createddate>2021-06-16T12:48:23</createddate>
        <externalstudentid1>xxxxxxxx</externalstudentid1>
        <externalfundid>xxxxxxxxxx</externalfundid>
        <awardstatus>Accepted</awardstatus>
        <awardamount>500</awardamount>
        <awardstartdate>2021-08-30T00:00:00</awardstartdate>
        <awardenddate>2021-11-20T00:00:00</awardenddate>
        <awardyear>2022</awardyear>
        <offeredondate>2021-08-24T00:00:00</offeredondate>
And I need it to look like this:

Code: Select all

<persons createdDate="2021-06-16T12:48:23">
<person externalStudentId1="xxxxxxxxxxxx">
    <award awardAmount="1548" awardEndDate="2021-05-12" awardStartDate="2021-02-18" awardStatus="Accepted" externalAwardId="xxxxxxxxx" externalFundId="xxxxxxxx" AwardYear="2021" manualAward="true" maxDisbursementNumber="1" offeredOnDate="2021-02-05" >
      </award>
     </person>
</persons>
The refactoring option sounds great! How would I build one and apply it?

Cheers-
CXS

Radu
Posts: 7639
Joined: Fri Jul 09, 2004 5:18 pm

Re: NEWBIE HERE- HELLPP!

Post by Radu » Wed Aug 25, 2021 11:35 am

Hi,

Refactoring actions are for usually making small changes in an XML document, you seem to actually want to convert an XML document to another type of XML document. This is done with XSLT stylesheets.
If you create for example a file named "convert.xsl" with the content I'm attaching below:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  exclude-result-prefixes="xs"
  version="2.0">
  <xsl:output indent="yes"/>
  <xsl:template match="root">
    <persons>
      <xsl:apply-templates/>
    </persons>
  </xsl:template>
  <xsl:template match="row">
    <person>
      <xsl:attribute name="createdDate" select="createddate/text()"/>
      <award>
        <xsl:attribute name="awardAmount" select="awardamount/text()"/>
        <xsl:attribute name="awardEndDate" select="awardenddate/text()"/>
        <xsl:attribute name="awardStartDate" select="awardstartdate/text()"/>
        <xsl:attribute name="externalFundId" select="externalfundid/text()"/>
        <!-- AND SO ON -->
      </award>
    </person>
  </xsl:template>
</xsl:stylesheet>
you can create in Oxygen a new transformation scenario and apply the XSLT over the XML document:

https://www.oxygenxml.com/doc/versions/ ... -xslt.html

but the XSLT needs to be further modified according to your needs.
More about how you can learn XSLT: https://blog.oxygenxml.com/xslt_training.html

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

502hollywood
Posts: 5
Joined: Wed Aug 25, 2021 7:38 am

Re: NEWBIE HERE- HELLPP!

Post by 502hollywood » Thu Aug 26, 2021 12:17 am

Many blessings to you!

Your solution got me started on the right path.

Thanks, again!
CXS

502hollywood
Posts: 5
Joined: Wed Aug 25, 2021 7:38 am

Re: NEWBIE HERE- HELLPP!

Post by 502hollywood » Thu Aug 26, 2021 12:37 am

Would you happen to know how I can change the settings for when I import an excel sheet that has the date format YYYY-MM-DD, oxygen coverts it to YYYY-MM-DDT00:00:00?

Radu
Posts: 7639
Joined: Fri Jul 09, 2004 5:18 pm

Re: NEWBIE HERE- HELLPP!

Post by Radu » Thu Aug 26, 2021 7:27 am

Hi,

I'm afraid we do not have extra settings, besides the ones in the import dialog.
If you are using a conversion XSLT you can modify the date pattern when you convert to the other XML format:

Code: Select all

<xsl:attribute name="createdDate" select="replace(createddate/text(), 'T00:00:00', '')"/>
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

Post Reply