Network LOD support for All Paths between 2 nodes

In the in-memory Network API, there is a method NetworkManager.allPaths. This method returns available paths between 2 nodes with possible constraints. I am looking for a similar method in the LOD NetworkAnalyst class and am not finding it. Is there something similar?
Or, here is what I want to do, and maybe there is a better way to do it. I am using NDM to data-mine our roadway inventory. Its a big network, whole state of Ohio, all roads--both local and state. One of the things I am trying to identify are what we call co-located routes. These are routes that have multiple names, for example, the ohio turnpike is both Interstate 80 and 90 on the same bed of road. In our line work, where these routes are co-located, we would only have a record for 80. The portion of 90 that we would have would be only in the case where it is NOT co-located with 80; in other words, 90 has a gap where it is co-located with 80. This is true for all our roads. In this case, we call 80 the primary, and 90 the secondary. We can have infinite secondaries (our worst case scenario is 6 routes overlapping). My situation in many cases, is I know that a route becomes secondary, I know how long the secondary section is, but I don't know what the primary is, so I want to discover it.
Given these assumptions, I should be able to ask for all paths between 2 nodes that exactly match a cost (the overall length of the overlap). This should be simple with NDM. I provide a begin node, an end node, and a target cost, possible some traversal constraints, and it returns me the candidate paths. I thought that NetworkAnalyst.withinCost would do this, but as I discovered from the Stored Procedure docs, it returns the shortest path within the given less than or equal to the given cost--not necessarily the path I am looking for.
Any advice? FYI, I am using Oracle 11GR2.
Thanks, Tom

So what I have come up with so far, is that the NetworkAnalyst trace methods provide this type of functionality. For example, with traceOut, I provide a start node, distance and some traversal constraints, and it returns me all paths less than or equal to the specified distance. What was throwing me a little with this method was the application of the LODGoalNode. I was thinking that the goal node would allow me to specify a particular node to be a requirement for the entire path such that a resulting path would have my start node, and end on a particular goal node with links in between. That IS NOT how it works. The LODGoalNode.isGoal is tested for EACH link that is part of a potential path, and only if this method returns true, is it added to the resulting path list.
In my case, if I specified a start node and implemented the LODGoalNode.isGoal method such that it tested the provided end node for equality to my target node, the result would be that only links containing that specific goal node in the link. Anyway, so in my implementation, I leave the goalNode of the traceOut method null.
So I have a new question. Is there a way to test when a path has been found, and then apply some constraints on it (PathConstraint)? This would be useful in cases where you get many paths returned to you, but in addition to a maximum distance constraint, you also want to apply for example a minimum distance on the resulting path, or that this is only a valid path if it ends on a particular node. Maybe there is a way to do this, and I haven't figured it out yet. The old AnalysisInfo class used to have a way to query the current path links and nodes, that would be useful in the LODAnalysisInfo class to help accomplish this perhaps? This feature isn't critical, because I can filter the list of paths returned from traceOut on my own after they are returned, but it would add some efficiency, especially when a large amount of paths are returned.
Thanks, Tom

