Importing XML with graphics issues
I am importing an xml document in FrameMaker 11. I have a DTD, model, read/write rules and an installer of the XSL stylesheet in the structapps file. I have problems referencing the graphics. My XML is:
< m ultisheet > < chart boardno = "FileName" / > < /multifeuille >
I need is:
< multifeuille >< boardno graphic "figures/FileName.cgm" = ></multifeuille >
My XSL is:
<? xml version = "1.0" encoding = "UTF-8"? >
" < xsl: stylesheet xmlns: xsl ="http://www.w3.org/1999/XSL/Transform"version ="1.0"> "
< xsl: strip-space elements = "*" / >
< xsl: template match = "node () | @*" >
< xsl:copy >
< xsl: apply-templates select = "node () | @*" / >
< / xsl:copy >
< / xsl: template >
" < xsl: template match="multisheet/graphic/@boardno ">
< xsl: attribute name = "boardno" >
< xsl: value-of select = "concat ('figures\',., '.cgm')" / >
< / xsl: attribute >
< / xsl: template >
< / xsl: stylesheet >
My read/write rules:
"widget"
{
FM widget 'graphic';
'boardno' attribute is the property of fm; file
'content' attribute is "content of attribute"; fm
}
With this configuration, I am not able to see my drawings in FrameMaker, any help would be appreciated.
Halfeye,
With a quick look, as well your rules of r/w and your XSLT code look OK to me. What error messages do you get when you open the file? I guess that there are messages on the graphics. Did give any useful information? For example, can you tell if FM is looking for them in the right directory?
The first thing I would do to debug an application such as this is to confirm that both the rules of r/w and pre process are treated. Try to rename the two files and try the import again. If you receive no error messages not being able to open these files, or FM is not using the appropriate application or the application is not set correctly.
Once you have verified that the two files are used, I suggest running the XSLT regardless of the import. You can do this in XML mode or in another XSLT processor. The output looks similar to the way that you expect? Otherwise, use a XSLT debugger or put in some debugging statements.
-Lynne
Tags: Adobe FrameMaker
Similar Questions
-
Extended TextLayoutImporter (importing XML with InlineGraphicElements)
I received an email from someone asking a way to re - import TLF XML that contains InlineGraphicElements that do not use an external image file.
For example, an instance of MyBoxClass, or MySmileyElement. A user can add a bunch of them to a TextFlow, and when you export the XML code you get the standard toString() of this class in the source = "" attribute, for example: "
"< whiteSpaceCollapse flow: TextFlow ="preserve"xmlns:flow =" http://ns.adobe.com/textLayout/2008 "> "
< stream: p fontSize = "24" >
< flow: span > Lorem < / flow: span >
< flow: img height = "50" width = "50" source = "[object MySmileyElement]" / >
< flow: span > Ipsum < / flow: span >
< / flow: p >
< / flow: TextFlow >
If an idea is to simply override the toString() method in my custom graphic class to provide enough information to reconstruct my smiley as it was, but despite this, importer of the TLF Framework standard must know how instantiate these as custom graphical classes...
After delving into the code and by placing a few breakpoints, I see that we really need to extend the TextLayoutImporter class, because it is one of the classes that implements ITextImporter. But it is an inner class (I think?) and so we cannot. In addition to this, there should be a way to indicate the TextFilter class to use our ITextImporter custom.
Is this something that will be planned. I don't see how people can create publishers with graphic elements customized without being able to export/import their disc/DB TextFlow?
Thanks in advance for your suggestions.
RichardI agree to give the users a mechanism to convert graphics to a string that is written in the source, and then this string to a DisplayObject.
TLF does not load graphics when importing. They get loaded the first time, they are composed. This prevents graphics on the Clipboard and copies that hang loading and memory loss, or if they have an audio track to make noise. In any case fixing brackets it through the client will do some work and will soon.
What I'd say is the following:
(1) do not know the source property
(2) tag each ILG with a custom style that describes your custom representation of the graph. It will be exported to.
(3) after importation, navigate and the value of the custom style to calculate a display (for the ILG.graphic value) object or source the property to (ILG.source).
(4) the paste operation will have something similar as a post-process to the pasted range.Hope that helps,
Richard -
Import xml with attributes how to apply the pagination, property
I have xml files in which paging is set using an attribute. The value of this attribute must be read and applied to the paragraph format in FrameMaker when importing xml files. I guess it must be educated according to the rules of reading writing. But how?
Arnor,
To control the format paragraph with an attribute, apply format rules in ESD rather than read/write rules. You cannot copy a value to attribute to a property value, but can test specific attribute values and set a property accordingly. For example, if you have a widow named attribute and know sure that value never exceeds 10, laboriously have a rule such as:
1. If the context is: [widow = "1"]
Paging properties
Widows and orphans lines: 1
Otherwise, if the context is [widow = '2']
Paging properties
Widows and orphans lines: 2
...
Otherwise, if the context is [widow = "10"]
Paging properties
Widows and orphans lines: 10
For other paragraph pagination properties, your ESD must also test values, for example:
2. If the context is [Placement = 'RunIn']
Paging properties
Placement: Top of break-in
By default the punctuation:
Otherwise, if [Placement = 'Coast']
Placement: Head to one side
Of course, attribute names may be different from the names of properties of FrameMaker or value keywords.
-Lynne
-
Problem with InDesign startup script does not import XML images
I'm doing an XML import automatically from a startup script when a document is loaded. I managed to get most of the content to fill, but the images are ignored. Everything works, including images, when I do a manual 'Import XML' through the user interface or a manual script.
Here's my manual script:
var myDocument = app.activeDocument; var xmlFile = File('/c/Full/Path/To/data.xml'); myDocument.importXML(xmlFile);
But the goal is to do at startup. Here's my startup script:
#targetengine "session" app.addEventListener('afterOpen', function(myEvent) { if (myEvent.target.constructor.name !== 'Document') { return; } var myDocument = myEvent.target; var xmlFile = File('/c/Full/Path/To/data.xml'); myDocument.importXML(xmlFile); });
Here is the XML tag for the image:
<Image href="file:///C:/Full/Path/To/Image/02.png" />
I wonder there is a problem with the
'afterOpen'
event reminder, and it is the reason why it works manually using the same method, but not in the startup script.I solved it by avoiding the event quite listener:
main(); function main () { // create a path for a file object var curFile = File('/c/Path/To/file.indd); var xmlFile = File('/c/Path/To/data.xml'); // close app if files don't exist if (!curFile.exists || !xmlFile.exists) { app.quit(SaveOptions.NO); } // open the file var curDoc = app.open(curFile); // import the xml curDoc.importXML(xmlFile); // create a new file object var pdfFile = new File(curFile.parent + '/' + curFile.name + '.pdf'); // export to pdf curDoc.exportFile(ExportFormat.PDF_TYPE, pdfFile); // close app app.quit(SaveOptions.NO); }
-
problem with import XML CALS table
HII all
After you import this xml file, any of the styles are getting applied. What is the problem can anyone please suggest me?
How can I keep the formatting of the array of client access licenses?
<? XML version = "1.0" encoding = "UTF-8" standalone = "yes"? >
" < root xmlns:aid =" http://ns.Adobe.com/AdobeInDesign/4.0/ "xmlns:aid5 =" " http://ns.Adobe.com/AdobeInDesign/5.0/ ">
" < table reference to the line xmlns:aid5 = ' http://ns.Adobe.com/AdobeInDesign/5.0/ "aid5:tablestyle ="Table Style 1"id ="data-uuid-85c64ce474f44dd29d9a3fa865f904cc"class =" fonts color5 table-b-without personal-tbl-1 "> < legend > < div id ="data-uuid-4298179eea2d4f2d82a32c67b4c9fa0e"class ="enumeration"> table 14.1 < / div > < id p ="data-uuid-d0268f391343450cbab368b1831ff025"class ="caption text-upper case"" > isolating mechanisms < /p > < / legend > < table xmlns:aid = " " http://ns.Adobe.com/AdobeInDesign/4.0/ "xmlns:aid5 =" " http://ns.Adobe.com/AdobeInDesign/5.0/ ' > < tgroup cols = "3" > < colspec colname = "col1" align = "left" / > < colspec colname = "col2" align = "left" / > < colspec colname = "col3" align = "left" / > < tbody > .
< class rank = "sans-bordure" aid5:cellstyle = "Cell Style 1" > < input id = "data-uuid-ede057eb285543d8a4cbc4d3b565d7ff" colspan = "2" = "col1", "col2" = nameend namest > mechanism < / entry > < input aid5:cellstyle = 'Cell Style 1' id = "data-uuid-e016edb506ee49aea209f19478f4d824" > Description < / entry > < / row >
< row > < entry class = 'coinciding stripe_light' aid5:cellstyle = 'Cell Style 1' id = "data-uuid-506493f60a084106ae6296aff9216574" colspan = "3" = "col1" = "col3" nameend namest > < b aid: cstyle = "Bold" > < i > pre-Zygotic isolating mechanisms < /i > < / b > < / entry > < / row >
"< class rank ="coinciding stripe_light"> < input aid5:cellstyle = 'Cell Style 1' id = 'data-uuid-8145412fdb39438095a7197ada7f2115' > < id p 'data-uuid-70e60bc9ad3a4ac291fb620caf081d1d' = > geographic isolation < /p > < / entry > < entry aid5:cellstyle = 'Cell Style 1' id ="data-uuid-9ed825cf49c04082a20168440f46201a"class ="top-align"> < img src =".. /.. "/ img/chapter14/joh24218_ta1419a.png" id = "data-uuid-e6a1f66608b04b26b14692423a7e359f" class = "icon" alt = "" / > < / entry > < entry aid5:cellstyle = "cell Style 1" id = 'data-uuid-0f7976f59c5049b9bacc944ad602e341' > < id p 'data-uuid-0e5db85451dd4885a23c605db00311c5' = > species meet in different areas, which are often separated by a physical barrier such as a river or a mountain. "." < /p > < / entry > < / row >
"< class rank ="coinciding stripe_light"> < input aid5:cellstyle = 'Cell Style 1' id = 'data-uuid-f5f1fc6665c849a6beebebc2dcca0451' > < id p 'data-uuid-2af394a0735e40d9ab4443e73def9cd1' = > ecological isolation < /p > < / entry > < entry aid5:cellstyle = 'Cell Style 1' id ="data-uuid-fcb4f22194854f2fbde9f015ab979afc"class ="top-align"> < img src =".. /.. «/ img/chapter14/joh24218_ta1419b.png "id ="data-uuid-67b213f9d25a4aa9b6c485a29f7adbc5"class ="icon"alt =" "/ > < / entry > < entry aid5:cellstyle =" cell Style 1 "id = 'data-uuid-026ecfe721b3486b8297cb8488a61aa1' > < id p ="data-uuid-ec1a4beee213488db3355a6533414bbd"> species are found in the same area, but they occupy different habitats."» Survival of the hybrids is low because they are not suited to every environment of their parents. < /p > < / entry > < / row >
"< class rank ="coinciding stripe_light"> < input aid5:cellstyle = 'Cell Style 1' id = 'data-uuid-42178dda8c6a439cb1be19973c9b4aff' > < id p 'data-uuid-1a5d7da421694a03b0be2a377675b365' = > temporal isolation < /p > < / entry > < entry aid5:cellstyle = 'Cell Style 1' id ="data-uuid-8eff236da2844032bb69976f45b64ae1"class ="top-align"> < img src =".. /.. «/ img/chapter14/joh24218_ta1419c.png "id ="data-uuid-e6a36506d48a47bd9534fc4781a94432"class ="icon"alt =" "/ > < / entry > < entry aid5:cellstyle =" cell Style 1 "id = 'data-uuid-5bd683b850434384bb97c205230977fc' > < id p = 'data-uuid-ccff8d5b8bbd46e9a5e70f3eb107dac6' > species breed throughout the seasons or at different times of the day."» < /p > < / entry > < / row >
"< class rank ="coinciding stripe_light"> < input aid5:cellstyle = 'Cell Style 1' id = 'data-uuid-bcb00d31536b42d58dbc1abeb721dd8d' > < id p 'data-uuid-8086b5add322409b91f267d79c7c74d9' = > behavioral isolation < /p > < / entry > < entry aid5:cellstyle = 'Cell Style 1' id ="data-uuid-0c5a2a11119a47aa96d47e956ba45f52"class ="top-align"> < img src =".. /.. «/ img/chapter14/joh24218_ta1419d.png "id ="data-uuid-c1c60e0a6ecc477389c3a96ccab64552"class ="icon"alt =" "/ > < / entry > < entry aid5:cellstyle =" cell Style 1 "id = 'data-uuid-54254e285d4e44299937d69b1868a1f1' > < id p ="data-uuid-e5274b4e29544b658fe7aaa6d39da9cb"> species differ in their mating rituals."» < /p > < / entry > < / row >
"< class rank ="coinciding stripe_light"> < input aid5:cellstyle = 'Cell Style 1' id = 'data-uuid-62aa183214524825a376afc55f5490c7' > < id p 'data-uuid-3a10962b672c4fa4b896e6bee387f3cd' = > mechanical insulation < /p > < / entry > < entry aid5:cellstyle = 'Cell Style 1' id ="data-uuid-5c977123e6214b1bb10373e47860bc96"class ="top-align"> < img src =".. /.. "/ img/chapter14/joh24218_ta1419e.png" id = "data-uuid-822bea6dd64d4badb5bca8cdd51343ec" class = "icon" alt = "" / > < / entry > < entry aid5:cellstyle = "cell Style 1" id = "data-uuid-3a48404d0ccf4231b05bacb311a0bfac" > < id p = "data-uuid-f5f1276a7f8341feb43d3d7d26c03f8a" > prevent the structural differences between the mating species. ". < /p > < / entry > < / row >
"< class rank ="coinciding stripe_light"> < input aid5:cellstyle = 'Cell Style 1' id = 'data-uuid-488c3da229c44bbcbd251f4a192e0c5c' > < id p 'data-uuid-e141a87c287148bc99e9bfb2879865fd' = > prevention from the fusion of gametes < /p > < / entry > < entry aid5:cellstyle = 'Cell Style 1' id ="data-uuid-b08134eaff11491cbdcd00b25adebc73"class ="top-align"> < img src =".. /.. "/ img/chapter14/joh24218_ta1419f.png" id = "data-uuid-e400f7983e7d4d2591fb84f56214034e" class = "icon" alt = "" / > < / entry > < entry aid5:cellstyle = "cell Style 1" id = 'data-uuid-0148f03041554bc880da2f1c994954b0' > < id p 'data-uuid-378da9e575e146348707abba6e4ea619' = > gamete of a species work poorly with the gametes of another species or within the genitalia of another species. ". < /p > < / entry > < / row >
< class rank = 'coinciding stripe_light' > < input aid5:cellstyle = 'Cell Style 1' id = "data-uuid-d9873c4599f84de9ac19da0fc440b2a8" colspan = "3" = "col1" = "col3" nameend namest > < b aid: cstyle = "Bold" > < i > mechanisms of isolation postzygotique < /i > < / b > < / entry > < / row >
"< class rank ="coinciding stripe_light"> < input aid5:cellstyle = 'Cell Style 1' id = 'data-uuid-d4aaddfcdd4c4c67b250d0a2cc9153d1' > < id p 'data-uuid-c6e23322167c4313bd6be5acf1de40a3' = > unsustainability of the hybrids or infertility < /p > < / entry > < entry aid5:cellstyle = 'Cell Style 1' id ="data-uuid-f3362efbf437435e99f1632b5c2b7d8e"class ="top-align"> < img src =".. /.. «/ img/chapter14/joh24218_ta1419g.png "id ="data-uuid-e1ab32a551494b97acceb87a68831f60"class ="icon"alt =" "/ > < / entry > < entry aid5:cellstyle =" cell Style 1 "id = 'data-uuid-bdcd5b643e6d42d59255fa3195ee6107' > < id p = 'data-uuid-f1fdfcd406a844bdb00f16de9a81b270' > hybrid embryos do not develop properly, hybrid adults do not survive in the wild, or hybrid adults are infertile or have reduced fertility."» < /p > < / entry > < / row > < / tbody > < / tgroup > < / table > < / purchase online table > < / root >
You try to call attributes on a table of client access licenses. As a cal, Indesign tries to draw as a result to the specification of CLIENT access licenses. Do not know a thing about aid attributes: cellstyle.
So if you want to use these styles in a tahnks tbal of importing xml, you must use a more user-friendly table InDesign XML syntax.
More details here:
http://carijansen.com/InDesign-XML-part-2/
HTH
Loïc
-
Still won't import markers with exit vid first through Media Encoder bluray
I have a significant video project, just completed, that needs to be taken out DVD and BluRay. DVDs are made, no problem - three deadlines are each exported queues them in Media Encoder was created. .Xmp sidecar files are produced containing chapter markers and all this matter again without problem, are there chapter markers, DVD burning properly, works on a DVD player, all is good.
Now for the Blurays... Same process that before, queue the same timelines in Media Encoder, this time only export using the BluRay H264 HD1080i 25, export preset works great, no issues or error messages, but mporting in again (using import as asset, Import Timeline, etc.), I get the error:
«The metadata. MPEG file parse error» Delete or rename 'E:\YourVid\test.m4v.xmpses' will allow you to import, but markers will be lost. »
In other words, the markers file is either lack of export crrectly Media Encoder, or the absence of import correctly, or both.
I've never had this problem before, but this is the first export that I did with the latest versions of first and Media Encoder, IE versions:
First CC: build a 20141 8.1.0 (81)
Media Encoder CC: 20141 build 8.1.0.122
Still, CS6: Version 6.0.2.004
... on Win 7 Pro 64-bit
Can anyone help? Other people have this problem? Is this a bug with the latest version of Media Encoder and/or first, or is it just a coincidence and something else is the problem? And most importantly, is there a reasonable solution (IE other than simply re-do all Chapter markers in Encore?) Can I export first chapter markers in yet another way?
Help, please!
As SOUL 8.1.0 submitted bug report.
Export of H.264 - bluray TEA (and PR 8.1.0) creates a xmpses file that contains an xml error. This translates to an import failed in yet.
The error is after the marker section in the xmpses file:
Length > 0The tag must be
, and the rest of the production which I assume must be in the file is missing. One solution is to edit the xml code in the file xmpses. be sure to use Notepad or similar and not words to make changes.
The affected code is at the end of the file. (It should not be the end, the output to the file is obviously truncated compared to the output of the previous versions.)
The code ends with this, where, I guess, the number of streamsize is specific for the exported file:
Length > 0
94971497 Remove "length > 0".
It therefore appears as:
94971497 This allows the import still with intact chapter markers.
I don't know if this will create other problems.
-
Import XML removes a space after the xref element
Hello
FM10 is not patched, WinXP SP3
I stumbled on a very serious problem that I am unable to replicate, but not solve. When I import XML (custom), no spaces < xref > following is deleted. I don't know if it's exclusive to elements of reference or any element without content... but for sure, it happens with xrefs.
Here's a zip with the example files with which I am able to reproduce this. The XML file has two < xref > s, separated by 'and '. When you import the XML (using the DTD, the rules and template provided), the space before the "and" is deleted.
http://www.weststreetconsulting.com/downloads/test.zip
I disabled all my personal plugins and all DITA plugins I could find, same thing.
I don't know if anyone has the time to watch it, but I would be very grateful if someone could confirm the problem. This caused a real mess in my source files I can't correct using nonbreaking spaces, but it's really a pain and very suboptimal.
Thank you
Russ
Hi Russ...
This is a known issue for the DITA files and can also be the cause of the problem that you see. This has been fixed in the latest patch, as long as you use a client of import and export which was rebuilt with latest libraries FDK. (No doubt if you use the client by default, it should "work" once you install the update.) I posted this to the framemaker-dita some time ago Yahoo Group...
----------------------
If you use a FM10 DITA (with DITA-FMx or not), you may have noticed that after conrefs inline spaces are missing. Apparently the FM10 introduced certain areas of standardization, which was a little too aggressive.
This can be corrected in a future update, but until you can fix it by doing the following change to the maker.ini file. In the Preferences section, you can change that...
RemoveExtraWhiteSpacesOnXMLImport = we
for this...
RemoveExtraWhiteSpacesOnXMLImport = Off
And all is right with the world once more.
---------------------
I hope this will fix your problems... but I would install the update anyway, since it solves a number of other bugs.
See you soon,.
.. .Scott
-
I have laptop hp Pavilion dv2600, it was the failure of GPU, displys 6 screens, please help me to give me any suggestions
Hi dv2600,.
Welcome to the Forums of HP Support!
I'm happy to help, but it would be better to get the full product number and the version of the OS. Please see the following documents if you need help to find those.
How can I find my model number or product number?
Is the Version of Windows on my computer 32-bit or 64-bit?Did you get the error messages for the first, this took place or are there displayed error messages now? If so, what is the exact message?
As a first step, I start with these pages and try to update video drivers.
Driver downloads & on this page you must enter the product number, and then select your operating system, access the correct driver for your laptop.
If after this, the graphics are always the same, 6 screens describe you then I would look at these:
Problems related to laptop (Windows 7 and Windows 8) displays
The problems with the brightness of the screen
Diagnose a display LCD (LCD) for damageIf it doesn't appear that problem is certainly material then I would recommend fitness phone support to the 800-474-6836. If you do not live in the United States / Canada region, please click the link below to get help from your region number.
http://WWW8.HP.com/us/en/contact-HP/WW-phone-assist.htmlI hope this helps.
Kind regards
-
Resizing of bitmaps with Graphics.drawTexturedPath - bad ratio
Hello
I used to resize bitmap images (to have the similar physical size on different phones) in my project with the following code - found in this thread:
Without creating an encoded image bitmap image resizing
public static Bitmap resizeBitmap(Bitmap image, int width, int height) { int imageWidth = image.getWidth(); int imageHeight = image.getHeight(); // Need an array (for RGB, with the size of original image) int rgb[] = new int[imageWidth * imageHeight]; // Get the RGB array of image into "rgb" image.getARGB(rgb, 0, imageWidth, 0, 0, imageWidth, imageHeight); // Call to our function and obtain rgb2 int rgb2[] = rescaleArray(rgb, imageWidth, imageHeight, width, height); // Create an image with that RGB array Bitmap temp2 = new Bitmap(width, height); temp2.setARGB(rgb2, 0, width, 0, 0, width, height); return temp2; } private static int[] rescaleArray(int[] ini, int x, int y, int x2, int y2) { int out[] = new int[x2*y2]; for (int yy = 0; yy < y2; yy++) { int dy = yy * y / y2; for (int xx = 0; xx < x2; xx++) { int dx = xx * x / x2; out[(x2 * yy) + xx] = ini[(x * dy) + dx]; } } return out; }
My problem with the code was that it was quite slow - larger images would take almost a second (!) on the older phones (8830) scale. It did not prevent UI - I have the code running in a separate Thread - but it has considerably delayed showing the image on the screen.
Recently, I started to experiment with Graphics.drawTexturedPath and I really like this method. However, I found a weird problem while reducing images. For example, I need to put a picture of 48 x 48 up to 42 x 42. The most important parameters for the scale are dux and dvy (of the four walk coordinates vector only these two are zero). So now my code object looks like this:
XYRect area = getExtent(); // ourBgImage is the unscaled Bitmap - our background image int imageWidth = ourBgImage.getWidth(); int imageHeight = ourBgImage.getHeight(); int[] xPts = {0, 0, area.width - 1, area.width - 1}; int[] yPts = {0, area.height - 1, area.height - 1, 0}; int dux = (int) ((((long) imageWidth) << 16) / area.width); int dvy = (int) ((((long) imageHeight) << 16) / area.height); // Keep aspect ratio and make image fit fully dux = dvy = Math.max(dux, dvy); g.drawTexturedPath(xPts, yPts, null, null, 0, 0, dux, 0, 0, dvy, ourBgImage);
which is a little shorter and much more fast-work (especially on older phones as 8830).
However, the image is truncated on the right and down - looks like two pixels are missing on one of these two parties. This was not the case with the old algorithm. I am specifying all the wrong settings?
Final nail in the coffin of drawTexturedPath:
I decided to check how drawTexturedPath resizes checkerboard (mainly the scale down). And the results are pretty ugly - it seems to use the algorithm "nearest neighbour" without any means. The project with which I tested it is attached. Once you have it running, use Alt + move to shrink and Alt + down to stretch. Observe the results.
The decision is, of course, to remove this method and resize Bitmaps the old way
-
I'm trying to familiarize themselves with JAXB in jdeveloper. I am facing some problems. There are a few test cases for which he works, for others it is not.
Case 1:
XML file is created manually. Respective java class to xmlelements is created manually. There is no ObjectFactory.java or jaxb.properties. Demarshalling this XML file works fine.
Case 2:
XML file is not created manually. All the respective java classes including ObjectFactory.java and jaxb.properties are generated using the widget ' JAXB 2.0 content XML Schema model "jdeveloper. I deleted ObjectFactory.java, jaxb.properties, and package - info.java. Demarshalling xml with this class file works fine.
Case 3:
Even in case 2, but this time I do not delete or change whatever it is generated and used as it is. It does not work. Get the following error.
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true javax.xml.bind.UnmarshalException - with linked exception: [Exception [EclipseLink-25008] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.XMLMarshalException Exception Description: A descriptor with default root element rss was not found in the project] at org.eclipse.persistence.jaxb.JAXBUnmarshaller.handleXMLMarshalException(JAXBUnmarshaller.java:816) at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:109) at com.example.jaxbintro.JAXBExampleClass.main(JAXBExampleClass.java:36) Caused by: Exception [EclipseLink-25008] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.XMLMarshalException Exception Description: A descriptor with default root element rss was not found in the project at org.eclipse.persistence.exceptions.XMLMarshalException.noDescriptorWithMatchingRootElement(XMLMarshalException.java:129) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshallerHandler.startElement(SAXUnmarshallerHandler.java:208) at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1598) at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:455) at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:401) at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:239) at org.eclipse.persistence.internal.oxm.record.XMLReader.parse(XMLReader.java:157) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:688) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:271) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:258) at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:218) at org.eclipse.persistence.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:306) at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:106) ... 1 more
The project is included in the annex to this issue. It is ready for use. More information in the commentary to the java code. The main class is JAXBExampleClass.java.
What is the problem with case 3?
OK, I've been messing around with codes generated a bit and found the solution. The problem is that the value of the XmlSchema namespace had error in package - info.java class. There is no specified XmlSchema namespace in the XML file. Thus, the given value in the package - info.java was wrong.
@javax.xml.bind.annotation.XmlSchema (namespace = "http://www.example.org", value / / wrong, set it to an empty string or that of your xml file, if it has any)
elementFormDefault =
javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.example.jaxbintro.xmlerror;
After you set the namespace to the empty string, since my xml file do not have one, code ran very well.
@javax.xml.bind.annotation.XmlSchema (namespace = "",)
elementFormDefault =
javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.example.jaxbintro.xmlerror;
The file package - info.java can also be removed and it will work. For more details on the package and XmlSchema annotated level, what information on the package class is for, be found in the following link.
https://JAXB.Java.NET/NoNAV/jaxb20-FCS/docs/API/javax/xml/bind/annotation/XmlSchema.html
-
Hi I have a problem of xml with xsd validation and insert into the table...
I use this function to validate the XML with xsd, but it gives-31000 error related to xdb
and I also try to recover data from the xml file, but it is fetching nullability of him.
while I was trying to recover data after removing the tablenamespace, url and other additional field or can tell
from a simple xml file than it is to get him.
Please help me with this!
FUNCTION to CREATE or REPLACE ALI$ XML_VALID (P_xml IN xmltype
P_xsd IN xmltype)
RETURN NUMBER
is
l_status NUMBER;
l_xml xmltype.
l_xsd XMLTYPE.
l_v_schemaURL VARCHAR2 (256): = "NewBusinessApplication.xsd";
schema_doesnt_exist exception;
pragma exception_init (schema_doesnt_exist,-31000);BEGIN
l_xsd: = p_xsd;
Start
DBMS_XMLSCHEMA.deleteSchema (l_v_schemaURL, dbms_xmlSchema.DELETE_CASCADE_FORCE);
exception
When schema_doesnt_exist then
null;
end;DBMS_XMLSCHEMA. REGISTERSCHEMA)
schemaurl = > l_v_schemaURL
, schemadoc = > l_xsd
local = > TRUE
, genTypes = > FALSE
, genbean = > FALSE
, genTables = > FALSE
);
l_xml: = p_xml;If l_xml.isSchemaValid () = 1 then
dbms_output.put_line ("' scheme is valid");
l_status: = 1;
RETURN l_status;
on the other
l_xml.schemaValidate ();
l_status: = 0;
RETURN l_status;
end if;
END;-call to above function
DECLARE
l_xml xmltype: = xmltype (' <? xml version = "1.0" encoding = "UTF - 8"? >)
"" < NewBusinessApplication xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
"" xsi: schemaLocation = "http://www.example.org NewBusinessApplication.xsd.
xmlns ="http://www.example.org" > ".
< TransactionHeader >
< TR_REF_NO > 000009812681 < / TR_REF_NO >
< EFF_DT > 20140703094140.572 [-4:US / Eastern] < / EFF_DT >
< SRC_SYS_CD dmnSRC_SYSTEM = "TSS" > Support of TV system < / SRC_SYS_CD >
< / TransactionHeader >
< ApplicationRq >
< ApplInfo >
< APPLNO > A00018L < / APPLNO >
< MED_NONMED dmnMED_NONMED = "M" > medical < / MED_NONMED >
< APPL_DT > 20140714 < / APPL_DT >
< EFF_DT > 20140714 < / EFF_DT >
< APPL_RECV_DT > 20140714 < / APPL_RECV_DT >
< / ApplInfo >
< AgentInfo >
<! – repeat the nodes below for more than one agent - >
<>Agent
< AGT_CD > AGN0000001 < / AGT_CD >
James < FIRSTNAME > < / NAME >
< NAME > Whorphin < / LASTNAME >
BKK1010090009 < AGT-LICNO > < / AGT-LICNO >
the Warriors < TEAM > < / TEAM >
Suriya Thapa < TEAMLEADER > < / TEAMLEADER >
BKK909988999 < TEAMLEADER-LICNO > < / TEAMLEADER LICNO >
< / agent >
< / AgentInfo >
< InsuredInfo >
< dmnPERS_NAMEPREFIX PREFIX-TH = "XX" > Dr. < / PREFIX-TH >
XXXXXXX < FIRSTNAME-TH > < / FIRSTNAME-TH >
XXXXXX < MIDNAME-TH > < / MIDNAME-TH >
XXXXXX < LASTNAME-TH > < / LASTNAME-TH >
XXXXXX < FORMERNAME > < / FORMERNAME >
< PREFIX-dmnPERS_NAMEPREFIX-EN = "XX" > Dr. < / PREFIX-EN >
YYYYYY < FIRSTNAME-EN > < / FIRSTNAME-EN >
YYYYYY < MIDNAME-EN > < / MIDNAME-FR >
YYYYYY < LASTNAME-EN > < / LASTNAME-EN >
< BIRTH_DT > 19800101 < / BIRTH_DT >
< 33 YEARS > < / AGE >
< dmnPERNSEXCD = "XX" SEX > male < / TYPE >
< DmnPERC_MAR_STAT_CD MARITAL_STATUS = "XX" > single < / MARITAL_STATUS >
< dmnRACE = "XX" RACE > ZZZ < / RACE >
< dmnRELIGION RELIGION = "H" > HINDU < / RELIGION >
< dmnNATIONALITY NATIONALITY = an' TH' > THAI < / NATIONALITY >
< dmnIDTYPE ID-TYPE = "TI" > Thai National ID < / ID-TYPE >
> ID < AJMPK0001J < / ID >
< ID-XPIR_DT > 20200101 < / ID-XPIR_DT >
< dmnOCCUP_CD OCCUPATION = "XX" / >
< OCCUP_CLASS dmnOCCUP_CLASS_CD = 'XX' / >
< ANNUAL_INCOME > 100000 < / ANNUAL_INCOME >
< HEIGHT > 175 < / HEIGHT >
< WEIGHT > 80 < / WEIGHT >
< / InsuredInfo >
< ProposerInfo >
< dmnPERS_NAMEPREFIX PREFIX-TH = "XX" > Dr. < / PREFIX-TH >
XXXXXXX < FIRSTNAME-TH > < / FIRSTNAME-TH >
XXXXXX < MIDNAME-TH > < / MIDNAME-TH >
XXXXXX < LASTNAME-TH > < / LASTNAME-TH >
XXXXXX < FORMERNAME > < / FORMERNAME >
< PREFIX-dmnPERS_NAMEPREFIX-EN = "XX" > Dr. < / PREFIX-EN >
YYYYYY < FIRSTNAME-EN > < / FIRSTNAME-EN >
YYYYYY < MIDNAME-EN > < / MIDNAME-FR >
YYYYYY < LASTNAME-EN > < / LASTNAME-EN >
< BIRTH_DT > 19800101 < / BIRTH_DT >
< 33 YEARS > < / AGE >
< dmnPERNSEXCD = "XX" SEX > male < / TYPE >
< DmnPERC_MAR_STAT_CD MARITAL_STATUS = "XX" > single < / MARITAL_STATUS >
< dmnRACE = "XX" RACE > ZZZ < / RACE >
< dmnRELIGION RELIGION = "H" > HINDU < / RELIGION >
< dmnNATIONALITY NATIONALITY = an' TH' > THAI < / NATIONALITY >
< dmnIDTYPE ID_TYPE = "TI" > Thai National ID < / ID_TYPE >
AJMPK0001J < ID_NUMBER > < / ID_NUMBER >
< ID_XPIR_DT > 20200101 < / ID_XPIR_DT >
< dmnOCCUP_CD OCCUPATION = "XX" / >
< OCCUP_CLASS dmnOCCUP_CLASS_CD = 'XX' / >
< ANNUAL_INCOME > 100000 < / ANNUAL_INCOME >
< / ProposerInfo >
< ContactInfo >
< AddressInfo >
<! – repeat the nodes below for each address type - >
< address >
< dmnADDR_ADDRTYPE ADDRTYPE = "01" > home < / ADDRTYPE >
< PRIMARY_CONTACT > 0 < / PRIMARY_CONTACT >
< / address >
< address >
< dmnADDR_ADDRTYPE ADDRTYPE "02" = > Office < / ADDRTYPE >
< PRIMARY_CONTACT > 1 < / PRIMARY_CONTACT >
< / address >
< / AddressInfo >
< PhoneInfo >
<! – repeat the nodes below for each type of phone - >
< Phone >
< dmnADRP_PHONETYPE PHONETYPE "01" = > Mobile < / PHONETYPE >
< PHONENUM > 9887666789 < / PHONENUM >
< PRIMARY_CONTACT > 1 < / PRIMARY_CONTACT >
< / Phone >
< Phone >
< dmnADRP_PHONETYPE PHONETYPE "02" = > home < / PHONETYPE >
< PHONENUM > 9887666789 < / PHONENUM >
< PRIMARY_CONTACT > 0 < / PRIMARY_CONTACT >
< / Phone >
< / PhoneInfo >
< EmailInfo >
<! – repeat the nodes below for each type of email - >
< email >
< EMAILTYPE dmnADRO_EMAILTYPE = "01" > e-mail1 < / EMAILTYPE >
< EMAILDATA > [email protected] < / EMAILDATA >
< PRIMARY_CONTACT > 0 < / PRIMARY_CONTACT >
< / email >
< email >
< EMAILTYPE dmnADRO_EMAILTYPE "02" = > Email2 < / EMAILTYPE >
< EMAILDATA > [email protected] < / EMAILDATA >
< PRIMARY_CONTACT > 1 < / PRIMARY_CONTACT >
< / email >
< / EmailInfo >
< / ContactInfo >
< PolicyInfo >
STG102 < BASE-PLAN_CD > < / BASE-PLAN_CD >
< BASE-PLAN_NM > Smart term 10 gold < / BASE-PLAN_NM >
< MODEOFPAYMENT dmnZZFREQUENCY = "M" > monthly < / MODEOFPAYMENT >
< BASE - ITS > 100000.00 < / BASE - SA >
< BASE-PREMIUM > 12000.00 < / BASE-PREMIUM >
< BASE-MODALPREMIUM > 1000.00 < / BASE-MODALPREMIUM >
< AYFP > 13200.00 < / AYFP >
< RiderInfo >
< rider >
RIDER < CODE > ME < / RIDER-CODE >
Medical costs < RIDER-NAME > < / RIDER-NAME >
< RIDER - HIS 20000.00 > < / RIDER - SA >
< RIDER-PREMIUM > 600.00 < / RIDER-PREMIUM >
< RIDER-MODALPREMIUM > 50.00 < / RIDER-MODALPREMIUM >
< / rider >
< rider >
RIDER HAB < CODE > < / RIDER-CODE >
< NAME-RIDER > Admission hospitalization < / RIDER-NAME >
< RIDER - HIS 20000.00 > < / RIDER - SA >
< RIDER-PREMIUM > 600.00 < / RIDER-PREMIUM >
< RIDER-MODALPREMIUM > 50.00 < / RIDER-MODALPREMIUM >
< / rider >
< / RiderInfo >
< / PolicyInfo >
< PaymentInfo >
< borde >
< TMP_RECEIPT_NO > TEMP0001 < / TMP_RECEIPT_NO >
< TOTAL_PYMT_AMT > 13200.00 < / TOTAL_PYMT_AMT >
<! – repeat the nodes below for payment through several channels - >
< payment >
< dmnPAYRTYPE PAYER "01" = > secured < / PAYER >
credit card < dmnPaymentType PYMT TYPE = "01" > < / PYMT-TYPE >
< PYMT-AMT > 13200.00 < / PYMT-AMT >
< PYMT-Channel >
credit <>card
Visa < dmnCardType CARD-TYPE = "01" > < / CARD-TYPE >
< BADGE - N ° > 9890989098909877 < / CARD-NOT >
< HOLDERNAME-CARD > RICKY WHORPHIN < / CARD-HOLDERNAME >
< BANKNM-CARD > Standard Chartered Bank < / MAP-BANKNM >
< MAP SHOWED > 08/14 < / CARD-SHOW >
< MAP-AUTHCODE / >
< CARD-AUTHDATE / >
< / credit card >
< / PYMT-Channel >
< / payment >
< payment >
< dmnPAYRTYPE PAYER "01" = > secured < / PAYER >
< dmnPaymentType PYMT-TYPE = '02' > account < / PYMT-TYPE >
< PYMT-AMT > 13200.00 < / PYMT-AMT >
< PYMT-Channel >
< Bank >
< BANK CODE / >
< BANK BRANCH / >
< BANK-ACCNO / >
< BANK-ACCNAME / >
< / Bank >
< / PYMT-Channel >
< / payment >
< payment >
< dmnPAYRTYPE PAYER "01" = > secured < / PAYER >
< dmnPaymentType PYMT TYPE = "03" > check < / PYMT-TYPE >
< PYMT-AMT > 13200.00 < / PYMT-AMT >
< PYMT-Channel >
< check >
< CHQ - n / >
< CHQ-DATE / >
< CHQ-ISSUEBANK / >
< / cheque >
< / PYMT-Channel >
< / payment >
< / shell >
< RenewalPayment >
< dmnPAYRTYPE PAYER "01" = > secured < / PAYER >
< DDCHANNEL dmnPaymentType "01" = > SDC < / DDCHANNEL >
< DDCDetails >
Visa < dmnCardType CARD-TYPE = "01" > < / CARD-TYPE >
< BADGE - N ° > 9890989098909877 < / CARD-NOT >
< HOLDERNAME-CARD > RICKY WHORPHIN < / CARD-HOLDERNAME >
< BANKNM-CARD > Standard Chartered Bank < / MAP-BANKNM >
< MAP SHOWED > 08/14 < / CARD-SHOW >
< / DDCDetails >
< DDADetails >
< dmnBNK_TYP_CD BANK-ACCTYPE = "01" > save < / BANK-ACCTYPE >
< BANK-ACCNO / >
< BANK-ACCNAME / >
< BANK BRANCH / >
< / DDADetails >
< / RenewalPayment >
< / PaymentInfo >
< BeneficiaryInfo >
<!--repeat the nodes below for each beneficiary and the sum of the pct should be 100-->
< recipient >
Joint < dmnBENE_RELT_CD RELATIONSHIP = "01" > < / RELATIONSHIP >
XXXX < FIRSTNAME > < / NAME >
XXXXX < MIDNAME > < / MIDNAME >
XXXX < NAME > < / LASTNAME >
< PERCENT > 50 < / PERCENTAGE >
< BIRTH_DT > 19800101 < / BIRTH_DT >
< dmnPERNSEXCD SEX = "XX" > female < / TYPE >
< NATLIDNO > TH000001 < / NATLIDNO >
< / recipients >
< recipient >
< dmnBENE_RELT_CD RELATIONSHIP "02" = > child < / RELATIONSHIP >
XXXX < FIRSTNAME > < / NAME >
XXXXX < MIDNAME > < / MIDNAME >
XXXX < NAME > < / LASTNAME >
< PERCENT > 50 < / PERCENTAGE >
< BIRTH_DT > 19800101 < / BIRTH_DT >
< dmnPERNSEXCD = "XX" SEX > male < / TYPE >
< NATLIDNO > TH000002 < / NATLIDNO >
< / recipients >
< / BeneficiaryInfo >
< survey >
< HealthDeclaration >
< question >
Q001 < QUESTION_ID > < / QUESTION_ID >
< dmnZZYESNO_NUM RESPONSE = "N" > n < / ANSWER >
< / question >
< question >
Q002 < QUESTION_ID > < / QUESTION_ID >
< dmnZZYESNO_NUM RESPONSE = "N" > n < / ANSWER >
< / question >
< question >
Q003 < QUESTION_ID > < / QUESTION_ID >
< dmnZZYESNO_NUM RESPONSE = "N" > n < / ANSWER >
< / question >
< question >
Q004 < QUESTION_ID > < / QUESTION_ID >
< dmnZZYESNO_NUM RESPONSE = "N" > n < / ANSWER >
< / question >
< question >
Q005 < QUESTION_ID > < / QUESTION_ID >
< dmnZZYESNO_NUM RESPONSE = "N" > n < / ANSWER >
< / question >
< / HealthDeclaration >
< / questionnaire >
< / ApplicationRq >
< ApplicationRs >
<-reason for the rejection / >
< / ApplicationRs >
< / NewBusinessApplication >
');
l_xsd xmltype: = xmltype (' <? xml version = "1.0" encoding = "windows-1252"? >)
"< xsd: Schema container ="http://www.w3.org/2001/XMLSchema"xmlns ="http://www.example.org"
targetNamespace ="http://www.example.org" elementFormDefault = "qualified" > "
< xsd: element name = "NewBusinessApplication" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "TransactionHeader" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "TR_REF_NO" type = "xsd: Integer" / >
< xsd: element name = "EFF_DT" type = "xsd: String" / >
< xsd: element name = "SRC_SYS_CD" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnSRC_SYSTEM" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ApplicationRq" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "ApplInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "APPLNO" type = "xsd: String" / >
< xsd: element name = "MED_NONMED" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnMED_NONMED" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "APPL_DT" type = "xsd: Integer" / >
< xsd: element name = "EFF_DT" type = "xsd: Integer" / >
< xsd: element name = "APPL_RECV_DT" type = "xsd: Integer" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "AgentInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "The Agent" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "AGT_CD" type = "xsd: String" / >
< xsd: element name = "FIRSTNAME" type = "xsd: String" / >
< xsd: element name = "NAME" type = "xsd: String" / >
< xsd: element name = "AGT-LICNO" type = "xsd: String" / >
< xsd: element name = "TEAM" type = "xsd: String" / >
< xsd: element name = "TEAMLEADER" type = "xsd: String" / >
< xsd: element name = "TEAMLEADER-LICNO" type = "xsd: String" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "InsuredInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = 'PREFIX-TH' >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERS_NAMEPREFIX" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "NAME-TH" type = "xsd: String" / >
< xsd: element name = "MIDNAME-TH" type = "xsd: String" / >
< xsd: element name = "LASTNAME-TH" type = "xsd: String" / >
< xsd: element name = "FORMERNAME" type = "xsd: String" / >
< xsd: element name = "PREFIX-FR" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERS_NAMEPREFIX-EN" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "NAME-IN" type = "xsd: String" / >
< xsd: element name = "MIDNAME-EN" type = "xsd: String" / >
< xsd: element name = "LASTNAME-IN" type = "xsd: String" / >
< xsd: element name = "BIRTH_DT" type = "xsd: Integer" / >
< xsd: element name = "ÂGE" type = "xsd: Integer" / >
< xsd: element name = "GENDER" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERNSEXCD" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "MARITAL_STATUS" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERC_MAR_STAT_CD" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "RACE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnRACE" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "RELIGION" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnRELIGION" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "NATIONALITY" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnNATIONALITY" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ID-TYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnIDTYPE" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ID" type = "xsd: String" / >
< xsd: element name = "ID-XPIR_DT" type = "xsd: Integer" / >
< xsd: element name = "OCCUPATION" >
< xsd: complexType >
< xsd: attribute name = "dmnOCCUP_CD" type = "xsd: String" / >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "OCCUP_CLASS" >
< xsd: complexType >
< xsd: attribute name = "dmnOCCUP_CLASS_CD" type = "xsd: String" / >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ANNUAL_INCOME" type = "xsd: Integer" / >
< xsd: element name = "HEIGHT" type = "xsd: Integer" / >
< xsd: element name = "WEIGHT" type = "xsd: Integer" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ProposerInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = 'PREFIX-TH' >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERS_NAMEPREFIX" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "NAME-TH" type = "xsd: String" / >
< xsd: element name = "MIDNAME-TH" type = "xsd: String" / >
< xsd: element name = "LASTNAME-TH" type = "xsd: String" / >
< xsd: element name = "FORMERNAME" type = "xsd: String" / >
< xsd: element name = "PREFIX-FR" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERS_NAMEPREFIX-EN" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "NAME-IN" type = "xsd: String" / >
< xsd: element name = "MIDNAME-EN" type = "xsd: String" / >
< xsd: element name = "LASTNAME-IN" type = "xsd: String" / >
< xsd: element name = "BIRTH_DT" type = "xsd: Integer" / >
< xsd: element name = "ÂGE" type = "xsd: Integer" / >
< xsd: element name = "GENDER" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERNSEXCD" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "MARITAL_STATUS" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERC_MAR_STAT_CD" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "RACE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnRACE" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "RELIGION" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnRELIGION" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "NATIONALITY" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnNATIONALITY" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ID_TYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnIDTYPE" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ID_NUMBER" type = "xsd: String" / >
< xsd: element name = "ID_XPIR_DT" type = "xsd: Integer" / >
< xsd: element name = "OCCUPATION" >
< xsd: complexType >
< xsd: attribute name = "dmnOCCUP_CD" type = "xsd: String" / >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "OCCUP_CLASS" >
< xsd: complexType >
< xsd: attribute name = "dmnOCCUP_CLASS_CD" type = "xsd: String" / >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ANNUAL_INCOME" type = "xsd: Integer" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ContactInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "AddressInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Address" maxOccurs = "unbounded" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "ADDRTYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnADDR_ADDRTYPE" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "PRIMARY_CONTACT" type = "xsd: Integer" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "PhoneInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Phone" maxOccurs = "unbounded" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "PHONETYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnADRP_PHONETYPE" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "PHONENUM" type = "xsd: Integer" / >
< xsd: element name = "PRIMARY_CONTACT" type = "xsd: Integer" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "EmailInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Email" maxOccurs = "unbounded" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "EMAILTYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnADRO_EMAILTYPE" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "EMAILDATA" type = "xsd: String" / >
< xsd: element name = "PRIMARY_CONTACT" type = "xsd: Integer" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "PolicyInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "BASE-PLAN_CD" type = "xsd: String" / >
< xsd: element name = "BASE-PLAN_NM" type = "xsd: String" / >
< xsd: element name = "MODEOFPAYMENT" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnZZFREQUENCY" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "BASE - SA" type = "xsd: float" / >
< xsd: element name = "BASE-PREMIUM" type = "xsd: float" / >
< xsd: element name = "BASE-MODALPREMIUM" type = "xsd: float" / >
< xsd: element name = "AYFP" type = "xsd: float" / >
< xsd: element name = "RiderInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Rider" maxOccurs = "unbounded" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "RIDER-CODE" type = "xsd: String" / >
< xsd: element name = "RIDER-NAME" type = "xsd: String" / >
< xsd: element name = "RIDER - SA" type = "xsd: float" / >
< xsd: element name = "RIDER-PREMIUM" type = "xsd: float" / >
< xsd: element name = "RIDER-MODALPREMIUM" type = "xsd: float" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "PaymentInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Bordered" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "TMP_RECEIPT_NO" type = "xsd: String" / >
< xsd: element name = "TOTAL_PYMT_AMT" type = "xsd: float" / >
< xsd: element name = "Payment" maxOccurs = "unbounded" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "PAYER" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPAYRTYPE" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "TYPE PYMT" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPaymentType" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "PYMT-AMT" type = "xsd: float" / >
< xsd: element name = "PYMT-Channel" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "CreditCard" minOccurs = "0" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "CARD TYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnCardType" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "CARD-NO" type = "xsd: Integer" / >
< xsd: element name = "CARD-HOLDERNAME" type = "xsd: String" / >
< xsd: element name = "CARD-BANKNM" type = "xsd: String" / >
< xsd: element name = "CARD-DISPLAYED" type = "xsd: String" / >
< xsd: element name = "CARD-AUTHCODE" / >
< xsd: element name = "CARD-AUTHDATE" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "Bank" minOccurs = "0" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "BANK CODE" / >
< xsd: element name = "BANK-BRANCH" / >
< xsd: element name = "BANK-ACCNO" / >
< xsd: element name = "BANK-ACCNAME" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "Cheque" minOccurs = "0" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "CHQ - NO" / >
< xsd: element name = "CHQ-DATE" / >
< xsd: element name = "CHQ-ISSUEBANK" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "RenewalPayment" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "PAYER" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPAYRTYPE" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "DDCHANNEL" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPaymentType" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "DDCDetails" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "CARD TYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnCardType" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "CARD-NO" type = "xsd: Integer" / >
< xsd: element name = "CARD-HOLDERNAME" type = "xsd: String" / >
< xsd: element name = "CARD-BANKNM" type = "xsd: String" / >
< xsd: element name = "CARD-DISPLAYED" type = "xsd: String" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "DDADetails" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "BANK-ACCTYPE" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnBNK_TYP_CD" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "BANK-ACCNO" / >
< xsd: element name = "BANK-ACCNAME" / >
< xsd: element name = "BANK-BRANCH" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "BeneficiaryInfo" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Recipient" maxOccurs = "unbounded" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "RELATIONSHIP" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnBENE_RELT_CD" type = "xsd: Integer" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "FIRSTNAME" type = "xsd: String" / >
< xsd: element name = "MIDNAME" type = "xsd: String" / >
< xsd: element name = "NAME" type = "xsd: String" / >
< xsd: element name = "PERCENTAGE" type = "xsd: Integer" / >
< xsd: element name = "BIRTH_DT" type = "xsd: Integer" / >
< xsd: element name = "GENDER" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnPERNSEXCD" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "NATLIDNO" type = "xsd: String" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "Questionnaire" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "HealthDeclaration" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Issue" maxOccurs = "unbounded" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "QUESTION_ID" type = "xsd: String" / >
< xsd: element name = "ANSWER" >
< xsd: complexType >
< xsd:simpleContent >
< xsd:extension base = "XSD: String" >
< xsd: attribute name = "dmnZZYESNO_NUM" type = "xsd: String" / >
< / xsd:extension >
< / xsd:simpleContent >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< xsd: element name = "ApplicationRs" >
< xsd: complexType >
< xsd: SEQUENCE >
< xsd: element name = "Reason for rejection" / >
< / xsd: SEQUENCE >
< / xsd: complexType >
< / xsd: element >
< / xsd: SEQUENCE >
< xsd: attribute name = "xsi" type = "xsd: String" / >
< xsd: attribute name = "schemaLocation" type = "xsd: String" / >
< / xsd: complexType >
< / xsd: element >
< / xsd: Schema >
');
BEGIN
dbms_output.put_line (Ali$ XML_VALID (l_xml, l_xsd));
END;
and please do not confused, you don't need to answer if I do not any sense.
BUT I STILL HAVE ONE LAST QUESTION
do you know how to use namespaces in the exctractvalue().
I'm not "troubled", just frustrated that you don't seem to understand what I've explained so far.
Why do you insist on the use of extractvalue? Don't use extractvalue, it is deprecated, use XMLTABLE instead.
If you feel compelled to use extractvalue of certain grounds, just the curiosity to seek it in the documentation, you can find the syntax to use the namespaces:
http://docs.Oracle.com/CD/E11882_01/server.112/e41084/functions061.htm#SQLRF06173
in your last code, you first insert the XML and extract data from it. I can do it too, but it's not my requirement. I'm supposed to read the first xml (if it is valid) as I do in my code using the table function and make the continuation of the procedure.
Look, I'll ask you one last time:
What problem are you having? What prevents you from first reading, certain values before inserting, as you need. Just use the same query XMLTABLE that I showed in my example, except you will not query the table, but directly from the XMLType variable:
PASSAGE v_xml
COLUMNS...
-
Animate CC import &; xml
I recently changed my CS4 to animate centuries previously, I imported xml data in to dynamic text fields using the following steps:
var xmlData:XML = new XML();
var theURL_ur:URLRequest = new URLRequest ("affiche.xml");
var loader_ul:URLLoader = new URLLoader (theURL_ur);
loader_ul.addEventListener ("complete", fileLoaded);
function fileLoaded(e:Event):void
{
xmlData = XML (loader_ul.data);
CAM_txt. Text = xmlData.CAM;
CAL_txt. Text = xmlData.CAL;
CPM_txt. Text = xmlData.CPM;
CPL_txt. Text = xmlData.CPL;
DAM_txt. Text = xmlData.Double_AM;
DAL_txt. Text = xmlData.Double_AM_limite;
DPM_txt. Text = xmlData.Double_PM;
DPL_txt. Text = xmlData.Double_PM_limite;
}
I created a HTML5 canvas using the same script and the web page does not appear anything (a blank page). Can I import xml into an HTML5 canvas? If Yes, can someone help me with the coding?
Thank you
Jody S
found this on another forum from adobe:
-
XML with XSD validation when there is more than one XSD.
Hello
I need to validate an XML against a set of xsd.
I am aware that, when there is a single XSD to compare, it is possible to compare using xmlDoc.schemaValidate () with xmlDoc and xmlSchema.
But in my case, there is more than one XSD against which I need to compare the XML code.
My main XSD has the statement as mentioned below.
" < xs: import namespace = ' http://www.w3.org/1999/xxxx "schemaLocation ="xxxx.xsd"/ > "
" < xs: import namespace = ' http://www.w3.org/1999/02/yyyy "schemaLocation ="yyyy.xsd"/ > "
I don't know how to handle this situation.
Please, help me!
Thank you
Vicky
Hi Vicky,
This situation is not different, just validate the main schema.
But, to use the XMLType schemaValidate method, you must save the schema in the database (via the DBMS_XMLSCHEMA API).
If the main schema contains imports then these referenced schemas must be saved too.
To sum up: register all 3 patterns in their order of dependency, then you will be able to validate your XML with the main XSD code.
() dbms_xmlschema.registerSchema
schemaURL-online ,
for example 'xxxx.xsd' schemaDoc =>
local-online true
genTypes-online fake
genTables-online fake
enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE
) ;
-
Avoid duplicates when you import XMLs?
There are a few versions, we have fixed the problem to get the duplicate items when you import new projects in another. This was very helpful.
However, I have noticed that when you import XMLs, first does not apply the same level of... discretion
Is it possible to get XMLs for import without creating duplicate items? I found a workaround by first import the XML file into a new project and then import this project first to my main project... but when I'm in a great documentary film which takes 3-4 minutes to open each time, it's not ideal.
This is particularly important for people using the Pluraleyes because organize us images in first and then export to the EP, and then must bring with XMLs, and it would be great if we didn't have to do a bunch of media management manual to avoid duplicates in the project file.
Thank you!R
Hi Ryan,
Get your feature to the appropriate string request by filling out this form: http://adobe.ly/feature_request
Thank you
Kevin
-
building XPath with the XML with the Namespace using PL SQL
All trying to build the path to each node, when the XML code with no namespace, the following code works very well provide the result
1 ~/
2 ~ /Person/
3 ~ /Person/ âge /
4 ~ /Person/ homecity /
5 ~ /Person/ nom /
6 ~ /Person/ AccueilGuides/lat /
7 ~ /Person/ AccueilGuides/name /
8 ~ /Person/ homecity / long /
But when the XML is changed to
<person xmlns="urn:person" xmlns:lat="urn:lat">
<name>Rob</name>
<age>37</age>
<homecity>
<name>London</name>
<lat>123.000</lat>
<long>0.00</long>
</homecity>
</person>"
The result of the code below the performance translates into just below result
1~/
2~/person/
In the XML file above, XML namespace is not constant and varies for each XML. My requirement is to analyze the complete XML code, where I can read the XML with namespace and get the result that is mentioned below
1~/
2~/person/
3~/person/age/
4~/person/homecity/
5~/person/name/
6~/person/homecity/lat:lat/
7~/person/homecity/name/
8~/person/homecity/long/
Can you please help me solve the issue mentioned. Thanks in advance. -Code snippet below:
DECLARE
l_File VARCHAR2(32000) := '<person>
<name>Rob</name>
<age>37</age>
<homecity>
<name>London</name>
<lat>123.000</lat>
<long>0.00</long>
</homecity>
</person>';
l_Where_Clause VARCHAR2(100) := '/*';
l_Append_Var VARCHAR2(100) := '/';
TYPE Ty_Paths IS TABLE OF VARCHAR2(1000) INDEX BY PLS_INTEGER;
l_Ty_Paths Ty_Paths;
l_Ty_Paths_Temp Ty_Paths;
TYPE Ty_Verifier IS TABLE OF VARCHAR2(1000) INDEX BY VARCHAR2(1000);
l_Ty_Varifier Ty_Verifier;
l_Prev_Query_Rec VARCHAR2(100);
l_Index_Num NUMBER := 0;
l_Cur_Exec_Row NUMBER := 0;
BEGIN
l_Ty_Paths(Nvl(l_Ty_Paths.COUNT, 0) + 1) := l_Append_Var;
l_Cur_Exec_Row := 1;
--Dbms_Output.put_line('Before entering the loop');
LOOP
l_Ty_Paths_Temp.DELETE;
SELECT DISTINCT REPLACE(l_Append_Var || '/' || t.Xml || '/', '//', '/') BULK COLLECT
INTO l_Ty_Paths_Temp
FROM (SELECT Xmltype(Extract(VALUE(e), '/').Getstringval()) .Getrootelement() AS Xml
FROM TABLE(Xmlsequence(Extract(Xmltype(l_File), l_Where_Clause))) e) t;
l_Ty_Varifier(Nvl(l_Ty_Varifier.COUNT, 0) + 1) := l_Append_Var;
--Dbms_Output.put_line('L_TY_PATHS_TEMP.Count::'||L_TY_PATHS_TEMP.Count);
IF l_Ty_Paths_Temp.COUNT > 0 THEN
l_Index_Num := Nvl(l_Ty_Paths.COUNT, 0) + 1;
FOR i IN l_Ty_Paths_Temp.FIRST .. l_Ty_Paths_Temp.LAST LOOP
l_Ty_Paths(l_Index_Num) := l_Ty_Paths_Temp(i);
--Dbms_Output.put_line('L_INDEX_NUM::'||L_INDEX_NUM);
--Dbms_Output.put_line('L_TY_PATHS(L_INDEX_NUM)::'||L_TY_PATHS(L_INDEX_NUM));
l_Index_Num := l_Index_Num + 1;
END LOOP;
END IF;
--Dbms_Output.put_line('L_TY_PATHS.Count::'||L_TY_PATHS.Count);
--Dbms_Output.put_line('L_TY_PATHS.Count::'||L_CUR_EXEC_ROW);
IF (NOT l_Ty_Paths.EXISTS(l_Cur_Exec_Row + 1)) OR (l_Cur_Exec_Row = l_Ty_Paths.COUNT) THEN
--Dbms_Output.put_line('Exiting');
EXIT;
ELSE
--Dbms_Output.put_line('Inside the Else part');
l_Cur_Exec_Row := l_Cur_Exec_Row + 1;
l_Append_Var := l_Ty_Paths(l_Cur_Exec_Row);
l_Where_Clause := l_Ty_Paths(l_Cur_Exec_Row) || '*';
END IF;
--To Display the record:
--Dbms_Output.put_line(L_TY_PATHS.Count);
END LOOP;
IF l_Ty_Paths.COUNT > 0 THEN
FOR i IN l_Ty_Paths.FIRST .. l_Ty_Paths.LAST LOOP
Dbms_Output.Put_Line(i || ' record is ' || l_Ty_Paths(i));
END LOOP;
END IF;
END;
Thank you.
If you have patterns, it may be easier to work directly on them.
Here's the idea:
(1) install "Oracle XML DB manageability Packages", available on the code page for the XML DB sample: http://download.oracle.com/otn/samplecode/xdb_util.zip
This is a set of utilities which allows us to annotate the XML schemas, to deal with the underlying or storage structure, and (this is the interesting part here) a few views of dictionary to describe the relational XSD structure.
(it is now an integrated 12 c btw)
(2) enter these two schemas:
Start
() dbms_xmlschema.registerSchema
schemaURL-online "pacs.002.001.03S2.xsd."
schemaDoc-online xmltype (bfilename('TEST_DIR','pacs.002.001.03S2.xsd'), nls_charset_id ('AL32UTF8'))
local-online true
genTypes-online fake
genTables-online fake
enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE
options-online dbms_xmlschema. REGISTER_BINARYXML
);
end;
/
Start
() dbms_xmlschema.registerSchema
schemaURL-online "SCTCvfBlkCredTrf.xsd."
schemaDoc-online xmltype (bfilename('TEST_DIR','SCTCvfBlkCredTrf.xsd'), nls_charset_id ('AL32UTF8'))
local-online true
genTypes-online fake
genTables-online fake
enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE
options-online dbms_xmlschema. REGISTER_BINARYXML
);
end;
/
(3) the following query built all the paths of node defined by the main schema (SCTCvfBlkCredTrf.xsd), as well as the namespaces:
with schema_list (schema_url, schema_owner) as)
Select 'SCTCvfBlkCredTrf.xsd', 'OTN' from dual
Union of all the
Select sd.dep_schema_url, sd.dep_schema_owner
of schema_list sl
Join dba_xml_schema_dependency on sd.schema_url = sl.schema_url sd
and sd.schema_owner = sl.schema_owner
),
namespace_mapping (target_namespace, prefix) as long as)
Select target_namespace
, « ns » || ROW_NUMBER() (order target_namespace) as a prefix
of user_xml_schema_namespaces
where schema_url in (select schema_url from schema_list)
),
() schema_nodes
is_attr
node_name
max_occurs
element_id
parent_element_id
target_namespace
schema_url
) as)
Select 0
element_name as node_name
xmlcast)
XMLQUERY ('/ XS: ELEMENT / ' @maxOccurs passing returning content element)
as varchar2 (10)
)
element_id
parent_element_id
target_namespace
schema_url
of user_xml_schema_elements
where schema_url in (select schema_url from schema_list)
Union of all the
Select 1
attribute_name as node_name
null
null
element_id
target_namespace
schema_url
of user_xml_schema_attributes
where schema_url in (select schema_url from schema_list)
)
Select the level
sn.node_name
sn.max_occurs
connect_by_isleaf as is_leaf
sys_connect_by_path)
-case when ns.prefix is not null and is_attr = 0 then ns.prefix | ':' end |
-case when sn.is_attr = 1 then ' @' end |
SN. NODE_NAME
, '/'
) as xpath
-, target_namespace
of schema_nodes sn
outer join ns namespace_mapping let ns.target_namespace = sn.target_namespace
Connect prior sn.element_id = sn.parent_element_id
Start with sn.schema_url = "SCTCvfBlkCredTrf.xsd".
and sn.parent_element_id is null
;
LEVEL MAX_OCCURS IS_LEAF XPATH NODE_NAME
----- ------------------ ---------- ------- ----------------------------------------------------------------------------------------------------------
1 SCTCvfBlkCredTrf 0 /ns2:SCTCvfBlkCredTrf
2 1 SndgInst /ns2:SCTCvfBlkCredTrf / ns2:SndgInst
2 1 RcvgInst /ns2:SCTCvfBlkCredTrf / ns2:RcvgInst
2 1 SrvcId /ns2:SCTCvfBlkCredTrf / ns2:SrvcId
2 1 TstCode /ns2:SCTCvfBlkCredTrf / ns2:TstCode
2 FType 1 /ns2:SCTCvfBlkCredTrf / ns2:FType
2 FileRef 1 /ns2:SCTCvfBlkCredTrf / ns2:FileRef
2 1 FileDtTm /ns2:SCTCvfBlkCredTrf / ns2:FileDtTm
2 1 OrigFRef /ns2:SCTCvfBlkCredTrf / ns2:OrigFRef
2 1 OrigFName /ns2:SCTCvfBlkCredTrf / ns2:OrigFName
2 1 OrigDtTm /ns2:SCTCvfBlkCredTrf / ns2:OrigDtTm
2 1 FileRjctRsn /ns2:SCTCvfBlkCredTrf / ns2:FileRjctRsn
2 1 FileBusDt /ns2:SCTCvfBlkCredTrf / ns2:FileBusDt
2 1 FileCycleNo /ns2:SCTCvfBlkCredTrf / ns2:FileCycleNo
2 FIToFIPmtStsRptS2 1 /ns2:SCTCvfBlkCredTrf 0 / ns2:FIToFIPmtStsRptS2
3 GrpHdr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr
4 MsgId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:MsgId
4 CreDtTm 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:CreDtTm
4 InstgAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt
5 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt / ns1:FinInstnId
6 BIC 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt / ns1:FinInstnId / ns1:BIC
3 OrgnlGrpInfAndSts 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts
4 OrgnlMsgId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlMsgId
4 OrgnlMsgNmId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlMsgNmId
4 OrgnlNbOfTxs 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlNbOfTxs
4 OrgnlCtrlSum 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlCtrlSum
4 GrpSts 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:GrpSts
4 StsRsnInf 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf
5 Orgtr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr
6 id 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id
7 OrgId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId
8 1 BICOrBEI /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId / ns1:BICOrBEI
5 ARS 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn
6 Cd 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Cd
6 Prtry 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Prtry
4 NbOfTxsPerSts 2 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts
5 1 DtldNbOfTxs /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldNbOfTxs
5 1 DtldSts /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldSts
5 1 DtldCtrlSum /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldCtrlSum
3 TxInfAndSts boundless 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts
4 StsId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsId
4 OrgnlInstrId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlInstrId
4 OrgnlEndToEndId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlEndToEndId
4 OrgnlTxId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxId
4 TxSts 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:TxSts
4 StsRsnInf 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf
5 Orgtr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr
6 id 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id
7 OrgId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId
8 1 BICOrBEI /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId / ns1:BICOrBEI
5 ARS 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn
6 Cd 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Cd
6 Prtry 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Prtry
4 InstdAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt
5 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt / ns1:FinInstnId
6 BIC 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt / ns1:FinInstnId / ns1:BIC
4 OrgnlTxRef 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef
5 IntrBkSttlmAmt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:IntrBkSttlmAmt
CTL 6 1 /ns2:SCTCvfBlkCredTrf/ns2:FIToFIPmtStsRptS2/ns1:TxInfAndSts/ns1:OrgnlTxRef/ns1:IntrBkSttlmAmt/@Ccy
5 1 IntrBkSttlmDt /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:IntrBkSttlmDt
5 DbtrAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt
6 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt / ns1:FinInstnId
7 1 BIC /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt / ns1:FinInstnId / ns1:BIC
5 CdtrAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt
6 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt / ns1:FinInstnId
7 1 BIC /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt / ns1:FinInstnId / ns1:BICIn fact, you would be generally extracted from mapping data in a separate query so that you can use it to build the dynamic with XMLNamespaces clause of the namespace.
NB1: Also note that not all roads are needed, only those which IS_LEAF = 1 or MAX_OCCURS = "unlimited" or MAX_OCCURS > '1', then you can add a filter predicate in the query directly.
NB2: The query does support all the features of XSD, for example, I've relied on the default behavior for attributes 'element_form_default' and 'attribute_form_default '.
Maybe you are looking for
-
Discreet Integrator (control and Simulation Module) - LabVIEW 2015
Hey everybody, I'm trying to drag the discreet Integrator on a block in 2015 of LabVIEW diagram. All other vi in the "range of discrete linear systems are draggable, but not the"discreet"Integrator." I noticed the same thing for the continuous Linear
-
Well, it's certainly very bad. SP2 fails to install. After the initial failure, my PC stops after a random period of time up to 2 hours. He keeps trying to install some other updates, so the problem is not hardware. I have also now bad performance s
-
It does not update when I update I get this message, the error number: 0x8024400A
[Error number: 0x8024400A] The website has encountered a problem and cannot display the page you are trying to view. The options provided below may help you solve the problem. It is on the Microsoft Windows Update Web site. Help, please.
-
Hi, I have Windows 7 and the Sound Blaster Recon 3D PCIe audio device. In the last few weeks, I noticed that some videos will play without problem and some have the following problem: the music and ads are ok. Videos with speaking parts (last tested
-
What exactly is the "free" offer Adobe Stock?
Everytime I open Photoshop, I get a screen advertising of 10 'free' of Adobe Stock images. I was interested to see close-up photos, but you won't see any not stick, and the small print in the ad said, "refund of a month on Adobe Stock when you subscr