Thread: [Servingxml-help] Formating distinct record lines
Brought to you by:
danielaparker
From: <jan...@gm...> - 2007-04-30 07:07:46
|
SGksCgpJIGFtIHRyeWluZyB0byB1c2Ugc2VydmluZ3htbCB0byB0cmFuc2Zvcm0geG1sIGZpbGVz IHRvIGZsYXQgZmlsZXMsIGJ1dCBJIGFtCmhhdmluZyBzb21lIHByb2JsZW1zIHNvbHZpbmcgc29t ZSB0aGluZ3MgbGlrZSBmb3IgaW5zdGFuY2UsIG15IFhNTCBmaWxlIGhhcwpsb3RzIG9mZiBkaWZm ZXJlbnQgdGFncyBhbmQgSSBuZWVkIHRvIHRyZWF0IHRoYW4gc2VwYXJhdGVseSAoIGJ1dCBub3Qg YXMgYQpoZWFkZXIpIGZvciBpc3RhbmNlOgoKPEJMT0NLMT4KICAgICAgICAgICA8RklFTEQxPlhY WFg8L0ZJRUxEMT4KICAgICAgICAgIDxGSUVMRDI+WVlZWTwvRklFTEQyPgogICAgICAgICAgPEZJ RUxEMz5aWlpaPC9GSUVMRDM+CiAgICAgICAgICA8RklFTEQ0PldXV1c8L0ZJRUxEND4KPC9CTE9D SzE+CiA8QkxPQ0syPgogICAgICAgICAgIDxURVhUMT5YWFhYPC9URVhUMT4KICAgICAgICAgIDxU RVhUMj5ZWVlZPC9URVhUMj4KICAgICAgICAgIDxURVhUMz5aWlpaPC9URVhUMz4KICAgICAgICAg IDxURVhUND5XV1dXPC9URVhUND4KPC9CTE9DSzI+CiA8QkxPQ0szPgogICAgICAgICAgIDxJTlRF R0VSMT4xMTExPC9JTlRFR0VSMT4KICAgICAgICAgIDxJTlRFR0VSMj4yMjIyPC9JTlRFR0VSMj4K ICAgICAgICAgIDxJTlRFR0VSMj4zMzMzPC9JTlRFR0VSMj4KPC9CTE9DSzQ+CgpJIHdvdWxkIGxp a2UgdG8gaGF2ZSBkaXN0aW5jdCByZWNvcmQgdHlwZXMgZm9yIGVhY2ggYmxvY2ssIGFuZCBpdHMK Y29ycmVzcG9uZGluZyByZWNvcmQgbWFwcGluZy4KSXMgdGhpcyBwb3NzaWJsZSwgZm9yIHRoZSBz YW1lIGZpbGU/CgpBbm90aGVyIHByb2JsZW0gaXMgdGhhdCBJIG5lZWQgdG8gY29ycmVzcG9uZCBl YWNoIGxldmVsIG9mIGEgaGllcmFyY2h5IG9mCnRhZ3MgdG8gYSByZWNvcmQgbGluZSBpbiB0aGUg b3V0cHV0IGZsYXQgZmlsZSwgYXMgYW4gZXhhbXBsZSB0aGlzIFhNTCBlbnRyeToKCjxCbG9jazI3 MD4KICAgICA8RmllbGQxPnNvbWUgdGV4dDwvRmllbGQxPgogICAgICA8RmllbGQyPjY2NjY2Njwv RmllbGQyPgogICAgIDxCbG9jazcwMD4KICAgICAgICAgICAgPEZpZWxkMz5zb21ldGhpbmc8L0Zp ZWxkMz4KICAgICAgICAgICAgPEZpZWxkND45OTk5OTk8L0ZpZWxkND4KICAgICA8QmxvY2s3MDA+ CiAgICAgIDxCbG9jazgwMD4KICAgICAgICAgICAgPEZpZWxkNT5sYXN0PC9GaWVsZDY+CiAgICAg ICAgICAgIDxGaWVsZDY+MDA3PC9GaWVsZDY+CiAgICAgPEJsb2NrODAwPgogPC9CbG9jazI3MD4K IDxCbG9jazI3MD4KICAgICA8RmllbGQxPnNvbWUgdGV4dDI8L0ZpZWxkMT4KICAgICAgPEZpZWxk Mj4xMTExMTE8L0ZpZWxkMj4KICAgICA8QmxvY2s3MDA+CiAgICAgICAgICAgIDxGaWVsZDM+c29t ZXRoaW5nMjwvRmllbGQzPgogICAgICAgICAgICA8RmllbGQ0Pjg4ODg4ODwvRmllbGQ0PgogICAg IDxCbG9jazcwMD4KICAgICAgPEJsb2NrODAwPgogICAgICAgICAgICA8RmllbGQ1Pmxhc3QyPC9G aWVsZDY+CiAgICAgICAgICAgIDxGaWVsZDY+MDA4PC9GaWVsZDY+CiAgICAgPEJsb2NrODAwPgog PC9CbG9jazI3MD4KCkFuZCB0aGUgZGVzaXJlZCBvdXRwdXQgd291bGQgYmU6CnNvbWUgdGV4dDY2 NjY2Ngpzb21ldGhpbmc5OTk5OTkKbGFzdDAwNwogc29tZSB0ZXh0MjExMTExMQpzb21ldGhpbmcy ODg4ODg4Cmxhc3QyMDA4CgogSXMgdGhpcyBwb3NzaWJsZSwgdG8gZG8/CklmIGl0cyBub3Qgd2hh dCBzb3VyY2UgZmlsZXMgc2hvdWxkIEkgY2hhbmdlLCB0byBtYWtlIHRoaXMgd29yay4KClRoYW5r cyBmb3IgeW91ciB0aW1lLApKb3PDqSBTYW50b3MK |
From: Daniel P. <dan...@sy...> - 2007-05-01 03:46:39
|
Jose, The first example is no problem, you can use a resources script as shown = below. Note that the sx:when tests in the output record definition are = evaluated against the XML representation of the flattened records. = Since there's no obvious tag field, the test is performed against the = record type that is assigned to the record in the inverse record mapping = section, where the record type corresponds to the root element of the = record's XML representation. =20 <sx:resources xmlns:sx=3D"http://www.servingxml.com/core"> <sx:service id=3D"blocks"> <sx:recordStream> <sx:xmlRecordReader> <sx:transform> <sx:document/> </sx:transform> <sx:inverseRecordMapping ref=3D"blocksToFileMapping"/> </sx:xmlRecordReader> <sx:flatFileWriter> <sx:flatFile> <sx:flatFileBody> <sx:flatRecordType ref=3D"blockType"/> </sx:flatFileBody> </sx:flatFile> </sx:flatFileWriter> </sx:recordStream> </sx:service> <sx:flatRecordTypeChoice id=3D"blockType" name=3D"blockType"> <sx:positionalField name=3D"dummy" width=3D"1"/> <sx:when test=3D"/Block1Record"> <sx:flatRecordType name=3D"BLOCK1"> <sx:positionalField name=3D"Field1" width=3D"4"/> <sx:positionalField name=3D"Field2" width=3D"4"/> <sx:positionalField name=3D"Field3" width=3D"4"/> <sx:positionalField name=3D"Field4" width=3D"4"/> </sx:flatRecordType> </sx:when> <sx:when test=3D"/Block2Record"> <sx:flatRecordType name=3D"BLOCK2"> <sx:positionalField name=3D"Text1" width=3D"4"/> <sx:positionalField name=3D"Text2" width=3D"4"/> <sx:positionalField name=3D"Text3" width=3D"4"/> <sx:positionalField name=3D"Text4" width=3D"4"/> </sx:flatRecordType> </sx:when> <sx:when test=3D"/Block3Record"> <sx:flatRecordType name=3D"BLOCK3"> <sx:positionalField name=3D"Integer1" width=3D"4"/> <sx:positionalField name=3D"Integer2" width=3D"4"/> <sx:positionalField name=3D"Integer3" width=3D"4"/> </sx:flatRecordType> </sx:when> </sx:flatRecordTypeChoice> <sx:inverseRecordMapping id=3D"blocksToFileMapping"> <sx:onSubtree path=3D"/BLOCKS"> <sx:onSubtree path=3D"BLOCK1"> <sx:subtreeRecordMap recordType=3D"Block1Record"> <sx:subtreeFieldMap select=3D"FIELD1" field=3D"Field1"/> <sx:subtreeFieldMap select=3D"FIELD2" field=3D"Field2"/> <sx:subtreeFieldMap select=3D"FIELD3" field=3D"Field3"/> <sx:subtreeFieldMap select=3D"FIELD4" field=3D"Field4"/> </sx:subtreeRecordMap> </sx:onSubtree> <sx:onSubtree path=3D"BLOCK2"> <sx:subtreeRecordMap recordType=3D"Block2Record"> <sx:subtreeTextMap select=3D"TEXT1" field=3D"Text1"/> <sx:subtreeTextMap select=3D"TEXT2" field=3D"Text2"/> <sx:subtreeTextMap select=3D"TEXT3" field=3D"Text3"/> <sx:subtreeTextMap select=3D"TEXT4" field=3D"Text4"/> </sx:subtreeRecordMap> </sx:onSubtree> <sx:onSubtree path=3D"BLOCK3"> <sx:subtreeRecordMap recordType=3D"Block3Record"> <sx:subtreeIntegerMap select=3D"INTEGER1" field=3D"Integer1"/> <sx:subtreeIntegerMap select=3D"INTEGER2" field=3D"Integer2"/> <sx:subtreeIntegerMap select=3D"INTEGER3" field=3D"Integer3"/> </sx:subtreeRecordMap> </sx:onSubtree> </sx:onSubtree> </sx:inverseRecordMapping> </sx:resources> I'll have to think about the second example, it may require an = enhancement. Regards, Daniel Parker ----- Original Message -----=20 From: Jos=C3=A9 Santos=20 To: ser...@li...=20 Sent: Monday, April 30, 2007 3:07 AM Subject: [Servingxml-help] Formating distinct record lines Hi, I am trying to use servingxml to transform xml files to flat files, = but I am having some problems solving some things like for instance, my = XML file has lots off different tags and I need to treat than separately = ( but not as a header) for istance:=20 <BLOCK1> <FIELD1>XXXX</FIELD1> <FIELD2>YYYY</FIELD2> <FIELD3>ZZZZ</FIELD3> <FIELD4>WWWW</FIELD4> </BLOCK1> <BLOCK2> <TEXT1>XXXX</TEXT1> <TEXT2>YYYY</TEXT2> <TEXT3>ZZZZ</TEXT3> <TEXT4>WWWW</TEXT4> </BLOCK2> <BLOCK3> <INTEGER1>1111</INTEGER1> <INTEGER2>2222</INTEGER2> <INTEGER2>3333</INTEGER2> </BLOCK4> I would like to have distinct record types for each block, and its = corresponding record mapping. Is this possible, for the same file? Another problem is that I need to correspond each level of a hierarchy = of tags to a record line in the output flat file, as an example this XML = entry: <Block270> <Field1>some text</Field1> <Field2>666666</Field2> <Block700> <Field3>something</Field3> <Field4>999999</Field4> <Block700> <Block800> <Field5>last</Field6> <Field6>007</Field6> <Block800> </Block270> <Block270> <Field1>some text2</Field1> <Field2>111111</Field2> <Block700> <Field3>something2</Field3> <Field4>888888</Field4> <Block700> <Block800> <Field5>last2</Field6> <Field6>008</Field6> <Block800> </Block270> And the desired output would be: some text666666 something999999 last007 some text2111111 something2888888 last2008 Is this possible, to do? If its not what source files should I change, to make this work. Thanks for your time, Jos=C3=A9 Santos -------------------------------------------------------------------------= ----- = -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ -------------------------------------------------------------------------= ----- _______________________________________________ Servingxml-help mailing list Ser...@li... https://lists.sourceforge.net/lists/listinfo/servingxml-help |
From: Daniel P. <dan...@sy...> - 2007-05-08 02:22:14
|
Actually, the proposed solution is fine, except that it illustrates the = dangers of cut and paste, and search and replace. Anyway, I've added = the corrected example to the on-line examples, see the XML-to-Flat = "Formating Distinct Record Lines" example. I'll have a look at the other case later in the week. Regards, Daniel Parker=20 ----- Original Message -----=20 From: Daniel Parker=20 To: Jos=C3=A9 Santos ; ser...@li...=20 Sent: Tuesday, May 01, 2007 7:13 AM Subject: Re: [Servingxml-help] Formating distinct record lines Sorry, there appears to be an issue with the proposed solution, I'll = need to investigate (I hadn't previously tested this case.) Daniel ----- Original Message -----=20 From: Daniel Parker=20 To: Jos=C3=A9 Santos ; ser...@li...=20 Sent: Monday, April 30, 2007 11:46 PM Subject: Re: [Servingxml-help] Formating distinct record lines Jose, The first example is no problem, you can use a resources script as = shown below. Note that the sx:when tests in the output record = definition are evaluated against the XML representation of the flattened = records. Since there's no obvious tag field, the test is performed = against the record type that is assigned to the record in the inverse = record mapping section, where the record type corresponds to the root = element of the record's XML representation. =20 <sx:resources xmlns:sx=3D"http://www.servingxml.com/core"> <sx:service id=3D"blocks"> <sx:recordStream> <sx:xmlRecordReader> <sx:transform> <sx:document/> </sx:transform> <sx:inverseRecordMapping ref=3D"blocksToFileMapping"/> </sx:xmlRecordReader> <sx:flatFileWriter> <sx:flatFile> <sx:flatFileBody> <sx:flatRecordType ref=3D"blockType"/> </sx:flatFileBody> </sx:flatFile> </sx:flatFileWriter> </sx:recordStream> </sx:service> <sx:flatRecordTypeChoice id=3D"blockType" name=3D"blockType"> <sx:positionalField name=3D"dummy" width=3D"1"/> <sx:when test=3D"/Block1Record"> <sx:flatRecordType name=3D"BLOCK1"> <sx:positionalField name=3D"Field1" width=3D"4"/> <sx:positionalField name=3D"Field2" width=3D"4"/> <sx:positionalField name=3D"Field3" width=3D"4"/> <sx:positionalField name=3D"Field4" width=3D"4"/> </sx:flatRecordType> </sx:when> <sx:when test=3D"/Block2Record"> <sx:flatRecordType name=3D"BLOCK2"> <sx:positionalField name=3D"Text1" width=3D"4"/> <sx:positionalField name=3D"Text2" width=3D"4"/> <sx:positionalField name=3D"Text3" width=3D"4"/> <sx:positionalField name=3D"Text4" width=3D"4"/> </sx:flatRecordType> </sx:when> <sx:when test=3D"/Block3Record"> <sx:flatRecordType name=3D"BLOCK3"> <sx:positionalField name=3D"Integer1" width=3D"4"/> <sx:positionalField name=3D"Integer2" width=3D"4"/> <sx:positionalField name=3D"Integer3" width=3D"4"/> </sx:flatRecordType> </sx:when> </sx:flatRecordTypeChoice> <sx:inverseRecordMapping id=3D"blocksToFileMapping"> <sx:onSubtree path=3D"/BLOCKS"> <sx:onSubtree path=3D"BLOCK1"> <sx:subtreeRecordMap recordType=3D"Block1Record"> <sx:subtreeFieldMap select=3D"FIELD1" field=3D"Field1"/> <sx:subtreeFieldMap select=3D"FIELD2" field=3D"Field2"/> <sx:subtreeFieldMap select=3D"FIELD3" field=3D"Field3"/> <sx:subtreeFieldMap select=3D"FIELD4" field=3D"Field4"/> </sx:subtreeRecordMap> </sx:onSubtree> <sx:onSubtree path=3D"BLOCK2"> <sx:subtreeRecordMap recordType=3D"Block2Record"> <sx:subtreeTextMap select=3D"TEXT1" field=3D"Text1"/> <sx:subtreeTextMap select=3D"TEXT2" field=3D"Text2"/> <sx:subtreeTextMap select=3D"TEXT3" field=3D"Text3"/> <sx:subtreeTextMap select=3D"TEXT4" field=3D"Text4"/> </sx:subtreeRecordMap> </sx:onSubtree> <sx:onSubtree path=3D"BLOCK3"> <sx:subtreeRecordMap recordType=3D"Block3Record"> <sx:subtreeIntegerMap select=3D"INTEGER1" = field=3D"Integer1"/> <sx:subtreeIntegerMap select=3D"INTEGER2" = field=3D"Integer2"/> <sx:subtreeIntegerMap select=3D"INTEGER3" = field=3D"Integer3"/> </sx:subtreeRecordMap> </sx:onSubtree> </sx:onSubtree> </sx:inverseRecordMapping> </sx:resources> I'll have to think about the second example, it may require an = enhancement. Regards, Daniel Parker ----- Original Message -----=20 From: Jos=C3=A9 Santos=20 To: ser...@li...=20 Sent: Monday, April 30, 2007 3:07 AM Subject: [Servingxml-help] Formating distinct record lines Hi, I am trying to use servingxml to transform xml files to flat = files, but I am having some problems solving some things like for = instance, my XML file has lots off different tags and I need to treat = than separately ( but not as a header) for istance:=20 <BLOCK1> <FIELD1>XXXX</FIELD1> <FIELD2>YYYY</FIELD2> <FIELD3>ZZZZ</FIELD3> <FIELD4>WWWW</FIELD4> </BLOCK1> <BLOCK2> <TEXT1>XXXX</TEXT1> <TEXT2>YYYY</TEXT2> <TEXT3>ZZZZ</TEXT3> <TEXT4>WWWW</TEXT4> </BLOCK2> <BLOCK3> <INTEGER1>1111</INTEGER1> <INTEGER2>2222</INTEGER2> <INTEGER2>3333</INTEGER2> </BLOCK4> I would like to have distinct record types for each block, and its = corresponding record mapping. Is this possible, for the same file? Another problem is that I need to correspond each level of a = hierarchy of tags to a record line in the output flat file, as an = example this XML entry: <Block270> <Field1>some text</Field1> <Field2>666666</Field2> <Block700> <Field3>something</Field3> <Field4>999999</Field4> <Block700> <Block800> <Field5>last</Field6> <Field6>007</Field6> <Block800> </Block270> <Block270> <Field1>some text2</Field1> <Field2>111111</Field2> <Block700> <Field3>something2</Field3> <Field4>888888</Field4> <Block700> <Block800> <Field5>last2</Field6> <Field6>008</Field6> <Block800> </Block270> And the desired output would be: some text666666 something999999 last007 some text2111111 something2888888 last2008 Is this possible, to do? If its not what source files should I change, to make this work. Thanks for your time, Jos=C3=A9 Santos -------------------------------------------------------------------------= - = -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/=20 -------------------------------------------------------------------------= - _______________________________________________ Servingxml-help mailing list Ser...@li... https://lists.sourceforge.net/lists/listinfo/servingxml-help -------------------------------------------------------------------------= --- = -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/=20 -------------------------------------------------------------------------= --- _______________________________________________ Servingxml-help mailing list Ser...@li... https://lists.sourceforge.net/lists/listinfo/servingxml-help -------------------------------------------------------------------------= ----- = -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ -------------------------------------------------------------------------= ----- _______________________________________________ Servingxml-help mailing list Ser...@li... https://lists.sourceforge.net/lists/listinfo/servingxml-help |
From: Daniel P. <dan...@sy...> - 2007-05-01 11:13:25
|
Sorry, there appears to be an issue with the proposed solution, I'll = need to investigate (I hadn't previously tested this case.) Daniel ----- Original Message -----=20 From: Daniel Parker=20 To: Jos=C3=A9 Santos ; ser...@li...=20 Sent: Monday, April 30, 2007 11:46 PM Subject: Re: [Servingxml-help] Formating distinct record lines Jose, The first example is no problem, you can use a resources script as = shown below. Note that the sx:when tests in the output record = definition are evaluated against the XML representation of the flattened = records. Since there's no obvious tag field, the test is performed = against the record type that is assigned to the record in the inverse = record mapping section, where the record type corresponds to the root = element of the record's XML representation. =20 <sx:resources xmlns:sx=3D"http://www.servingxml.com/core"> <sx:service id=3D"blocks"> <sx:recordStream> <sx:xmlRecordReader> <sx:transform> <sx:document/> </sx:transform> <sx:inverseRecordMapping ref=3D"blocksToFileMapping"/> </sx:xmlRecordReader> <sx:flatFileWriter> <sx:flatFile> <sx:flatFileBody> <sx:flatRecordType ref=3D"blockType"/> </sx:flatFileBody> </sx:flatFile> </sx:flatFileWriter> </sx:recordStream> </sx:service> <sx:flatRecordTypeChoice id=3D"blockType" name=3D"blockType"> <sx:positionalField name=3D"dummy" width=3D"1"/> <sx:when test=3D"/Block1Record"> <sx:flatRecordType name=3D"BLOCK1"> <sx:positionalField name=3D"Field1" width=3D"4"/> <sx:positionalField name=3D"Field2" width=3D"4"/> <sx:positionalField name=3D"Field3" width=3D"4"/> <sx:positionalField name=3D"Field4" width=3D"4"/> </sx:flatRecordType> </sx:when> <sx:when test=3D"/Block2Record"> <sx:flatRecordType name=3D"BLOCK2"> <sx:positionalField name=3D"Text1" width=3D"4"/> <sx:positionalField name=3D"Text2" width=3D"4"/> <sx:positionalField name=3D"Text3" width=3D"4"/> <sx:positionalField name=3D"Text4" width=3D"4"/> </sx:flatRecordType> </sx:when> <sx:when test=3D"/Block3Record"> <sx:flatRecordType name=3D"BLOCK3"> <sx:positionalField name=3D"Integer1" width=3D"4"/> <sx:positionalField name=3D"Integer2" width=3D"4"/> <sx:positionalField name=3D"Integer3" width=3D"4"/> </sx:flatRecordType> </sx:when> </sx:flatRecordTypeChoice> <sx:inverseRecordMapping id=3D"blocksToFileMapping"> <sx:onSubtree path=3D"/BLOCKS"> <sx:onSubtree path=3D"BLOCK1"> <sx:subtreeRecordMap recordType=3D"Block1Record"> <sx:subtreeFieldMap select=3D"FIELD1" field=3D"Field1"/> <sx:subtreeFieldMap select=3D"FIELD2" field=3D"Field2"/> <sx:subtreeFieldMap select=3D"FIELD3" field=3D"Field3"/> <sx:subtreeFieldMap select=3D"FIELD4" field=3D"Field4"/> </sx:subtreeRecordMap> </sx:onSubtree> <sx:onSubtree path=3D"BLOCK2"> <sx:subtreeRecordMap recordType=3D"Block2Record"> <sx:subtreeTextMap select=3D"TEXT1" field=3D"Text1"/> <sx:subtreeTextMap select=3D"TEXT2" field=3D"Text2"/> <sx:subtreeTextMap select=3D"TEXT3" field=3D"Text3"/> <sx:subtreeTextMap select=3D"TEXT4" field=3D"Text4"/> </sx:subtreeRecordMap> </sx:onSubtree> <sx:onSubtree path=3D"BLOCK3"> <sx:subtreeRecordMap recordType=3D"Block3Record"> <sx:subtreeIntegerMap select=3D"INTEGER1" = field=3D"Integer1"/> <sx:subtreeIntegerMap select=3D"INTEGER2" = field=3D"Integer2"/> <sx:subtreeIntegerMap select=3D"INTEGER3" = field=3D"Integer3"/> </sx:subtreeRecordMap> </sx:onSubtree> </sx:onSubtree> </sx:inverseRecordMapping> </sx:resources> I'll have to think about the second example, it may require an = enhancement. Regards, Daniel Parker ----- Original Message -----=20 From: Jos=C3=A9 Santos=20 To: ser...@li...=20 Sent: Monday, April 30, 2007 3:07 AM Subject: [Servingxml-help] Formating distinct record lines Hi, I am trying to use servingxml to transform xml files to flat files, = but I am having some problems solving some things like for instance, my = XML file has lots off different tags and I need to treat than separately = ( but not as a header) for istance:=20 <BLOCK1> <FIELD1>XXXX</FIELD1> <FIELD2>YYYY</FIELD2> <FIELD3>ZZZZ</FIELD3> <FIELD4>WWWW</FIELD4> </BLOCK1> <BLOCK2> <TEXT1>XXXX</TEXT1> <TEXT2>YYYY</TEXT2> <TEXT3>ZZZZ</TEXT3> <TEXT4>WWWW</TEXT4> </BLOCK2> <BLOCK3> <INTEGER1>1111</INTEGER1> <INTEGER2>2222</INTEGER2> <INTEGER2>3333</INTEGER2> </BLOCK4> I would like to have distinct record types for each block, and its = corresponding record mapping. Is this possible, for the same file? Another problem is that I need to correspond each level of a = hierarchy of tags to a record line in the output flat file, as an = example this XML entry: <Block270> <Field1>some text</Field1> <Field2>666666</Field2> <Block700> <Field3>something</Field3> <Field4>999999</Field4> <Block700> <Block800> <Field5>last</Field6> <Field6>007</Field6> <Block800> </Block270> <Block270> <Field1>some text2</Field1> <Field2>111111</Field2> <Block700> <Field3>something2</Field3> <Field4>888888</Field4> <Block700> <Block800> <Field5>last2</Field6> <Field6>008</Field6> <Block800> </Block270> And the desired output would be: some text666666 something999999 last007 some text2111111 something2888888 last2008 Is this possible, to do? If its not what source files should I change, to make this work. Thanks for your time, Jos=C3=A9 Santos -------------------------------------------------------------------------= --- = -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/=20 -------------------------------------------------------------------------= --- _______________________________________________ Servingxml-help mailing list Ser...@li... https://lists.sourceforge.net/lists/listinfo/servingxml-help -------------------------------------------------------------------------= ----- = -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ -------------------------------------------------------------------------= ----- _______________________________________________ Servingxml-help mailing list Ser...@li... https://lists.sourceforge.net/lists/listinfo/servingxml-help |
From: <jan...@gm...> - 2007-05-04 19:23:10
|
VGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciByZXNwb25zZSwgc29ycnkgSSBkaWRuJ3QgcmVwbHkg dG8geW91IGJlZm9yZSBidXQgSQpoYXZlIGJlZW4gaW4gUG9ydHVnYWwsIGFuZCBJIGRpZG4ndCAg aGF2ZSBhY2Nlc3MgdG8gdGhlIG1haWwuCk1vbmRheSBJIHdpbGwgdHJ5IHlvdXIgZXhhbXBsZSwg YW5kIEkgd2lsbCBzdGFydCB0byBzZWUgdGhlIGNvZGUgZm9yIHRoZQpvdGhlciBpc3N1ZS4KT25j ZSBhZ2FpbiwgdGhhbmtzIGZvciB0aGUgcmVzcG9uc2UuCgpSZWdhcmRzLApKb3PDqSBTYW50b3MK CjIwMDcvNS8xLCBEYW5pZWwgUGFya2VyIDxkYW5pZWxhcGFya2VyQHN5bXBhdGljby5jYT46Cj4K PiDvu78gU29ycnksIHRoZXJlIGFwcGVhcnMgdG8gYmUgYW4gaXNzdWUgd2l0aCB0aGUgcHJvcG9z ZWQgc29sdXRpb24sIEknbGwKPiBuZWVkIHRvIGludmVzdGlnYXRlIChJIGhhZG4ndCBwcmV2aW91 c2x5IHRlc3RlZCB0aGlzIGNhc2UuKQo+Cj4gRGFuaWVsCj4KPiAtLS0tLSBPcmlnaW5hbCBNZXNz YWdlIC0tLS0tCj4gKkZyb206KiBEYW5pZWwgUGFya2VyIDxkYW5pZWxhcGFya2VyQHN5bXBhdGlj by5jYT4KPiAqVG86KiBKb3PDqSBTYW50b3MgPGphbmRyZXNhbnRvc0BnbWFpbC5jb20+IDsKPiBz ZXJ2aW5neG1sLWhlbHBAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gKlNlbnQ6KiBNb25kYXksIEFw cmlsIDMwLCAyMDA3IDExOjQ2IFBNCj4gKlN1YmplY3Q6KiBSZTogW1NlcnZpbmd4bWwtaGVscF0g Rm9ybWF0aW5nIGRpc3RpbmN0IHJlY29yZCBsaW5lcwo+Cj4KPiBKb3NlLAo+Cj4gVGhlIGZpcnN0 IGV4YW1wbGUgaXMgbm8gcHJvYmxlbSwgeW91IGNhbiB1c2UgYSByZXNvdXJjZXMgc2NyaXB0IGFz IHNob3duCj4gYmVsb3cuICBOb3RlIHRoYXQgdGhlIHN4OndoZW4gdGVzdHMgaW4gdGhlIG91dHB1 dCByZWNvcmQgZGVmaW5pdGlvbiBhcmUKPiBldmFsdWF0ZWQgYWdhaW5zdCB0aGUgWE1MIHJlcHJl c2VudGF0aW9uIG9mIHRoZSBmbGF0dGVuZWQgcmVjb3Jkcy4gIFNpbmNlCj4gdGhlcmUncyBubyBv YnZpb3VzIHRhZyBmaWVsZCwgdGhlIHRlc3QgaXMgcGVyZm9ybWVkIGFnYWluc3QgdGhlIHJlY29y ZCB0eXBlCj4gdGhhdCBpcyBhc3NpZ25lZCB0byB0aGUgcmVjb3JkIGluIHRoZSBpbnZlcnNlIHJl Y29yZCBtYXBwaW5nIHNlY3Rpb24sIHdoZXJlCj4gdGhlIHJlY29yZCB0eXBlIGNvcnJlc3BvbmRz IHRvIHRoZSByb290IGVsZW1lbnQgb2YgdGhlIHJlY29yZCdzIFhNTAo+IHJlcHJlc2VudGF0aW9u Lgo+Cj4gPHN4OnJlc291cmNlcyB4bWxuczpzeD0iaHR0cDovL3d3dy5zZXJ2aW5neG1sLmNvbS9j b3JlIj4KPgo+ICAgPHN4OnNlcnZpY2UgaWQ9ImJsb2NrcyI+Cj4gICAgIDxzeDpyZWNvcmRTdHJl YW0+Cj4gICAgICAgPHN4OnhtbFJlY29yZFJlYWRlcj4KPiAgICAgICAgIDxzeDp0cmFuc2Zvcm0+ Cj4gICAgICAgICAgIDxzeDpkb2N1bWVudC8+Cj4gICAgICAgICA8L3N4OnRyYW5zZm9ybT4KPiAg ICAgICAgIDxzeDppbnZlcnNlUmVjb3JkTWFwcGluZyByZWY9ImJsb2Nrc1RvRmlsZU1hcHBpbmci Lz4KPiAgICAgICA8L3N4OnhtbFJlY29yZFJlYWRlcj4KPiAgICAgICA8c3g6ZmxhdEZpbGVXcml0 ZXI+Cj4gICAgICAgICA8c3g6ZmxhdEZpbGU+Cj4gICAgICAgICAgIDxzeDpmbGF0RmlsZUJvZHk+ Cj4gICAgICAgICAgICAgPHN4OmZsYXRSZWNvcmRUeXBlIHJlZj0iYmxvY2tUeXBlIi8+Cj4gICAg ICAgICAgIDwvc3g6ZmxhdEZpbGVCb2R5Pgo+ICAgICAgICAgPC9zeDpmbGF0RmlsZT4KPiAgICAg ICA8L3N4OmZsYXRGaWxlV3JpdGVyPgo+ICAgICA8L3N4OnJlY29yZFN0cmVhbT4KPiAgIDwvc3g6 c2VydmljZT4KPgo+ICAgPHN4OmZsYXRSZWNvcmRUeXBlQ2hvaWNlIGlkPSJibG9ja1R5cGUiIG5h bWU9ImJsb2NrVHlwZSI+Cj4gICAgIDxzeDpwb3NpdGlvbmFsRmllbGQgbmFtZT0iZHVtbXkiIHdp ZHRoPSIxIi8+Cj4gICAgIDxzeDp3aGVuIHRlc3Q9Ii9CbG9jazFSZWNvcmQiPgo+ICAgICAgIDxz eDpmbGF0UmVjb3JkVHlwZSBuYW1lPSJCTE9DSzEiPgo+ICAgICAgICAgPHN4OnBvc2l0aW9uYWxG aWVsZCBuYW1lPSJGaWVsZDEiIHdpZHRoPSI0Ii8+Cj4gICAgICAgICA8c3g6cG9zaXRpb25hbEZp ZWxkIG5hbWU9IkZpZWxkMiIgd2lkdGg9IjQiLz4KPiAgICAgICAgIDxzeDpwb3NpdGlvbmFsRmll bGQgbmFtZT0iRmllbGQzIiB3aWR0aD0iNCIvPgo+ICAgICAgICAgPHN4OnBvc2l0aW9uYWxGaWVs ZCBuYW1lPSJGaWVsZDQiIHdpZHRoPSI0Ii8+Cj4gICAgICAgPC9zeDpmbGF0UmVjb3JkVHlwZT4K PiAgICAgPC9zeDp3aGVuPgo+ICAgICA8c3g6d2hlbiB0ZXN0PSIvQmxvY2syUmVjb3JkIj4KPiAg ICAgICA8c3g6ZmxhdFJlY29yZFR5cGUgbmFtZT0iQkxPQ0syIj4KPiAgICAgICAgIDxzeDpwb3Np dGlvbmFsRmllbGQgbmFtZT0iVGV4dDEiIHdpZHRoPSI0Ii8+Cj4gICAgICAgICA8c3g6cG9zaXRp b25hbEZpZWxkIG5hbWU9IlRleHQyIiB3aWR0aD0iNCIvPgo+ICAgICAgICAgPHN4OnBvc2l0aW9u YWxGaWVsZCBuYW1lPSJUZXh0MyIgd2lkdGg9IjQiLz4KPiAgICAgICAgIDxzeDpwb3NpdGlvbmFs RmllbGQgbmFtZT0iVGV4dDQiIHdpZHRoPSI0Ii8+Cj4gICAgICAgPC9zeDpmbGF0UmVjb3JkVHlw ZT4KPiAgICAgPC9zeDp3aGVuPgo+ICAgICA8c3g6d2hlbiB0ZXN0PSIvQmxvY2szUmVjb3JkIj4K PiAgICAgICA8c3g6ZmxhdFJlY29yZFR5cGUgbmFtZT0iQkxPQ0szIj4KPiAgICAgICAgIDxzeDpw b3NpdGlvbmFsRmllbGQgbmFtZT0iSW50ZWdlcjEiIHdpZHRoPSI0Ii8+Cj4gICAgICAgICA8c3g6 cG9zaXRpb25hbEZpZWxkIG5hbWU9IkludGVnZXIyIiB3aWR0aD0iNCIvPgo+ICAgICAgICAgPHN4 OnBvc2l0aW9uYWxGaWVsZCBuYW1lPSJJbnRlZ2VyMyIgd2lkdGg9IjQiLz4KPiAgICAgICA8L3N4 OmZsYXRSZWNvcmRUeXBlPgo+ICAgICA8L3N4OndoZW4+Cj4gICA8L3N4OmZsYXRSZWNvcmRUeXBl Q2hvaWNlPgo+Cj4gICA8c3g6aW52ZXJzZVJlY29yZE1hcHBpbmcgaWQ9ImJsb2Nrc1RvRmlsZU1h cHBpbmciPgo+ICAgICA8c3g6b25TdWJ0cmVlIHBhdGg9Ii9CTE9DS1MiPgo+ICAgICAgIDxzeDpv blN1YnRyZWUgcGF0aD0iQkxPQ0sxIj4KPiAgICAgICAgIDxzeDpzdWJ0cmVlUmVjb3JkTWFwIHJl Y29yZFR5cGU9IkJsb2NrMVJlY29yZCI+Cj4gICAgICAgICAgIDxzeDpzdWJ0cmVlRmllbGRNYXAg c2VsZWN0PSJGSUVMRDEiIGZpZWxkPSJGaWVsZDEiLz4KPiAgICAgICAgICAgPHN4OnN1YnRyZWVG aWVsZE1hcCBzZWxlY3Q9IkZJRUxEMiIgZmllbGQ9IkZpZWxkMiIvPgo+ICAgICAgICAgICA8c3g6 c3VidHJlZUZpZWxkTWFwIHNlbGVjdD0iRklFTEQzIiBmaWVsZD0iRmllbGQzIi8+Cj4gICAgICAg ICAgIDxzeDpzdWJ0cmVlRmllbGRNYXAgc2VsZWN0PSJGSUVMRDQiIGZpZWxkPSJGaWVsZDQiLz4K PiAgICAgICAgIDwvc3g6c3VidHJlZVJlY29yZE1hcD4KPiAgICAgICA8L3N4Om9uU3VidHJlZT4K PiAgICAgICA8c3g6b25TdWJ0cmVlIHBhdGg9IkJMT0NLMiI+Cj4gICAgICAgICA8c3g6c3VidHJl ZVJlY29yZE1hcCByZWNvcmRUeXBlPSJCbG9jazJSZWNvcmQiPgo+ICAgICAgICAgICA8c3g6c3Vi dHJlZVRleHRNYXAgc2VsZWN0PSJURVhUMSIgZmllbGQ9IlRleHQxIi8+Cj4gICAgICAgICAgIDxz eDpzdWJ0cmVlVGV4dE1hcCBzZWxlY3Q9IlRFWFQyIiBmaWVsZD0iVGV4dDIiLz4KPiAgICAgICAg ICAgPHN4OnN1YnRyZWVUZXh0TWFwIHNlbGVjdD0iVEVYVDMiIGZpZWxkPSJUZXh0MyIvPgo+ICAg ICAgICAgICA8c3g6c3VidHJlZVRleHRNYXAgc2VsZWN0PSJURVhUNCIgZmllbGQ9IlRleHQ0Ii8+ Cj4gICAgICAgICA8L3N4OnN1YnRyZWVSZWNvcmRNYXA+Cj4gICAgICAgPC9zeDpvblN1YnRyZWU+ Cj4gICAgICAgPHN4Om9uU3VidHJlZSBwYXRoPSJCTE9DSzMiPgo+ICAgICAgICAgPHN4OnN1YnRy ZWVSZWNvcmRNYXAgcmVjb3JkVHlwZT0iQmxvY2szUmVjb3JkIj4KPiAgICAgICAgICAgPHN4OnN1 YnRyZWVJbnRlZ2VyTWFwIHNlbGVjdD0iSU5URUdFUjEiIGZpZWxkPSJJbnRlZ2VyMSIvPgo+ICAg ICAgICAgICA8c3g6c3VidHJlZUludGVnZXJNYXAgc2VsZWN0PSJJTlRFR0VSMiIgZmllbGQ9Iklu dGVnZXIyIi8+Cj4gICAgICAgICAgIDxzeDpzdWJ0cmVlSW50ZWdlck1hcCBzZWxlY3Q9IklOVEVH RVIzIiBmaWVsZD0iSW50ZWdlcjMiLz4KPiAgICAgICAgIDwvc3g6c3VidHJlZVJlY29yZE1hcD4K PiAgICAgICA8L3N4Om9uU3VidHJlZT4KPiAgICAgPC9zeDpvblN1YnRyZWU+Cj4gICA8L3N4Omlu dmVyc2VSZWNvcmRNYXBwaW5nPgo+Cj4gPC9zeDpyZXNvdXJjZXM+Cj4KPiBJJ2xsIGhhdmUgdG8g dGhpbmsgYWJvdXQgdGhlIHNlY29uZCBleGFtcGxlLCBpdCBtYXkgcmVxdWlyZSBhbgo+IGVuaGFu Y2VtZW50Lgo+Cj4gUmVnYXJkcywKPiBEYW5pZWwgUGFya2VyCj4KPiAtLS0tLSBPcmlnaW5hbCBN ZXNzYWdlIC0tLS0tCj4gKkZyb206KiBKb3PDqSBTYW50b3MgPGphbmRyZXNhbnRvc0BnbWFpbC5j b20+Cj4gKlRvOiogc2VydmluZ3htbC1oZWxwQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICpTZW50 OiogTW9uZGF5LCBBcHJpbCAzMCwgMjAwNyAzOjA3IEFNCj4gKlN1YmplY3Q6KiBbU2VydmluZ3ht bC1oZWxwXSBGb3JtYXRpbmcgZGlzdGluY3QgcmVjb3JkIGxpbmVzCj4KPgo+IEhpLAo+Cj4gSSBh bSB0cnlpbmcgdG8gdXNlIHNlcnZpbmd4bWwgdG8gdHJhbnNmb3JtIHhtbCBmaWxlcyB0byBmbGF0 IGZpbGVzLCBidXQgSQo+IGFtIGhhdmluZyBzb21lIHByb2JsZW1zIHNvbHZpbmcgc29tZSB0aGlu Z3MgbGlrZSBmb3IgaW5zdGFuY2UsIG15IFhNTCBmaWxlCj4gaGFzIGxvdHMgb2ZmIGRpZmZlcmVu dCB0YWdzIGFuZCBJIG5lZWQgdG8gdHJlYXQgdGhhbiBzZXBhcmF0ZWx5ICggYnV0IG5vdCBhcwo+ IGEgaGVhZGVyKSBmb3IgaXN0YW5jZToKPgo+IDxCTE9DSzE+Cj4gICAgICAgICAgICA8RklFTEQx PlhYWFg8L0ZJRUxEMT4KPiAgICAgICAgICAgPEZJRUxEMj5ZWVlZPC9GSUVMRDI+Cj4gICAgICAg ICAgIDxGSUVMRDM+WlpaWjwvRklFTEQzPgo+ICAgICAgICAgICA8RklFTEQ0PldXV1c8L0ZJRUxE ND4KPiA8L0JMT0NLMT4KPiAgPEJMT0NLMj4KPiAgICAgICAgICAgIDxURVhUMT5YWFhYPC9URVhU MT4KPiAgICAgICAgICAgPFRFWFQyPllZWVk8L1RFWFQyPgo+ICAgICAgICAgICA8VEVYVDM+Wlpa WjwvVEVYVDM+Cj4gICAgICAgICAgIDxURVhUND5XV1dXPC9URVhUND4KPiA8L0JMT0NLMj4KPiAg PEJMT0NLMz4KPiAgICAgICAgICAgIDxJTlRFR0VSMT4xMTExPC9JTlRFR0VSMT4KPiAgICAgICAg ICAgPElOVEVHRVIyPjIyMjI8L0lOVEVHRVIyPgo+ICAgICAgICAgICA8SU5URUdFUjI+MzMzMzwv SU5URUdFUjI+Cj4gPC9CTE9DSzQ+Cj4KPiBJIHdvdWxkIGxpa2UgdG8gaGF2ZSBkaXN0aW5jdCBy ZWNvcmQgdHlwZXMgZm9yIGVhY2ggYmxvY2ssIGFuZCBpdHMKPiBjb3JyZXNwb25kaW5nIHJlY29y ZCBtYXBwaW5nLgo+IElzIHRoaXMgcG9zc2libGUsIGZvciB0aGUgc2FtZSBmaWxlPwo+Cj4gQW5v dGhlciBwcm9ibGVtIGlzIHRoYXQgSSBuZWVkIHRvIGNvcnJlc3BvbmQgZWFjaCBsZXZlbCBvZiBh IGhpZXJhcmNoeSBvZgo+IHRhZ3MgdG8gYSByZWNvcmQgbGluZSBpbiB0aGUgb3V0cHV0IGZsYXQg ZmlsZSwgYXMgYW4gZXhhbXBsZSB0aGlzIFhNTCBlbnRyeToKPgo+IDxCbG9jazI3MD4KPiAgICAg IDxGaWVsZDE+c29tZSB0ZXh0PC9GaWVsZDE+Cj4gICAgICAgPEZpZWxkMj42NjY2NjY8L0ZpZWxk Mj4KPiAgICAgIDxCbG9jazcwMD4KPiAgICAgICAgICAgICA8RmllbGQzPnNvbWV0aGluZzwvRmll bGQzPgo+ICAgICAgICAgICAgIDxGaWVsZDQ+OTk5OTk5PC9GaWVsZDQ+Cj4gICAgICA8QmxvY2s3 MDA+Cj4gICAgICAgPEJsb2NrODAwPgo+ICAgICAgICAgICAgIDxGaWVsZDU+bGFzdDwvRmllbGQ2 Pgo+ICAgICAgICAgICAgIDxGaWVsZDY+MDA3PC9GaWVsZDY+Cj4gICAgICA8QmxvY2s4MDA+Cj4g IDwvQmxvY2syNzA+Cj4gIDxCbG9jazI3MD4KPiAgICAgIDxGaWVsZDE+c29tZSB0ZXh0MjwvRmll bGQxPgo+ICAgICAgIDxGaWVsZDI+MTExMTExPC9GaWVsZDI+Cj4gICAgICA8QmxvY2s3MDA+Cj4g ICAgICAgICAgICAgPEZpZWxkMz5zb21ldGhpbmcyPC9GaWVsZDM+Cj4gICAgICAgICAgICAgPEZp ZWxkND44ODg4ODg8L0ZpZWxkND4KPiAgICAgIDxCbG9jazcwMD4KPiAgICAgICA8QmxvY2s4MDA+ Cj4gICAgICAgICAgICAgPEZpZWxkNT5sYXN0MjwvRmllbGQ2Pgo+ICAgICAgICAgICAgIDxGaWVs ZDY+MDA4PC9GaWVsZDY+Cj4gICAgICA8QmxvY2s4MDA+Cj4gIDwvQmxvY2syNzA+Cj4KPiBBbmQg dGhlIGRlc2lyZWQgb3V0cHV0IHdvdWxkIGJlOgo+IHNvbWUgdGV4dDY2NjY2Ngo+IHNvbWV0aGlu Zzk5OTk5OQo+IGxhc3QwMDcKPiAgc29tZSB0ZXh0MjExMTExMQo+IHNvbWV0aGluZzI4ODg4ODgK PiBsYXN0MjAwOAo+Cj4gIElzIHRoaXMgcG9zc2libGUsIHRvIGRvPwo+IElmIGl0cyBub3Qgd2hh dCBzb3VyY2UgZmlsZXMgc2hvdWxkIEkgY2hhbmdlLCB0byBtYWtlIHRoaXMgd29yay4KPgo+IFRo YW5rcyBmb3IgeW91ciB0aW1lLAo+IEpvc8OpIFNhbnRvcwo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVGhpcyBTRi5uZXQgZW1haWwgaXMg c3BvbnNvcmVkIGJ5IERCMiBFeHByZXNzCj4gRG93bmxvYWQgREIyIEV4cHJlc3MgQyAtIHRoZSBG UkVFIHZlcnNpb24gb2YgREIyIGV4cHJlc3MgYW5kIHRha2UKPiBjb250cm9sIG9mIHlvdXIgWE1M LiBObyBsaW1pdHMuIEp1c3QgZGF0YS4gQ2xpY2sgdG8gZ2V0IGl0IG5vdy4KPiBodHRwOi8vc291 cmNlZm9yZ2UubmV0L3Bvd2VyYmFyL2RiMi8KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBTZXJ2aW5neG1sLWhlbHAgbWFpbGluZyBsaXN0Cj4gU2VydmluZ3htbC1oZWxwQGxpc3RzLnNv dXJjZWZvcmdlLm5ldAo+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3Rp bmZvL3NlcnZpbmd4bWwtaGVscAo+Cj4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieSBE QjIgRXhwcmVzcwo+IERvd25sb2FkIERCMiBFeHByZXNzIEMgLSB0aGUgRlJFRSB2ZXJzaW9uIG9m IERCMiBleHByZXNzIGFuZCB0YWtlCj4gY29udHJvbCBvZiB5b3VyIFhNTC4gTm8gbGltaXRzLiBK dXN0IGRhdGEuIENsaWNrIHRvIGdldCBpdCBub3cuCj4gaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9w b3dlcmJhci9kYjIvCj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPgo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gU2VydmluZ3htbC1o ZWxwIG1haWxpbmcgbGlzdAo+IFNlcnZpbmd4bWwtaGVscEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQK PiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9zZXJ2aW5neG1s LWhlbHAKPgo+Cg== |