Similar Messages

  • 802.11a network not supported for this Country Code

    Hi, I get the following error whne enabling 802.11a network on a AIR-WLC2106-K9. Country is set to ID (Indonesia)
    >config 802.11a enable network
    802.11a network not supported for this Country Code
    Yet, on a AIR-CT2504-K9, set to same country code there is no problem.
    Is this a WLC model or version issue? WLC2106 is on version 6.0.199.4 while the CT2504 is 7.0.220.0
    Andrew

    Well is it the only country code selected? Also you might as well upgrade the 2106 to 7.0.x and move off the 6.0.x. Since your 2604 is at that code you might as well upgrade the 2106 and see. I'm guessing that you have the same APs and the APs are for that country.
    Sent from Cisco Technical Support iPhone App

  • Feature Request -Support For All Library Assets Formats

    I would like to request an update to the application to allow full support for all Library asset formats.
    I have recently started using Comp CC to draft layouts. I have found that none of my graphics Library assets can be used due to their format type. This has limited the usefulness of Comp CC as many of my assets are Illustrator vector graphic.

    Thanks for opening our eyes. I spent a good hour trying to place vector graphics into an image place holder before I posted.
    In my defense I find this method less than intuitive. I don't understand Adobe's thinking on separate methods of placing vector graphics & raster graphics. I personally treat all graphics the same vector or raster the are both graphics. This has been the standard workflow for placing image into DTP apps since the beginning.

  • All Paths between 2 Nodes

    Hi ,
    Can someone please let me know how I could be achieving this?
    I want to find out all the paths between the Source Node A and the Destination Node B.
    I donot want the shortest path but all the paths between the 2 nodes.
    Also I donot have any weight/cost associated with any path. ( Graph is a directed graph)
    Regards,
    Akshatha

    Hi,
    Maybe this :Scott@my11g SQL>l
      1  with links(n1,n2) as (
      2  select 'A','B' from dual
      3  union all select 'A','C' from dual
      4  union all select 'B','C' from dual
      5  union all select 'B','D' from dual
      6  union all select 'D','G' from dual
      7  union all select 'C','G' from dual
      8  union all select 'D','I' from dual
      9  union all select 'C','E' from dual
    10  union all select 'E','F' from dual
    11  union all select 'F','G' from dual
    12  union all select 'F','H' from dual
    13  )
    14  select pth
    15  from (
    16  select connect_by_root(n1) || sys_connect_by_path(n2,'>') pth ,n2
    17  from links
    18  start with n1='A'
    19  connect by nocycle prior n2=n1
    20  )
    21* where n2='G'
    Scott@my11g SQL>/
    PTH
    A>B>C>E>F>G
    A>B>C>G
    A>B>D>G
    A>C>E>F>G
    A>C>G

  • CP3525dn, networked -- default duplex for all users (embedded web server)

    I want to set the default for all users on our networked CP3525dn to be duplex. I cannot find this option anywhere in the embedded web server. I have duplex turned on, of course, and users can set their own default to duplex, but I want it to be default for everyone--the default default, if you will.
    Is this possible? I'm fairly certain it's possible if the printer is connected to a computer and shared on the network (but I don't remember the specifics) but I can't find out how to do it if it's on the network on its own.
    Thanks!

    I don't believe you can.  It must be set for every user manually.
    Say thanks by clicking the Kudos Thumbs Up to the right in the post.
    If my post resolved your problem, please mark it as an Accepted Solution ...
    I worked for HP but now I'm retired!

  • Are there plans to provide direct support for stringify capability in node-oracledb

    Typically javascript binding client libraries accept stringify JSON data. It would be nice to have this capability built into the node-oracledb as well as streaming other data formats: <XML> ....
    Regards,

    Is this for insert or fetching of JSON?  Oracle Database 12.1.0.2 can natively store JSON http://docs.oracle.com/database/121/ADXDB/json.htm
    Do you want to be able to use JSON objects with Oracle bind variables?
    How important is XML support for you?

  • JSTL Expression Support For All Attributes

    There are mentions of JSTL expression support for the
    modelReference attribute within the specification (although I have found problems in the EA3 in this regard), but
    but I did not find any mention of supporting the same for all
    attributes. To me, this seems very important, especially for
    attributes like "onClick" where I might want to do something special:
    <c:foreach ...
    <h:graphic_image modelReference="model.myImage" onClick="onDelete({status.index})"/>
    </c:foreach>
    In the case above, this would allow me to call a single javascript function that triggers a delete action based on the current index within a list based view.
    There are many cases that I can think of that this would be incredibly useful.

    maybe you have forgotten the $
    onClick="onDelete(${status.index})"
    or I've misunderstood something...

  • Disable weak ciphers and support for all SSL protocols prior to v3.

    I am very new to Weblogic and I need a little help with the SSL configurations. I received a security audit back and discovered that Weblogic's SSL is running weak ciphers and also supporting unacceptable versions of SSL (we require a minimum of SSLv3 and need to deny connections with anything less). That said, can anyone point me in the right direction for disabling weak ciphers as well as forcing support for SSLv3 and up only for client connections. I am running Weblogic 10.3.
    Edited by: David Pulliam on Jan 26, 2011 8:31 AM

    Hi David,
    -Dweblogic.security.SSL.protocolVersion=SSL3 —> Using this JAVA_OPTION will allow Only SSL V3.0 messages are sent and accepted. So add the mentioned JAVA_OPTION in the server start script along with the below OPTION:
    -Dweblogic.security.disableNullCipher=true
    Also you can do the following in your "config.xml" to make sure that the Weblogic will not accept weak and medium weak passwords:
    <ssl>
           <enabled>true</enabled>
          <ciphersuite>TLS_RSA_WITH_RC4_128_SHA</ciphersuite>
          <ciphersuite>TLS_RSA_WITH_RC4_128_MD5</ciphersuite>
          <hostname-verification-ignored>true</hostname-verification-ignored>
          <listen-port>7002</listen-port>
          <server-private-key-alias>aliasHere</server-private-key-alias>
          <server-private-key-pass-phrase-encrypted>encryptedpassphraseHere</server-private-key-pass-phrase-encrypted>
    </ssl>Thanks
    Jay SenSharma
    http://middlewaremagic.com/weblogic (Middleware magic Is Here)

  • DAQmxBase for Mac OS X: where's the support for all DIO ports?

    As of version 1.5.0f2 of the NI-DAQmxBase release for Mac OS X, only port0 is supported for digitial IO. I would like to have the full functionality of my E-series board; does anyone know if a new release is in beta now or will be released soon that, you know, supports more than 1/4 of the board's DIO functionality? Are there workarounds one can employ with the current version? Thanks in advance.

    There are no current plans to add support for the extended digital on the NI 6025E.  The architecture is unique to that board and the newer M Series boards now have an extended number of digital lines. Another option is to use an E series board and the PCI-DIO-96 which is also supported in NI-DAQmx Base.
    With that said, we continually add features based on customer requests.  Do you have a lot of these systems?  Do other people out there want the extended digital on the 6025E supported?

  • Single Driver for ni-rio 9146 without overhead by included support for all similar HW

    I recognized that the driver package for NI-Rio 2014 is about 4GB in size but i need only support for NI-Rio 9146.
    Can i download also a single specific driver?

    Labuser16383 wrote:
    I recognized that the driver package for NI-Rio 2014 is about 4GB in size but i need only support for NI-Rio 9146.
    Can i download also a single specific driver?
    No.
    This is the same as with the NI DAQ boards. One has download the entire NI-DAQmx which is several gigabytes in size.

  • Support for  Operators like [Between] in ADF QP for String Attributes

    All,
    In the ADF Query Panel there is no support provided for operators like BETEWEEN, NOT BETWEEN, >= and <= etc for attributes of type String. On the Oracle Database we can execute queries like
    SQL> select ename from emp where ename between 'A' and 'C';
    ENAME
    ALLEN
    BLAKE
    ADAMS
    SQL> select ename from emp where ename <= 'B';
    ENAME
    ALLEN
    ADAMS
    The reason I am asking this question is for fusion we expose KeyFlexfields in an ADF Query Panel. Teams like GL store numeric values as Strings/Varchar2 type in the database and would like to perform operations like BETWEEN on strings. Is there a way this can be accomplished.
    Tom
    Edited by: tbenjami on May 27, 2009 11:12 AM

    Lucas,
    Thanks for the suggestion.
    We will look into it.
    Steven davelaar,
    JHeadstart Team.

  • My iPad say document not supported for all in one 6450 printer

    I have installed the e print for my iPad and while trying to print, it says document not supported. I have a wireless All in One 6450 Printer

    Eddy955, hope you are doing well and welcome to the HP forums;
    What document are you trying to print and what application are you using to print it.
    If you are using ePrint, bear in mind that there some limitations to the files that you can print this are the limitations in type of document and size.
    "supported format:
    Microsoft Word
    Microsoft PowerPoint
    Microsoft Outlook
    Microsoft Excel*
    Text files (.txt)
    PDF
    Images (bmp, jpg, png, gif, tiff)
    also there are size limitations for this docs
    the document cannot be larger than 5 mb's and it cannot be more that 10 attatchments, for a more comprehensive list go to this link.
    https://h30495.www3.hp.com/help/
    Do not hesitate to let me know if you need more assistance. I will do my best to help you.
    RobertoR

    You can say THANKS by clicking the KUDOS STAR. If my suggestion resolves your issue Mark as a "SOLUTION" this way others can benefit Thanks in Advance!

  • Need Network Printing support for the Deskjet 6500 series as a shared printer!!!

    Why does HP NOT SUPPORT INSTALLING the Deskjet6500 series as a shared network printer on Win 7 64 bit??  There is NO DRIVER available and if its NOT USB DIRECT CONNECTED windows update will NOT FIND a driver either!!!
    This is stupid!!

    Hi,
    It's a network printer (depending on how you set it up) and you can find drivers for Windows 7 64bit from the following link:
       http://h10025.www1.hp.com/ewfrf/wc/softwareCategory?os=4063&lc=en&cc=us&dlc=en&sw_lang=&product=3795...
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • Script for Transfering paths between documents?.. help

    Dear all,
    I can see that this question has been asked a few times, but the answers don't work for me.
    All I need to do is to make a script (I am new to this).. which automates the transfer of the paths to the document with the same file name.
    E.g.: File 1: Original tif or .psd file with file name fridaystudios64 which resides in a folder called tif. File 2: Jpg image which has been sent away for clipping and has come back. It also has the same filename fridaystudio64 but resides in a folder called Paths..
    The file name is always different.. and there are over 10 for each batch.
    The file size of these documents is exactly the same, but the colour space is different.. (the tif or .psd is Adobe RGB and the jpg is sRGB).
    The file needs to automate by recognising the other file with the same name, opening up, and copying it over, and then just saving it.
    I could do this manually, but it takes about 3 minutes a day, and sometimes longer, and thought if it's possible then it would be cool.
    Can anyone please help with this, or already have a script they are generous enough to give me..
    Kind regards,

    Does this help?
    // select folder, if folder »paths« exists beside that folder transfer paths from jpgs to psds, tifs from first folder;
    // 2014, use it at your own risk;
    #target photoshop
    // dialog for folder-selection;
    var theFolder1 = Folder.selectDialog ("select folder 1");
    var theFolder2 = Folder(theFolder1.parent+"/Paths");
    //var theFolder2 = Folder.selectDialog ("select folder 2");
    if (theFolder1 && theFolder1) {
    var theFiles1 = theFolder1.getFiles(getSomeFiles);
    // work through folders;
    for (var m = 0; m < theFiles1.length; m++) {
              var theFile = theFiles1[m];
    // if corresponding jpg exists;
              var thePath = theFolder2+"/"+theFile.name.replace(/\.\D{3}$/i, ".jpg");
              if (File(thePath).exists == true) {
    // open jpg;
                        var theFile2 = app.open(File(thePath));
    // if jpg has path/s;
                        if (theFile2.pathItems.length > 0) {
                                  var thePaths = new Array;
                                  var theNames = new Array;
    // collect paths;
                                  for (var n = 0; n < theFile2.pathItems.length; n++) {
                                            var thisPath = theFile2.pathItems[n];
                                            theNames.push (thisPath.name);
                                            thePaths.push (collectPathInfoFromDesc2012(theFile2, thisPath));
                                  theFile2.close(SaveOptions.DONOTSAVECHANGES)
    // open other file;
                                  var theFile = app.open(theFile);
    // create paths;
                                  for (var o = 0; o < thePaths.length; o++) {
                                            var theName = theNames[o];
    // if path of that name exists;
                                            var theCheck = false
                                            while (theCheck == false) {
                                                      try {
                                                                theFile.pathItems.getByName(theName);
                                                                theName = theName + "_"
                                                      catch (e) {theCheck = true};
                                            createPath2012(thePaths[o], theName)
    // close and save;
                                  theFile.close(SaveOptions.SAVECHANGES);
                        else {theFile2.close(SaveOptions.DONOTSAVECHANGES)}
    ////// get psds and tifs from files //////
    function getSomeFiles (theFile) {
        if (theFile.name.match(/\.(tif|psd)$/i)) {
            return true
    ////// get document’s //////
    function getDocumentsID () {
    var ref = new ActionReference();
    ref.putEnumerated( charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
    var docDesc = executeActionGet(ref);
    var docID = docDesc.getInteger(stringIDToTypeID("documentID"));
    var docIndex = docDesc.getInteger(stringIDToTypeID("itemIndex"));
    return [docID, docIndex]
    ////// collect path info from actiondescriptor, smooth added //////
    function collectPathInfoFromDesc2012 (myDocument, thePath) {
    var originalRulerUnits = app.preferences.rulerUnits;
    app.preferences.rulerUnits = Units.POINTS;
    // based of functions from xbytor’s stdlib;
    var ref = new ActionReference();
    for (var l = 0; l < myDocument.pathItems.length; l++) {
              var thisPath = myDocument.pathItems[l];
              if (thisPath == thePath && thisPath.name == "Work Path") {
                        ref.putProperty(cTID("Path"), cTID("WrPt"));
              if (thisPath == thePath && thisPath.name != "Work Path" && thisPath.kind != PathKind.VECTORMASK) {
                        ref.putIndex(cTID("Path"), l + 1);
              if (thisPath == thePath && thisPath.kind == PathKind.VECTORMASK) {
            var idPath = charIDToTypeID( "Path" );
            var idPath = charIDToTypeID( "Path" );
            var idvectorMask = stringIDToTypeID( "vectorMask" );
            ref.putEnumerated( idPath, idPath, idvectorMask );
    var desc = app.executeActionGet(ref);
    var pname = desc.getString(cTID('PthN'));
    // create new array;
    var theArray = new Array;
    var pathComponents = desc.getObjectValue(cTID("PthC")).getList(sTID('pathComponents'));
    // for subpathitems;
    for (var m = 0; m < pathComponents.count; m++) {
              var listKey = pathComponents.getObjectValue(m).getList(sTID("subpathListKey"));
              var operation1 = pathComponents.getObjectValue(m).getEnumerationValue(sTID("shapeOperation"));
              switch (operation1) {
                        case 1097098272:
                        var operation = 1097098272 //cTID('Add ');
                        break;
                        case 1398961266:
                        var operation = 1398961266 //cTID('Sbtr');
                        break;
                        case 1231975538:
                        var operation = 1231975538 //cTID('Intr');
                        break;
                        default:
    //                    case 1102:
                        var operation = sTID('xor') //ShapeOperation.SHAPEXOR;
                        break;
    // for subpathitem’s count;
              for (var n = 0; n < listKey.count; n++) {
                        theArray.push(new Array);
                        var points = listKey.getObjectValue(n).getList(sTID('points'));
                        try {var closed = listKey.getObjectValue(n).getBoolean(sTID("closedSubpath"))}
                        catch (e) {var closed = false};
    // for subpathitem’s segment’s number of points;
                        for (var o = 0; o < points.count; o++) {
                                  var anchorObj = points.getObjectValue(o).getObjectValue(sTID("anchor"));
                                  var anchor = [anchorObj.getUnitDoubleValue(sTID('horizontal')), anchorObj.getUnitDoubleValue(sTID('vertical'))];
                                  var thisPoint = [anchor];
                                  try {
                                            var left = points.getObjectValue(o).getObjectValue(cTID("Fwd "));
                                            var leftDirection = [left.getUnitDoubleValue(sTID('horizontal')), left.getUnitDoubleValue(sTID('vertical'))];
                                            thisPoint.push(leftDirection)
                                  catch (e) {
                                            thisPoint.push(anchor)
                                  try {
                                            var right = points.getObjectValue(o).getObjectValue(cTID("Bwd "));
                                            var rightDirection = [right.getUnitDoubleValue(sTID('horizontal')), right.getUnitDoubleValue(sTID('vertical'))];
                                            thisPoint.push(rightDirection)
                                  catch (e) {
                                            thisPoint.push(anchor)
                                  try {
                                            var smoothOr = points.getObjectValue(o).getBoolean(cTID("Smoo"));
                                            thisPoint.push(smoothOr)
                                  catch (e) {thisPoint.push(false)};
                                  theArray[theArray.length - 1].push(thisPoint);
                        theArray[theArray.length - 1].push(closed);
                        theArray[theArray.length - 1].push(operation);
    // by xbytor, thanks to him;
    function cTID (s) { return cTID[s] || cTID[s] = app.charIDToTypeID(s); };
    function sTID (s) { return sTID[s] || sTID[s] = app.stringIDToTypeID(s); };
    // reset;
    app.preferences.rulerUnits = originalRulerUnits;
    return theArray;
    ////// create a path from collectPathInfoFromDesc2012-array //////
    function createPath2012(theArray, thePathsName) {
    var originalRulerUnits = app.preferences.rulerUnits;
    app.preferences.rulerUnits = Units.POINTS;
    // thanks to xbytor;
    cTID = function(s) { return app.charIDToTypeID(s); };
    sTID = function(s) { return app.stringIDToTypeID(s); };
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID('Path'), cTID('WrPt'));
        desc1.putReference(sTID('null'), ref1);
        var list1 = new ActionList();
    for (var m = 0; m < theArray.length; m++) {
              var thisSubPath = theArray[m];
        var desc2 = new ActionDescriptor();
        desc2.putEnumerated(sTID('shapeOperation'), sTID('shapeOperation'), thisSubPath[thisSubPath.length - 1]);
        var list2 = new ActionList();
        var desc3 = new ActionDescriptor();
        desc3.putBoolean(cTID('Clsp'), thisSubPath[thisSubPath.length - 2]);
        var list3 = new ActionList();
    for (var n = 0; n < thisSubPath.length - 2; n++) {
              var thisPoint = thisSubPath[n];
        var desc4 = new ActionDescriptor();
        var desc5 = new ActionDescriptor();
        desc5.putUnitDouble(cTID('Hrzn'), cTID('#Rlt'), thisPoint[0][0]);
        desc5.putUnitDouble(cTID('Vrtc'), cTID('#Rlt'), thisPoint[0][1]);
        desc4.putObject(cTID('Anch'), cTID('Pnt '), desc5);
        var desc6 = new ActionDescriptor();
        desc6.putUnitDouble(cTID('Hrzn'), cTID('#Rlt'), thisPoint[1][0]);
        desc6.putUnitDouble(cTID('Vrtc'), cTID('#Rlt'), thisPoint[1][1]);
        desc4.putObject(cTID('Fwd '), cTID('Pnt '), desc6);
        var desc7 = new ActionDescriptor();
        desc7.putUnitDouble(cTID('Hrzn'), cTID('#Rlt'), thisPoint[2][0]);
        desc7.putUnitDouble(cTID('Vrtc'), cTID('#Rlt'), thisPoint[2][1]);
        desc4.putObject(cTID('Bwd '), cTID('Pnt '), desc7);
        desc4.putBoolean(cTID('Smoo'), thisPoint[3]);
        list3.putObject(cTID('Pthp'), desc4);
        desc3.putList(cTID('Pts '), list3);
        list2.putObject(cTID('Sbpl'), desc3);
        desc2.putList(cTID('SbpL'), list2);
        list1.putObject(cTID('PaCm'), desc2);
        desc1.putList(cTID('T   '), list1);
        executeAction(cTID('setd'), desc1, DialogModes.NO);
    if (hasVectorMask() == false) {
    var myPathItem = app.activeDocument.pathItems[app.activeDocument.pathItems.length - 1];
    else {
    var myPathItem = app.activeDocument.pathItems[app.activeDocument.pathItems.length - 2];
    myPathItem.name = thePathsName;
    app.preferences.rulerUnits = originalRulerUnits;
    return myPathItem
    // from »Flatten All Masks.jsx« by jeffrey tranberry;
    // Function: hasVectorMask
    // Usage: see if there is a vector layer mask
    // Input: <none> Must have an open document
    // Return: true if there is a vector mask
    function hasVectorMask() {
              var hasVectorMask = false;
              try {
                        var ref = new ActionReference();
                        var keyVectorMaskEnabled = app.stringIDToTypeID( 'vectorMask' );
                        var keyKind = app.charIDToTypeID( 'Knd ' );
                        ref.putEnumerated( app.charIDToTypeID( 'Path' ), app.charIDToTypeID( 'Ordn' ), keyVectorMaskEnabled );
                        var desc = executeActionGet( ref );
                        if ( desc.hasKey( keyKind ) ) {
                                  var kindValue = desc.getEnumerationValue( keyKind );
                                  if (kindValue == keyVectorMaskEnabled) {
                                            hasVectorMask = true;
              }catch(e) {
                        hasVectorMask = false;
              return hasVectorMask;

  • Help: XMLTYPE need to remove all blankspaces "between nodes"

    Hello,
    In a table containing a XMLTYPE column, we've got indented XML.
    For each row in this XMLTYPE column, we would need to remove all the numerous blankspaces located in between all ">" and "<"
    Basically, we would like the XML to be without its indentation.
    Is REGEXP_REPLACE the best way to do it ?
    How can we do it ?
    Thanks for your help,
    Olivier

    Maybe XMLSERIALIZE might help
    Regards
    Etbin

Maybe you are looking for