Producing canonical XML
Hi,
I need to convert an XML document to its canonical form according to W3C standards. I tried to use http://xom.nu/ but it didn't work for some reason. Does anyone know other utilities that may do the work?
Thanks,
Daniel
Thanks for the reply. Yeah, I did post on Javaranch too, trying to catch the widest cross section of people in the hope of an answer to this problem.
You have a very good point about the attribute order. I must admit I hadn't thought of that. You are right, one of the things the canonical form requires is for the attributes to be in alphabetical order.
I still find it hard to believe that there isn't a Sun library that does this. There is a javax package to support the other two steps in signing a message (MessageDigest and Signature) so it seems odd that there isn't one for this. Unless I'm simply missing it.
I'm not entirely sure what you mean by an XML serializer, sorry I'm not that experienced in the whole XML, XSLT, etc firld yet. Is it the sort of thing that is Java uses when a Document is produced from a string containing XML?
Thanks again for your help,
Adrian
Similar Messages
-
hi all,
iam working on AGILE to SAP scenario.
from agile iam getting AXML file which is in ZIP format. iam using one file adapter module to unzip into XML and procesing the data. the XML is normal XML, but my client want that XML should be canonical XML.
can any one tell me how to convert into canonical XML instead of normal XML.
Regards,
MadhavHi Madhav,
The canonical form of an XML document is physical representation of the document produced by the method described in this specification. The changes are summarized in the following list:
1. The document is encoded in UTF-8
2. Line breaks normalized to #xA on input, before parsing
3. Attribute values are normalized, as if by a validating processor
4. Character and parsed entity references are replaced
5. CDATA sections are replaced with their character content
6. The XML declaration and document type declaration (DTD) are removed
7. Empty elements are converted to start-end tag pairs
8. Whitespace outside of the document element and within start and end tags is normalized
9. All whitespace in character content is retained (excluding characters removed during line feed normalization)
10. Attribute value delimiters are set to quotation marks (double quotes)
11. Special characters in attribute values and character content are replaced by character references
12. Superfluous namespace declarations are removed from each element
13. Default attributes are added to each element
14. Lexicographic order is imposed on the namespace declarations and attributes of each element
The term canonical XML refers to XML that is in canonical form. The XML canonicalization method is the algorithm defined by this specification that generates the canonical form of a given XML document or document subset. The term XML canonicalization refers to the process of applying the XML canonicalization method to an XML document or document subset.
For more, please go through:
http://www.w3.org/TR/xml-c14n
http://www.ibm.com/developerworks/library/x-c14n/
Thanks,
Varun -
How to produce an XML file in OAGIS format ( for Vendor Master & Invoices)
Hi Guys,
I've requirement to produce an XML file in OAGIS format ( for Vendor Master & Invoices) under Oracle AP and PO.
Any inputs?
thanks.Not sure,you are looking for inbuild product to produce the OAG XML format, or trying to build custom one.
If options is Inbuild Product, Oracle Exchange is yeh another product has such kind of capability. Refer this
http://download-west.oracle.com/docs/cd/A97329_03/web.902/a88894/adx16orx.htm#1007387
FOr second , check out these two document in metalink
150083.1 XML Utilities
123491.1 How To Insert XML Documents Into The Database And Validate Them Using PL/SQL ?
Hope this will be help -
Problem in producing some xml strings
Dear all,
I got a problem in producing some xml string. I use the DocumentBuilderFactory and DocumentBuilder to build a xml document. Instead of saving to a file, I need to make it into a string then return it to the caller. I have tried to use the Transformer but the string returned contains the <?xml version=..../> line which I don't want it. What can I do?What you want to do is associate a stylesheet with the transformer instance you are using to place the DOM into string. The stylesheet with the appropriate instructions are get rid of the <?xml version=..>. You want to produce a stylesheet which has:
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:copy-of select="node()"/>
</xsl:template>
<xsl:output> controls the serialisation of the xml document to the output source which in this case is a string. The <xsl:template> is required. It will copy the entire xml document to the output source. Without it the default templates are used, and the xml markup will not be included in the output source.
Hope this helps. -
Do anybody know or have some XML parser to make Canonical XML? I need it to make digital signature.
Thanx,
erxBy the way, i found this example and it works well:
import java.io.ByteArrayInputStream;
import org.w3c.dom.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.xml.security.c14n.Canonicalizer;
public class CanonicalizationExample
static String input = "<book>\n\t<Author>Joe</Author>\n\t<ISBN value=\"12300093456\"/>\n</book>";
public static void main(String args[]) throws Exception
org.apache.xml.security.Init.init();
DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
dfactory.setNamespaceAware(true);
dfactory.setValidating(true);
DocumentBuilder documentBuilder = dfactory.newDocumentBuilder();
// this is to throw away all validation warnings
documentBuilder.setErrorHandler(new org.apache.xml.security.utils.IgnoreAllErrorHandler());
byte inputBytes[] = input.getBytes();
Document doc = documentBuilder.parse(new ByteArrayInputStream(inputBytes));
Canonicalizer c14n = Canonicalizer.getInstance(
"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments");
byte outputBytes[] = c14n.canonicalizeSubtree(doc );
System.out.println("Input (Uncanonicalized) Document\n" + input);
System.out.println("\nOutput (Canonicalized) Document\n" + new String(outputBytes));
} -
XML Gateway: produce an XML file in OAGIS format ( for Vendor Master & Inv)
Hi Guys,
I've requirement to produce an XML file in OAGIS format ( for Vendor Master & Invoices) under Oracle AP and PO.
The event tringger should fire whenever new vendor/invoice entered or updated.
Would appreciate any inputs.
thanks.Not sure,you are looking for inbuild product to produce the OAG XML format, or trying to build custom one.
If options is Inbuild Product, Oracle Exchange is yeh another product has such kind of capability. Refer this
http://download-west.oracle.com/docs/cd/A97329_03/web.902/a88894/adx16orx.htm#1007387
FOr second , check out these two document in metalink
150083.1 XML Utilities
123491.1 How To Insert XML Documents Into The Database And Validate Them Using PL/SQL ?
Hope this will be help -
Producing nested xml with querying attributes from a nested table
How can one produce nested xml querying columns from a nested table? Looking at the object documentation, I can readily unnest the tables. Using your examples in the book, unnesting is select po.pono, ..., l.* from purchaseorder_objtab po, table (po.lineitemlist_ntab) l where l.quantity = 2;
what if I don't want to unnest and don't want a cursor. I would like to produce nested xml.Gail,
Although you can use XSU (XML-SQL Util) in 8.1.7, I would recommend that you upgrade to 9i for much better support (both in functionality and performance) of XML in the database. For example, in Oracle9i there are:
- a new datatype - XMLType for storing and retrieving XML documents
- DBMS_XMLGEN package and SYS_XMLGEN, SYS_XMLAGG functions for generating XML document from complex SQL queries
- A pipelined table function to break down large XML documents into rows.
You can check out some examples using SYS_XMLGEN and DBMS_XMLGEN for your specific needs at http://download-west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a88894/adx05xml.htm#1017141
Regards,
Geoff -
FlatFile to produce multiple xml Files
Hi - my requirement is I need to convert the below FF to xml format producing unique ID record and multiple Question and Answer Record under it.
Output should be of this format :For 5 different IDs, 5 seperate xml's should be produced
<ID> 000000001 </ID>
<CODE> CNC_OHCA </CODE>
<MemberID> 00123213</MemberID>
<AnswersInfo>
<Question> CNC_RESON_DD </Question>
<Answer> 01 Initial </Answer>
<DATE> 2013-12-31T23:59 </DATE>
</AnswerInfo>
<AnswersInfo>
<Question> CNC_PSDN_RADIO </Question>
<Answer> 01 </Answer>
<DATE> 2013-12-31T23:59 </DATE>
</AnswerInfo>
<AnswersInfo>
<Question> CNC_RESON_LABEL </Question>
<Answer> 01 Initial </Answer>
<DATE> 2013-12-31T23:59 </DATE>
</AnswerInfo>
MBHI was able to debatch the FF into xml, from here I have to group <ID> into 1 unique record and create xml
- <Root xmlns="http://Test_ParallelTest.Test">
- <R1 xmlns="">
<ID>0000000001</ID>
<AssessmentID>CNC_OHCAIGEAIDASEMNT_06132013</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_RESONASSESSMENT_DD</QuestionID>
<Answer>01 Initial</Answer>
<Date>2013-12-31T23:59:59.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000001</ID>
<AssessmentID>CNC_OHCAIGEAIDASEMNT_06132013</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_PSDRNKALCOHL_RADIO</QuestionID>
<Answer>01</Answer>
<Date>2013-12-31T23:59:59.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000001</ID>
<AssessmentID>CNC_OHCAIGEAIDASEMNT_06132013</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_RACEETHNIC_LABEL</QuestionID>
<Answer>01</Answer>
<Date>2013-12-31T23:59:59.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000001</ID>
<AssessmentID>CNC_OHCAIGEAIDASEMNT_06132013</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_CRGIVERDOB1_DATE</QuestionID>
<Answer>Answer optional, not indicated.</Answer>
<Date>2013-12-31T23:59:59.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000001</ID>
<AssessmentID>CNC_OHCAIGEAIDASEMNT_06132013</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_GENDER_RADIO</QuestionID>
<Answer>Female</Answer>
<Date>2013-12-31T23:59:59.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000001</ID>
<AssessmentID>CNC_OHCAIGEAIDASEMNT_06132013</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_MEMBERSSN_TXT</QuestionID>
<Answer>Answer optional, not indicated.</Answer>
<Date>2013-12-31T23:59:59.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000002</ID>
<AssessmentID>CNC_OHLTCBIOPSYSOCV2_022414</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_RESONASSESSMENT_DD</QuestionID>
<Answer>01 initial</Answer>
<Date>2014-01-01T00:02:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000002</ID>
<AssessmentID>CNC_OHLTCBIOPSYSOCV2_022414</AssessmentID>
<MedicaidID>00123213</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_ASIAN_CKBOX</QuestionID>
<Answer>Answer optional, not indicated.</Answer>
<Date>2014-01-01T00:02:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000002</ID>
<AssessmentID>CNC_OHLTCBIOPSYSOCV2_022414</AssessmentID>
<MedicaidID>00123214</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_STANDBY_CKBOX</QuestionID>
<Answer>Yes</Answer>
<Date>2014-01-01T00:03:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000003</ID>
<AssessmentID>CNC_OHREALMR_06132013</AssessmentID>
<MedicaidID>00123214</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_STRENGTHS_TEXT</QuestionID>
<Answer>Arm</Answer>
<Date>2014-01-01T00:03:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000003</ID>
<AssessmentID>CNC_OHREALMR_06132013</AssessmentID>
<MedicaidID>00123214</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_STROKE_CKBOX</QuestionID>
<Answer>No</Answer>
<Date>2014-01-01T00:03:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000004</ID>
<AssessmentID>CNC_PHQ-9_11JAN2012</AssessmentID>
<MedicaidID>00123215</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_SATREATMENT_CKBOX</QuestionID>
<Answer>No</Answer>
<Date>2014-01-01T00:03:20.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000004</ID>
<AssessmentID>CNC_PHQ-9_11JAN2012</AssessmentID>
<MedicaidID>00123215</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_DESCSURGHIST_TEXT</QuestionID>
<Answer>Saw last May 2012 and outpaitient</Answer>
<Date>2014-01-01T00:03:20.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000004</ID>
<AssessmentID>CNC_PHQ-9_11JAN2012</AssessmentID>
<MedicaidID>00123215</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_TAKESMEDS_CKBOX</QuestionID>
<Answer>Yes</Answer>
<Date>2014-01-01T00:03:20.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000005</ID>
<AssessmentID>CNC_OHMODFYMORSKYSCL_061313</AssessmentID>
<MedicaidID>12321666</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_NOTPRESCRIBED_RADIO</QuestionID>
<Answer>01 No</Answer>
<Date>2014-01-01T00:04:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000005</ID>
<AssessmentID>CNC_OHMODFYMORSKYSCL_061313</AssessmentID>
<MedicaidID>12321666</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_TEETHDENT_CKBOX</QuestionID>
<Answer>Yes</Answer>
<Date>2014-01-01T00:04:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000006</ID>
<AssessmentID>CNC_OHMODFYMORSKYSCL_061313</AssessmentID>
<MedicaidID>12321667</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_NOTPRESCRIBED_RADIO</QuestionID>
<Answer>01 No</Answer>
<Date>2014-01-01T00:04:00.000</Date>
</AnswerInfo>
</R1>
- <R1 xmlns="">
<ID>0000000006</ID>
<AssessmentID>CNC_OHMODFYMORSKYSCL_061313</AssessmentID>
<MedicaidID>12321667</MedicaidID>
- <AnswerInfo>
<QuestionID>CNC_TEETHDENT_CKBOX</QuestionID>
<Answer>Yes</Answer>
<Date>2014-01-01T00:04:00.000</Date>
</AnswerInfo>
</R1>
</Root>
MBH -
Using An Array Collection Produced From XML In Conjunction With Shared Object
I have an old app that Greg LaFrance helped me out with greatly which allows the user to drag items between two tilelists and then save the contents of both tilelists by clicking a save button using the sharedObject method. The tilelists are populated by array collections defined in the app. I want to change this so that the tilelists are instead populated by an array collection which I've retrieved from a remote xml file via http request but I can't get this to work. Basically I need to replace both the predefined array collections profile1NewsAndSportaddLinksFullAC and profile1NewsAndSportaddLinksAC with my xml/httprequest produced newsAC array collection and still make the tilelists saveable. Can anyone help me out? Here's the code:-
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="newsService.send(); initprofile1NewsAndSportSO()">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.collections.*;
import flash.net.SharedObject;
Bindable]
private var newsAC:ArrayCollection;
private function newsResultHandler(event:ResultEvent):void{
newsAC=newsService.lastResult.newscategory.news;
public var profile1NewsAndSportSO:SharedObject;
private var profile1NewsAndSportaddLinksFullAC:ArrayCollection = new ArrayCollection([{label:
"BBC News"},{label:
"ITV"},{label:
"Sky News"}]);
private var profile1NewsAndSportaddLinksAC:ArrayCollection = new ArrayCollection([{label:
"BBC News"},{label:
"ITV"},{label:
"Sky News"}]);
private function profile1NewsAndSportReset():void{resetprofile1NewsAndSportAC();
profile1NewsAndSportAddLinksTilelist.dataProvider
= profile1NewsAndSportaddLinksAC;
profile1NewsAndSportLinkChoice.dataProvider =
new ArrayCollection([]); }
private function resetprofile1NewsAndSportAC():void{profile1NewsAndSportaddLinksAC.removeAll();
for each(var obj:Object in profile1NewsAndSportaddLinksFullAC){profile1NewsAndSportaddLinksAC.addItem(obj);
private function initprofile1NewsAndSportSO():void{profile1NewsAndSportSO = SharedObject.getLocal(
"profile1NewsAndSport");
if(profile1NewsAndSportSO.size > 0){
if(profile1NewsAndSportSO.data.profile1NewsAndSportaddList){
if(profile1NewsAndSportSO.data.profile1NewsAndSportaddList != "empty"){
var profile1NewsAndSportaddList:Array = profile1NewsAndSportSO.data.profile1NewsAndSportaddList.split(",");
var profile1NewsAndSporttempAC1:ArrayCollection = new ArrayCollection();
for each(var str:String in profile1NewsAndSportaddList){
for each(var obj1:Object in profile1NewsAndSportaddLinksAC){
if(str == obj1.label){profile1NewsAndSporttempAC1.addItem(obj1);
continue;}
if(profile1NewsAndSporttempAC1.length > 0){profile1NewsAndSportAddLinksTilelist.dataProvider = profile1NewsAndSporttempAC1;
if(profile1NewsAndSportSO.data.profile1NewsAndSportchoiceList){
var profile1NewsAndSportchoiceList:Array = profile1NewsAndSportSO.data.profile1NewsAndSportchoiceList.split(",");
var profile1NewsAndSporttempAC2:ArrayCollection = new ArrayCollection();
for each(var str2:String in profile1NewsAndSportchoiceList){
for each(var obj2:Object in profile1NewsAndSportaddLinksAC){
if(str2 == obj2.label){profile1NewsAndSporttempAC2.addItem(obj2);
continue;}
if(profile1NewsAndSporttempAC2.length > 0){profile1NewsAndSportLinkChoice.dataProvider = profile1NewsAndSporttempAC2;
else{profile1NewsAndSportReset();
private function saveprofile1NewsAndSport(event:MouseEvent):void{
var profile1NewsAndSportaddList:String = "";
if(profile1NewsAndSportAddLinksTilelist.dataProvider){
if(ArrayCollection(profile1NewsAndSportAddLinksTilelist.dataProvider).length > 0){
for each(var obj1:Object in profile1NewsAndSportAddLinksTilelist.dataProvider){
profile1NewsAndSportaddList += obj1.label +
else{profile1NewsAndSportaddList =
"empty";}
profile1NewsAndSportSO.data.profile1NewsAndSportaddList = profile1NewsAndSportaddList;
var profile1NewsAndSportchoiceList:String = "";
for each(var obj2:Object in profile1NewsAndSportLinkChoice.dataProvider){
profile1NewsAndSportchoiceList += obj2.label +
profile1NewsAndSportSO.data.profile1NewsAndSportchoiceList = profile1NewsAndSportchoiceList;
profile1NewsAndSportSO.flush();
]]>
</mx:Script>
<mx:HTTPService id="newsService" resultFormat="object" result="newsResultHandler(event)" url="http://www.coolvisiontest.com/getnews.php"/>
<mx:Button click="profile1NewsAndSportReset()" id="reset" label="
Reset" y="5" height="25" x="5"/>
<mx:TileList id="profile1NewsAndSportLinkChoice" fontWeight="bold" dragEnabled="
true" dragMoveEnabled="true" dropEnabled="true" height="129" width="
650" top="5" left="521" columnCount="5" rowHeight="145" columnWidth="
125" backgroundColor="#000000" color="#FFFFFF"/>
<mx:TileList id="profile1NewsAndSportAddLinksTilelist" fontWeight="bold" dragEnabled="
true" dragMoveEnabled="true" dropEnabled="true" height="129" width="
385" top="5" left="128" columnCount="3" rowHeight="145" columnWidth="125" backgroundColor="
#000000" color="#FFFFFF"/>
<mx:Button click="saveprofile1NewsAndSport(event)" id="save" label="Save Changes" x="
5" y="38" width="113" height="25.5"/>
</mx:WindowedApplication>It might be easy to solve these issues if you post your form.
Post your form if it doesn't contain any confidential information.
Nith -
Does Oracle AP produce SEPA XML files for EFT transactions?
One of our banks recommends that we provide the EFT file in SEPA XML format which is applicable to all banks in EU countries. Does Oracle AP produce this file as a standard? Does it need to be customized?
What are the Standard EFT Formats produced by Oracle eBS as a standard out-of-the-box functionality?
Any sort of input on the topic would be useful. Thanks.Our Oracle customers are using the APRO Banking Gateway. This product delivers standard the SEPA XML file format already, which is created based on the standard Oracle AP Payment Batch/Instruction information.
You can use the APRO Banking Gateway for all Oracle EBS releases 11i, 12.
If you have any questions, check www.apro.nl. -
Canon XML tags lost or just hidden?
I'm using Aperture to catalog JPEGs taken with a Canon 2S IS. It seems not all of Canon's XML tags are imported. I can see all the info in Canon's own Image Browser software, but not in Aperture. Color balance, ASA and things like that seem to get lost in the translation.
I remember reading somewhere awhile ago that Canon doesn't use standard XML fields. Is that true? And if so, can't Apple just import all extraneous XML data into random unnamed fields that the user can then tag?
Is this data really in Aperture and I just can't find it, or is it not imported because it doesn't match what Apple expects to find?
Thanks for any tips.
1.25 gHz G4 Powerbook w/ 1 gig RAM Mac OS X (10.4.6)Is that camera officially supported?
-
I want to produce an XML file from XML Publisher and Burst it as XML
Hi,
I have XML data and I want to make a template that will generate an XML file from this data so I will be able to burst it.
The output file of the bursting needs to be XML.
Can anyone help me?
Thanks,
Chen.If you used your computer as part of the VHS to DVD process, then you'll have a digital audio file that we can find, but I'm guessing you used a VHS to DVD standalone recorder. If so, you can use some free software called MPEG Streamclip:
- insert your DVD, and Quit from the DVD Player if it starts automatically.
- start MPEG Streamclip and open the DVD; then open the Video TS folder and open the first of the .VOB files (repeat this step until you find the file you're interested in).
- use the Export to AIFF option and you'll have the audio file.
- you'll be able to bring this file into iTunes, burn it to CD, etc.
John -
Hi,
can someone tell me if and how it's possible to get an output of a select in XML format in Oracle? Is there some PDF explaining how to do it?
I work on Oracle version 8i
Thanks!i dont no in version 8i
but i working on oracle 9i & 10g with xml..
sample...
xml-select statement..
SELECT XMLAGG(XMLELEMENT("UsageRecord",
XMLFOREST(DU.METER,
TO_CHAR(DU.DAILYTIMESTAMP, g_timeStampFormat) DAILYTIMESTAMP,
DU.TOTALENERGY,
DU.STATUSID,
DU.AVERAGEUSAGEDAYS,
DU.SPIKEPERCENT,
DECODE(DU.STATUSID, 3, 'Estimated', 5, 'Averaged', 2, 'Error', 'Calculated') "USAGETYPE",
(SELECT ( XMLAGG(XMLELEMENT("Validation",XMLFOREST(ED.ERRORID, DECODE(ED.ERRORID, 10, 'Illegal Usage', 11, 'Usage Spike') "ERRORDESC")))) xe FROM ERROR_DETAIL ED WHERE ED.ERRORKEY = DU.USAGEID) "Validations"
).GETCLOBVAL()
FROM DAILY_USAGE DU LEFT OUTER JOIN ERROR_DETAIL ED ON DU.USAGEID = ED.ERRORKEY
WHERE DU.METER = cp_meter AND DU.DAILYTIMESTAMP >= cp_usageFrom AND DU.DAILYTIMESTAMP <= cp_usageTo;
output is:
Input: '<InputParameters><ParamSet>
<METER>17209346</METER>
<READINGSSTARTTIME>31-MAR-10</READINGSSTARTTIME>
<READINGSENDTIME>15-APR-10</READINGSENDTIME>
</ParamSet></InputParameters>';
Output:
<Output><UsageRecords><UsageRecord><METER>17209346</METER><DAILYTIMESTAMP>06/15/2010 00:00:00.000000</DAILYTIMESTAMP><TOTALENERGY>29</TOTALENERGY><STATUSID>1</STATUSID><USAGETYPE>Calculated</USAGETYPE><PEAKKVAR>0</PEAKKVAR><ENDREADING>66882
</ENDREADING><USAGEID>32151771</USAGEID><LATESTREADINGID>29049733</LATESTREADINGID></UsageRecord><UsageRecord><METER>17209346</METER><DAILYTIMESTAMP>06/16/2010 00:00:00.000000</DAILYTIMESTAMP><TOTALENERGY>57</TOTALENERGY><STATUSID>1</STATUS
ID><USAGETYPE>Calculated</USAGETYPE><PEAKKVAR>0</PEAKKVAR><ENDREADING>66939</ENDREADING><USAGEID>32217320</USAGEID><LATESTREADINGID>29049735</LATESTREADINGID></UsageRecord><UsageRecord><METER>17209346</METER><DAILYTIMESTAMP>06/17/2010 00:00
:00.000000</DAILYTIMESTAMP><TOTALENERGY>58</TOTALENERGY><STATUSID>1</STATUSID><USAGETYPE>Calculated</USAGETYPE><PEAKKVAR>0</PEAKKVAR><ENDREADING>66997</ENDREADING><USAGEID>32282871</USAGEID><LATESTREADINGID>29049737</LATESTREADINGID></Usage
Record><UsageRecord><METER>17209346</METER><DAILYTIMESTAMP>06/18/2010 00:00:00.000000</DAILYTIMESTAMP><TOTALENERGY>56</TOTALENERGY><STATUSID>1</STATUSID><USAGETYPE>Calculated</USAGETYPE><PEAKKVAR>0</PEAKKVAR><ENDREADING>67053</ENDREADING><U
SAGEID>32348421</USAGEID><LATESTREADINGID>29049739</LATESTREADINGID></UsageRecord><UsageRecord><METER>17209346</METER><DAILYTIMESTAMP>06/19/2010 00:00:00.000000</DAILYTIMESTAMP><TOTALENERGY>35</TOTALENERGY><STATUSID>1</STATUSID><USAGETYPE>C
alculated</USAGETYPE><PEAKKVAR>0</PEAKKVAR><ENDREADING>67088</ENDREADING><USAGEID>35780363</USAGEID><LATESTREADINGID>34626182</LATESTREADINGID></UsageRecord><UsageRecord><METER>17209346</METER><DAILYTIMESTAMP>06/20/2010 00:00:00.000000</DAI -
EDIReceive Pipeline split 820 file, produce invalid xml output
I am using BizTalk 2013. X12_00501_820 schema comes from biztalk in-box schema with a tiny little change to add annotations such as
subdocument_creation_break="yes" to enable spliting.
For my testing, I applied subdocument_creation_break in loop 2000A and 2000B
The biztalk do consume the 820 file and split the file. the problem is the file it split is not a valid xml. a ">" is missing in the output xml, making whole xml invalid
The error happen in ENT_SubLoop element
output xml in this part looks like that:
<ns0:ENT_SubLoop<ns0:TS820_2000B_Loop xmlns:ns0="http://schemas.microsoft.com/BizTalk/EDI/X12/2006">
The ">" for ENT_SubLoop is missing.I am experiencing a nearly identical problem, only I am using BizTalk 2010:
<ns0:ENT_SubLoop<ns0:TS820_2000B_Loop_Loop<ns0:TS820_2000B_Loop xmlns:ns0="http://schemas.microsoft.com/BizTalk/EDI/X12/2006">
The ">" for ENT_SubLoop is missing from the generated XML.
I applied the subdocument_creation_break as follows:
- <xs:element name="TS820_2000B_Loop">
- <xs:annotation> <xs:documentation>Loop for Individual Remittance</xs:documentation>
- <xs:appinfo>
<b:recordInfo
structure="delimited" field_order="infix"
delimiter_type="inherit_record" subdocument_creation_break="yes"
count_ignore="yes" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" trigger_field="ENT_IndividualRemittance/ENT02_EntityIdentifierCode"
trigger_value="2J" />
</xs:appinfo>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
<xs:element
minOccurs="1" maxOccurs="1" ref="ENT_IndividualRemittance"
/>
<xs:element
minOccurs="0" maxOccurs="unbounded" ref="TS820_2100B_Loop"
/>
<xs:element
minOccurs="0" maxOccurs="unbounded" ref="TS820_2200B_Loop"
/>
<xs:element
minOccurs="1" maxOccurs="unbounded" ref="TS820_2300B_Loop"
/>
</xs:sequence>
</xs:complexType>
</xs:element>
This appears to be a problem with the EDI disassembler.
Has anyone else experienced this? Any known fix or easy workaround? -
Payables Account Analysis report takes long time to produce xml output
Hi,
I am trying to get xml data for the Payables Account Analysis report. I have changed the output format of the concurrent program to XML.
The report takes long time to produce the xml data irrespective of the number of rows fetched. But the same report with Text output runs very fast.
Any reason why the xml output takes long time?
thanks in advance
Malathi.Hi,
Thanks for the reply.
As mentioned above, i deleted the Q_FLEXDATA and ran the report. it takes less time.
But Will the report data not affected when we delete Q_FLEXDATA Group? and Why this flexdata group affects the running time?
Thanks,
Malathi.
Maybe you are looking for
-
How can I view the underlying URL to a hypertext link in text from galley or story mode?
How can I view the underlying URL to a hypertext link in text from galley or story mode?
-
OBIEE not applying outer join syntax to filters
(Note: I've already thoroughly searched the forums before posting this. Thanks) My problem is the following: I'm trying to build a report that is a count from my fact table, grouped by month from my date dimension for a given year, resulting in 12 da
-
Will you be able to use Siri on iOS 6 with the iPad 2?
Will you be able to use Siri on iOS 6 with the iPad 2?
-
Oracle Database at Novel Netware and D2K at Windows Machine
One of our clients are asking Combination of Oracle Database at Novel netware and Developer 2000 at Windows machine , please send us the comments whether the above combination is possible
-
Is there a script that automates mail:to links and hyperlinks?
In a nutshell, maybe this was already done. I searched the forum, but cant say I found what I was looking for. Jim Simon can be reached at [email protected] Jim Simon work's gallery can be found at www.jsgallery.com. Basic stuff like this.