Removing XML elements

Hi all!
I have a problem about an xml. I have to eliminate redundancy
So from this xml:
<xml1>
<Property>
<Parameters1>
<Param>
<name>A</name>
<prop></prop> <!--this doesn't matter-->
</Param>
<Param>
<name>B</name>
<prop></prop> <!--this doesn't matter-->
</Param>
<Param>
<name>C</name>
<prop></prop> <!--this doesn't matter-->
</Param>
</Parameters1>
<Parameters2>
<Param>
<name>A</name>
<prop></prop> <!--this doesn't matter-->
</Param>
<Param>
<name>C</name>
<prop></prop> <!--this doesn't matter-->
</Param>
<Param>
<name>D</name>
<prop></prop> <!--this doesn't matter-->
</Param>
</Parameters2>
</Property>
</xml1>
I want to obtain this xml:
<xml2>
<Property>
<Parameters1>
<Param>
<name>A</name>
<prop></prop> <!--this doesn't matter-->
</Param>
<Param>
<name>B</name>
<prop></prop> <!--this doesn't matter-->
</Param>
<Param>
<name>C</name>
<prop></prop> <!--this doesn't matter-->
</Param>
</Parameters1>
<Parameters2>
<!--Parameters A and C are missing-->
<Param>
<name>D</name>
<prop></prop> <!--this doesn't matter-->
</Param>
</Parameters2>
</Property>
</xml2>
There are just parameters without repeting.
My code until now is:
private String numeParam;
private Vector elParam = new Vector();
for (int i=0;i<rootlist2.getLength();i++)
Element element2 = (Element)rootlist2.item(i); // rootlist is my doc xml
if (element2.getLocalName()==Property)
NodeList childrenName2 = element2.getChildNodes();
for (j=0;j<childrenName2.getLength();j++)
Element elemm = (Element)childrenName2.item(j);
if ((elemm.getLocalName() == "Parameters1")||(elemm.getLocalName() == "Parameters2"))
NodeList param = elemm.getChildNodes();
for(int y=0;y<param.getLength();y++)
bn=true;
bas=true;
Element childInProperty2 = (Element)param.item(m2); // acesta e de sters
if (childInProperty2.getLocalName() == Param)
NodeList tlist =childInProperty2.getChildNodes();
for (int y = 0;y<tlist.length();y++)
Element childInPUParam2 = (Element)tlist.item(y);
if (childInPUParam2.getLocalName()== "name")
numeParam = childInPUParam2.getTextContent();
bas=false;
if (bas==false)
if (!elParam.contains(numeParam))
elParam.addElement(numeParam);
if (elParam.contains(numeParam))
bn=false;
break;
} end if
} // end for
if (bn==false)
ba = false;
if (bn==false)
System.out.println("C");
ba = false;
elParam.clear();
this is working I a kind of way, but this remove some elements that is not god. I wonder... Is like elParam contains some strings but, after me is imposible.
Thanks all

Why don't you use XPath? Anyway.
-> Get a List of the documents Node
-> Get a List of all children
You have to check each Node:
-> if the node is not null
-> if the node's name is not null
-> if the node's content is not null
-> if the node's name is equals (<name>)
If the Node-Element is found, store it in a Collection (the reference of the node object).
Later you could iterate the collection and remove all Nodes from the Document.
Afterwards you can transfer the document to a xml file.
btw: if you use XPath you have to be sure to use at least Java 1.5
Regards,
Florian

