Can we add attribute to the report name in the XML generated by BI Publisher?

Veera

Member
Hi All,

The root element of the XML generated by JDE is the Object name itself.
For Example
<R5942565A>

Is there an option to add an attribute(type = "Invoice") to the root element. For Example

<R5942565A type ="Invoice">
<R5942565B type ="Invoice">
<R5942565C type ="Invoice">
<R5942565D type ="Invoice">


Kind Regards,
Veera
 
That is system generated. In embedded you cannot do that.
By the way why you intend to do that?
 
Hi Abhishek,

Thanks for your reply.

We are using StreamServe for Output Management.

We have different instances of Invoice Object in OneWorld, all of them has similar layouts.

In StreamServe we need to define a pattern (in the input XML) to identify an object. At the moment we are mapping the root element(Object Name <R5942565A>) as pattern. Hence we need to create multiple instances in StreamServe to manage this.

If we can have an attribute with common name on the root element(<R5942565A type ="Invoice">), with one instance in StreamServe we can manage all the instances of JDE Objects.

Just a thought. We are using Report Definition that produces an XML output based on an 'identity' XSL template(XML output to be produced identical with the source file). Following is the XSL template I am using(from Oracle). Is there are way to play around with this XSL and add the attribute to the root element?

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:eek:utput method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/>
<!-- Identity template -->
<!-- from http://www.w3.org/TR/xslt section 7.5 -->
<xsl:template match="@*|node()">
<xsl:if test=". != '' or ./@* != ''">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

Kind Regards,
Veera
 
Back
Top