Similar Messages

  • Remove xml element using JS[CS3]

    Hi, I have an xml structure where i want to remove some paritcular element named "extlink".
    I do have one script with me but it doesn't wipe out all specific xml element from structure.
    var myDoc = app.activeDocument;
    var foundtext = 0
    Query_Remove (myDoc);
    alert ("You have removed " + foundtext + " " +" Link !!")
    exit (0);
    function Query_Remove(elm)
    try
    for(var i=elm.xmlElements.length-1; i>=0; i--)
         if((elm.xmlElements[i].markupTag.name == "extlink") && (elm.xmlElements[i].xmlElements[0].markupTag.name == "http"))
        var Store_CitAttri = elm.xmlElements[i].xmlElements[0].xmlAttributes.item("c_style").value;
         if(Store_CitAttri == "URL")
          elm.xmlElements[i].remove();
         foundtext = foundtext + 1;
       Query_Remove(elm.xmlElements[i]);
    catch (e){
    Some time it skip the element from all figure captions and some time from body text and some time it works perfectly
    Could any one figure it out why this script behaviour is not consistent as i am new to scripting and not getting any idea about this.
    Thanks
    Mac

    Okay, after peering over your code and trying a few things out I see one immediate problem and one possible improvement.
    The problem lies in this:
    1. if condition is true, remove item
    2. check recursively
    The problem is .. if an item is removed, the following recursive check will always fail. However, the entire loop is wrapped into a try..catch, so InDesign will not alert you that it failed. Instead, it will continue with what's after the loop, exactly because the try..catch is around the entire loop!
    Change the loop code to this
    if((elm.xmlElements[i].markupTag.name == "http") && (elm.xmlElements[i].parent.markupTag.name == "extlink"))
        var Store_CitAttri = elm.xmlElements[i].xmlAttributes.item("c_style").value;
        if(Store_CitAttri == "URL")
          elm.xmlElements[i].remove();
           foundtext = foundtext + 1;
           continue;
    Query_Remove(elm.xmlElements[i]);
    so the recursive checking is skipped. You can also remove the entire try..catch block, as this may hide additional errors ...
    The improvement is: as I started reading this thread from the top again, shouldn't you be removing the "extlink" items, rather than just the "http" ones inside?
    If so, remove the parent of the found item (which is always the "extlink"):
          elm.xmlElements[i].parent.remove();
    -- and, as this will break the loop (because you just removed the set of elements it was working in!), replace 'continue' with 'return'.
    Hope this helps

  • Remove XML element with JAXB

    Hi all,
    does anyone knows if it's possible to remove an xml element after that element has been set ? Using only jaxb if possible and not using other technology, for example DOM.
    I explain:
    umarshall car -->setOwner("me"); setSpeed("80"); -->marshall car
    will result into:
    <car>
    <owner>me</owner>
    <speed>80</speed>
    </car>
    I would like something that for example
    unmarshall car -->remove(speed); ....-->marshall car
    would result into:
    <car>
    <owner>me</owner>
    </car>
    could someone point out a way to do that ?
    thanks in advance...

    Okay, after peering over your code and trying a few things out I see one immediate problem and one possible improvement.
    The problem lies in this:
    1. if condition is true, remove item
    2. check recursively
    The problem is .. if an item is removed, the following recursive check will always fail. However, the entire loop is wrapped into a try..catch, so InDesign will not alert you that it failed. Instead, it will continue with what's after the loop, exactly because the try..catch is around the entire loop!
    Change the loop code to this
    if((elm.xmlElements[i].markupTag.name == "http") && (elm.xmlElements[i].parent.markupTag.name == "extlink"))
        var Store_CitAttri = elm.xmlElements[i].xmlAttributes.item("c_style").value;
        if(Store_CitAttri == "URL")
          elm.xmlElements[i].remove();
           foundtext = foundtext + 1;
           continue;
    Query_Remove(elm.xmlElements[i]);
    so the recursive checking is skipped. You can also remove the entire try..catch block, as this may hide additional errors ...
    The improvement is: as I started reading this thread from the top again, shouldn't you be removing the "extlink" items, rather than just the "http" ones inside?
    If so, remove the parent of the found item (which is always the "extlink"):
          elm.xmlElements[i].parent.remove();
    -- and, as this will break the loop (because you just removed the set of elements it was working in!), replace 'continue' with 'return'.
    Hope this helps

  • How to escape or remove the special characters in the xml element by regula

    Hi members,
    How to escape or remove the special characters in the xml element by regular expression  in java??
    For Example ,
    <my:name> aaaa </my:name>
    <my:age> 27 </my:age>
    In the above example , i have to retrieve the value of the <my:name> Element(For examlpe -- i have to get "aaaa" from <my:name> tag)...
    How to retreive this value by using DOM with XPATH in java
    Thanks in Advance

    Hi members,
    I forget to paste my coding for the above question....This is my coding......In this display the error...... Pls reply ASAP.......
    PROGRAM:
    import java.io.IOException;
    import java.util.Hashtable;
    import java.util.Map;
    import org.w3c.dom.*;
    import org.xml.sax.SAXException;
    import javax.xml.parsers.*;
    import javax.xml.xpath.*;
    public class DOMReaderForXMP {
         static Document doc;
         static XPath xpath;
         static Object result;
         static NodeList nodes;
         public DOMReaderForXMP() throws ParserConfigurationException, SAXException,
                   IOException, XPathExpressionException {
              DocumentBuilderFactory domFactory = DocumentBuilderFactory
                        .newInstance();
              domFactory.setNamespaceAware(true);
              DocumentBuilder builder = domFactory.newDocumentBuilder();
              doc = builder.parse("d:\\XMP.xml");
              XPathFactory factory = XPathFactory.newInstance();
              xpath = factory.newXPath();
         public static void perform(String path) throws Exception {
              result = xpath.evaluate(path, doc, XPathConstants.NODESET);
              nodes = (NodeList) result;
         public void check() throws Exception {
              perform("//my:name/text()");
              if (!nodes.item(0).getNodeValue().equals("application/pdf")) {
                   System.out.println("Mathces....!");
    ERROR:
    Exception in thread "main" net.sf.saxon.trans.StaticError: XPath syntax error at char 9 in {/my:name}:
    Prefix aas has not been declared

  • Remove XML tags from XML element in Oracle

    Hi,
    I have a requirement where I have to remove all the xml tags from xml element with banks, currently I'm using replace 4 times to replace all different types of xml tags, performance is really bad. is there any better option to remove xml tags from xml data leaving the actual data. please find the example data below.
    select
    TO_CLOB(REPLACE(REPLACE(REPLACE(REPLACE
    ('<Concatcolumn><ConcatGroupID>MyText Data goes here </ConcatGroupID><ConcatGroupID>Data agian</ConcatGroupID></Concatcolumn>','<ConcatGroupID>'),'<Concatcolumn>'),'</ConcatGroupID>',';'),';</Concatcolumn>')) AS Concatcolumn
    from dual
    **************Out put*************
    MyText Data goes here ;Data agian

    One way is to use xquery:
    SQL> with t as
    select xmltype('<Concatcolumn>
                          <ConcatGroupID>MyText Data goes here </ConcatGroupID><ConcatGroupID>Data agian</ConcatGroupID></Concatcolumn>'
       ) xml from dual
    select xmlquery('string-join(//text(), ";")' passing xml returning content).getclobval() xml from t
    XML                                                              
    MyText Data goes here ;Data agian                                
    1 row selected.

  • Remove line breaks within a xml element

    Hi,
    I have a xml element that contains a long text string with multiple line breaks. something like this:
    text
    text
    text text
    text
    text text text
    text
    How can I remove all line breks except one, i e I still want a line brek after each text line:
    text
    text
    text text
    text
    text text text
    text
    Thanks for you help!
    Magnus

    This is a media object (BLOB) in a JDE report. But we have now modified the report to get the xml file correct from start instead.
    /Magnus

  • Remove spaces out of XML element

    Hi,
    I have a mapping where i map a flatfile to a xml.
    The incoming element can take a max of  27characters, but most of the time we only get 13 characters. So it has some leading spaces in the xml element, how can i remove those spaces?
    The outcome now looks like:
    <ns0:GTIN>    4260004133753</ns0:GTIN>
    But it should be:
    <ns0:GTIN>4260004133753</ns0:GTIN>

    Hi Ronald,
    For removing leading spaces (as seen in your example) you would use
    String Left Trim Functoid
    Maheshkumar S Tiwari|User Page|Blog|BizTalk
    Server : How Map Works on Port Level

  • Create XML Element Tag BasedOn Found Character Style

    Hi,
    Good Day!
    Basically I want to search only for character styles that contains "ntb-", that is why it is hard coded in my searchString variable.
    Although I was able to create XML tag based on selected character style, but it will always add/insert at the end of the parent XML element.
    Can anyone could help me how insert/add that element at the insertion point where the text is found?
    Thanks,
    --elmer
    var myDoc = app.documents[0];
    myDoc.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.POINTS;
    myDoc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.POINTS;
    var charStyles = myDoc.allCharacterStyles;
    var foundStyles = Array();
    var searchString = String();
        searchString = 'ntb-';
    var tempName = String();
    var tempName1 = String();
    for(var i = 1; charStyles.length > i; i++){
       tempName = charStyles[i].name;
       tempName1 = tempName.toLowerCase();
       if(tempName1.indexOf (searchString.toLowerCase()) != -1){
           foundStyles.push (tempName);
    var myDialog = app.dialogs.add({name: "Convert Footnote Character Styles to XML Tags",canCancel:true});
    with (myDialog) {
        with (dialogColumns.add().borderPanels.add()) {
            with (dialogColumns.add()) {
                staticTexts.add({staticLabel: "Character style to search : "});        }
            with (dialogColumns.add()) {
                selCharStyle = dropdowns.add({stringList: foundStyles, selectedIndex: 0, minWidth: 175});
    var dialogShown = myDialog.show();
    while (dialogShown) {
        if (selCharStyle.selectedIndex == 0) {
            alert("Must have at least a character style to search!");
            dialogShown = myDialog.show();
            continue;
        } else {
            insertXMLTags(selCharStyle.stringList[selCharStyle.selectedIndex], selCharStyle.selectedIndex, "0");
            break;
    myDialog.destroy();
    alert("Finished!");
    exit();
    function insertXMLTags(cStyle, cStyleIndex, ip) {
        var myFinds = searchStyle(cStyle, cStyleIndex);
        for (i=myFinds.length - 1; i>=0; i--) {
            var myIP = myFinds[i].texts.item(0).insertionPoints.item(0);
            var myParentXML = myIP.associatedXMLElements[0];
            var myChiidXML = myParentXML.xmlElements.add ( cStyle );
            myChiidXML.contents =  myFinds[i].contents;
            //set the selection
            app.selection = myFinds[i].texts.item(0);
            //remove the selected text
            myFinds[i].texts.item(0).remove();
            Utility Functions         
    function searchStyle(cStyle, cStyleIndex){
        var myFinds;
        // if script version is for Indesign CS2
        if (app.scriptPreferences.version < 5){                                 
            app.findPreferences = NothingEnum.nothing;
            app.changePreferences = NothingEnum.nothing;
            myFinds = myDoc.search(undefined, undefined, undefined, undefined,
            {appliedParagraphStyle: pStyle, appliedCharacterStyle: cStyle});
        // else, for CS3 and CS4
        }else{                                 
            //Clear any existing find/change settings
            app.findTextPreferences = NothingEnum.nothing;
            app.changeTextPreferences = NothingEnum.nothing;
            // set character or paragraph style to search
            if (cStyleIndex != 0){ 
                app.findTextPreferences.appliedCharacterStyle = cStyle;
            //Set the find options.
            app.findChangeTextOptions.caseSensitive = false;
            app.findChangeTextOptions.includeFootnotes = true;
            app.findChangeTextOptions.includeHiddenLayers = false;
            app.findChangeTextOptions.includeLockedLayersForFind = false;
            app.findChangeTextOptions.includeLockedStoriesForFind = false;
            app.findChangeTextOptions.includeMasterPages = false;
            app.findChangeTextOptions.wholeWord = false;                             
            myFinds = myDoc.findText();
        return myFinds;

    Here is a way you can find any field.
    Download the current template.
    Open it in word and go to the line that you are interested in.
    The blanket PO# will be a field. Right click on it and go to properties. You will see the xml element there.
    Hope this answers your question,
    Sandeep Gandhi

  • Dynamically Using  XML Element name as column names

    I have a requirement where I need to show data for 31 days or days of the month based on the data in the xml result.
    Based on the month you are running the report, some may have 28 elements and some may have 31 elements in the data for days.
    How do I dynamically show 28 columns or 31 columns etc - the trick here is I have to use the name of the XML element and not the value for column names.
    My requirement is like this.
    Deal --------01 -------- 02 -------- 03 -------- 04 05 .upto ... 31days
    Deal 1 : 22218 : 32218 : 11918
    Deal 2 : Qty1 : Qty2 : Qty3
    I need to be able to use the XML Element names , Day01, Day02 etc as the column names in the report.
    How can I use the XML Element name - in this case I need to remove the "Day" and use just the number part for the column name.
    I can't have xml element names as numbers, thats why "Day" string is prefixed.
    <Row state="">
    <DEAL>Deal 1</DEAL>
    <PORTFOLIO>AM ST Prod PDP</PORTFOLIO>
    <CPTY>DTEGO</CPTY>
    <FACILITY>MICHCON</FACILITY>
    <POINT>100013 : Chestonia 17-Rec</POINT>
    <TYPE>Purchase</TYPE>
    <Day01>22218</Day01>
    <Day02>32218</Day02>
    <Day03>11918</Day03>
    <Day04>11918</Day04>
    <Day05>11918</Day05>
    <Day06>11918</Day06>
    <Day07>11918</Day07>
    <Day08>11918</Day08>
    <Day09>11918</Day09>
    <Day10>11918</Day10>
    <Day11>11918</Day11>
    <Day12>23238</Day12>
    <Day13>11918</Day13>
    <Day14>11918</Day14>
    <Day15>11918</Day15>
    <Day16>32328</Day16>
    <Day17>11918</Day17>
    <Day18>11918</Day18>
    <Day19>11918</Day19>
    <Day20>11918</Day20>
    <Day21>11918</Day21>
    <Day22>11918</Day22>
    <Day23>11918</Day23>
    <Day24>11918</Day24>
    <Day25>11918</Day25>
    <Day26>11918</Day26>
    <Day27>13511</Day27>
    <Day28>13550</Day28>
    <Day29>13550</Day29>
    <Day30>13550</Day30>
    </Row>

    I have a requirement where I need to show data for 31 days or days of the month based on the data in the xml result.
    Based on the month you are running the report, some may have 28 elements and some may have 31 elements in the data for days.
    How do I dynamically show 28 columns or 31 columns etc - the trick here is I have to use the name of the XML element and not the value for column names.
    My requirement is like this.
    Deal --------01 -------- 02 -------- 03 -------- 04 05 .upto ... 31days
    Deal 1 : 22218 : 32218 : 11918
    Deal 2 : Qty1 : Qty2 : Qty3
    I need to be able to use the XML Element names , Day01, Day02 etc as the column names in the report.
    How can I use the XML Element name - in this case I need to remove the "Day" and use just the number part for the column name.
    I can't have xml element names as numbers, thats why "Day" string is prefixed.
    <Row state="">
    <DEAL>Deal 1</DEAL>
    <PORTFOLIO>AM ST Prod PDP</PORTFOLIO>
    <CPTY>DTEGO</CPTY>
    <FACILITY>MICHCON</FACILITY>
    <POINT>100013 : Chestonia 17-Rec</POINT>
    <TYPE>Purchase</TYPE>
    <Day01>22218</Day01>
    <Day02>32218</Day02>
    <Day03>11918</Day03>
    <Day04>11918</Day04>
    <Day05>11918</Day05>
    <Day06>11918</Day06>
    <Day07>11918</Day07>
    <Day08>11918</Day08>
    <Day09>11918</Day09>
    <Day10>11918</Day10>
    <Day11>11918</Day11>
    <Day12>23238</Day12>
    <Day13>11918</Day13>
    <Day14>11918</Day14>
    <Day15>11918</Day15>
    <Day16>32328</Day16>
    <Day17>11918</Day17>
    <Day18>11918</Day18>
    <Day19>11918</Day19>
    <Day20>11918</Day20>
    <Day21>11918</Day21>
    <Day22>11918</Day22>
    <Day23>11918</Day23>
    <Day24>11918</Day24>
    <Day25>11918</Day25>
    <Day26>11918</Day26>
    <Day27>13511</Day27>
    <Day28>13550</Day28>
    <Day29>13550</Day29>
    <Day30>13550</Day30>
    </Row>

  • Using REGEXP_REPLACE to remove XML data from between XML tags

    Hello there,
    I am trying to use the REGEXP_REPLACE SQL function on a piece of XML, to remove the actual XML data from the elements. My end goal is to end up with a comma-delimited list of XML element names. As part of the first step, I just want to rip out all the actual data.
    I tested the following query, and it initially appeared to work:
    SELECT REGEXP_REPLACE('&gt;THIS IS A TEST&lt;',
                          '&gt;([[:alnum:]]\s|\S)*&lt;',
                          '&gt;&lt;' ) AS test_result
      FROM dual;Unfortunately, when I applied this to a full XML string, it didn't work. Here is the test query I used:
    SELECT REGEXP_REPLACE('&lt;ROW&gt;&lt;TEST_ELEMENT1&gt;123&lt;/TEST_ELEMENT1&gt;&lt;TEST_ELEMENT2&gt;THIS IS A TEST!&lt;/TEST_ELEMENT2&gt;&lt;/ROW&gt;',
                          '&gt;([[:alnum:]]\s|\S)*&lt;',
                          '&gt;&lt;') AS test_result
      FROM dual;I ended up with the following output:
    *&lt;ROW&gt;&lt;/ROW&gt;*
    What I was trying for was:
    *&lt;ROW&gt;&lt;TEST_ELEMENT1&gt;&lt;/TEST_ELEMENT1&gt;&lt;TEST_ELEMENT2&gt;&lt;/TEST_ELEMENT2&gt;&lt;/ROW&gt;*
    If you're reading this and you're a Posix RegExp Guru, please could you let me know exactly where I'm going wrong? RegExps are not my strong point, but I'd like to get better at them.

    jmcnaug2 wrote:
    Just out of interest, how would you go about writing the XQuery function so that it returns the actual XML Element values in comma-delimited form (This is Oracle Canonical XML, so has a very basic layout)? ;)Do you mean like this ?
    SQL> SELECT xmlquery(
      2    'for $i in $d/ROWSET/ROW
      3     return string-join($i/*, ",")'
      4    passing dbms_xmlgen.getXMLType('SELECT employee_id, last_name, first_name FROM employees WHERE rownum < 10') as "d"
      5    returning content
      6  ).getClobVal() as csv
      7  FROM dual;
    CSV
    100,King,Steven
    101,Kochhar,Neena
    102,De Haan,Lex
    103,Hunold,Alexander
    104,Ernst,Bruce
    105,Austin,David
    106,Pataballa,Valli
    107,Lorentz,Diana
    108,Greenberg,Nancy
    SQL>

  • Remove XML Not In Schema

    Hi,
    I was wondering if anyone knew of a library that would take an XML document and a schema and remove any invalid nodes (i.e. those not in the schema). I'm wanting this so I can create a schema that's a subset of the XHTML schema and validate user inputted XHTML based on this.
    Or could anyone suggest an alternative way to do this? Thanks.
    -Sam

    Offhand, no library that I can think of. Normally, a schema is used to verify that some client is providing you with valid data ... re-arranging bad data until it looks good is a fringe application.
    As for writing such a thing yourself ... it's difficult. I did the opposite, creating a library that lets you add XML elements into the proper place in the document based on a schema. But it was for a very limited problem domain, and the schema documents weren't very complex -- just nested sequences with the occasional choice thrown in.
    so I can create a schema that's a subset of the XHTML schema
    and validate user inputted XHTML based on thisThis may be slightly easier. Depending on what elements you want, you can simply traverse the document and throw out anything else. Then pass the result to your validator.
    If you want context, it's going to be a lot harder (ie, throw out <b> when it's inside a <dl> but not when it's inside a <ul>). In this case, you'll probably need to write a parser (using JavaCC, for example) that responds to error conditions by throwing out the offending elements.

  • Unmapping styles to remove XML tags

    I have an AppleScript that sets up an XML Export Map for style to tag mapping, using a known set of customer styles, and I'm adding a check for non-standard (unmapped) styles to include those as well as unknownstyle tags. This is all working well.
    What I'd like to do now is create an Unmap script that would remove all style level tags, leaving just frame level tags. The customer is working with K4, and sometimes articles will be reworked after initial processing, or be copied to start a new version of the file. So we'd like tags out for a cleaner file at that stage, which they'll then retag at the end of the editing prior to export.
    While this is easy through the UI (edit style to tag mapping, and choose [Not Mapped] as the target tag for a given style sheet), I can't find any way of doing the same through AppleScript. I have tried setting the markup tag property to "", null, 0, [Not Mapped], and a few other things, without success.
    Does anyone know of a way of doing this, or know if it is unsupported on the script side so I can stop looking?
    Thanks, John

    Hi Marc,
    It looks like that is the way to go. I was hoping to find a way to unmap specific style sheets, since that would be the direct opposite of the process used to add style sheet level tags in the first place. (And the articles also contain frame level tags, which I do not want disturbed by this process.) But while that action is possible through the UI, it does not appear to be supported via scripting.
    However, by looping through and untagging XML elements of XML elements of the main XML element, the result appears to be correct. I'm not entirely clear why this is working, since the second level is not just the frame level tags, but the results look good, so as long as this keeps working I won't worry about exactly why.
    Thanks,
    - John

  • Delete xml element not used in document

    Hi,
    If you have a number of texts tagged with an xml element and then delete the text, the element still exist in the structure.
    You can see the element still connected to a text, by the blue diamond on the element symbol.
    But i want do delete the elements that have no connection to texts, but cant find the right property to look for.
    In Java script CS4.
    Anyone knows?
    /Mikael

    If the (text) element is unplaced, its parentStory will be an XmlStory rather than a Story.
    So try:
    var elements = app.activeDocument.xmlElements[0].xmlElements.everyItem().getElements();
    for (var i = elements.length - 1;i >= 0;i--){
        if(elements[i].parentStory.constructor.name === "XmlStory"){
            elements[i].remove();
    This is untested. If you have tagged graphics frames it will need to be modified to not error on those.
    Jeff

  • XML element missing

    hi there
    Does anyone know if Oracle has removed the Extend XML element from the Funds Capture Extract data definitions. I can see the document (oracle Payments Implementation guide) showing that the Extend element should at all levels but when I look at the iby package/views that build the extract does not have that element in the structure??
    Can anyone tell me how to get custom data in the XML so I can use it in my funds capture output.
    thanks.

    Hi,
    You could try one thing.
    Instead of taking the xml from PI , just check out if the proxy works with the auto generated xml in test.
    If required, could edit the values only.
    If it works, then compare both the xml.
    Also, try regenerating the proxy.
    Regards,
    Manjusha

  • [CS5-5.5][JS] Replace xml element content with user selection

    Hi,
    I'm trying to write a script that replaces xml element content with a user selection.
    I have document containing a textframe with a "root" tag attached. In this frame I have 2 paragraphs, each tagged with a different tag.
    I would like to replace the content of one of the paragraphs with the content of a text selection.
    This piece of code doesn't seem to work:
    myXMLElement.xmlContent = app.selection[0];
    The problem is that almost all properties of the xmlelement (paragraphs, words, etc) are read-only.
    Does anyone have any suggestion?
    Thanx

    It depends on whether you want to maintain formatting. You can use
    myXMLElement.contents = app.selection[0].contents;
    in the (unlikely?) event that you don't mind blowing away the formatting. Otherwise you'll want to use something like:
    myXMLElement.xmlContent.remove();
    app.selection[0].duplicate(LocationOptions.AT_BEGINNING, myXMLElement.xmlContent);
    Jeff

Maybe you are looking for

  • I recently updated Firefox and something called Fantistic Games has taken over my homepage and I can't get rid of it.

    I used to get a field of 9 options to open when I opened a new page by clicking on the + button on the right side of the Search tab. After I updated Firefox a couple of days ago, my homepage had been taken over by something called "Fantasti Games". I

  • Need help getting my EVDO to work again - lost without it!!

    My BB no longer picks up the EVDO or 1X signal. All I have now is 1x. This started to happen when I returned to Canada from a vacation in Jamaica. For this reason I have a feeling that the problem may be software related and not a hardware problem. M

  • Simple question. How do you reset an ipod to a new user??

    A friend gave me his old 4th generation ipod and I have downloaded the current version of iTunes, and now I would like to erase all his music, data and name etc and put in my info, songs and data. My question is.....How do you erase all current data

  • How to switch to primary library ??

    I'm connected to ATV from a second library(streamed), now I want to open the primary library. In apple tv I see that my primary lib. is with chain but is gray color. If I close iTunes it saids that one or more ATVS are connected to iTunes and will be

  • Invoice rfc

    hi pals, I have to do one dummy scenario, I have created the all the information such as company information, product information, release of the SAP Business System , namespace, etc. Now the integration scenario is – <b>IS_PurchaseOrderGetDetails</b