Script to map xml tags to para styles

I am using the 'FindChangeByList.jsx' to format a series of text files.
I realise that I can map tags to styles using the 'Tags" palette.
But I wondered, if it is possible, if someone would be able to show me the syntax to include in my list (.txt file) to map xml tags to paragraph styles assigned in the list as it runs the script?
Steve

If you want through find and change here below is a function for apply tag on paragraph style
var myDoc = app.activeDocument;
addtags("A Head", "Head");
addtags("Text", "P");
function addtags(stylename, tag)
if(myDoc.paragraphStyles.item(stylename) != null)
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '.+';
app.findGrepPreferences.appliedParagraphStyle = stylename;
app.changeGrepPreferences.markupTag = tag;
myDoc.changeGrep();
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
Shonky

Similar Messages

  • Mapping XML tags to paragraph styles that contain nested styles

    I am importing XML into InDesign (CS5.5) and the tag mapping to styles is working fine until I get to a paragraph style that contains a nested style.
    I have a sentence that starts with a number:
    1the dog runs fast.
    In InDesing properly styled looks like this:
         1  The dog runs fast.
    (tab)1(tab)The dog runs fast.
    The number is styled with a character style (Number) and the whole sentence is styled with a paragraph style (Sentence). In order to get the tabs in between the number, I have a nested style within the paragraph style (Sentence). This triggers the tabs when it hits the character style (Number) like this:
    Number up to 2 Tab Characters
    In XML, it looks like this
    <sentencetag><numbertag>1</numbertag>The dog runs fast.</sentencetag>
    Sentencetag is mapped to Sentence paragrph style and Numbertag is mapped to Number character style, but the nested style for the tabs are not displaying. I just get this in IND.
    1the dog runs fast.
    Everything works beautifully until I hit the nested styles, which I do need to get to work somehow. Any help would be much appreciated.
    Thanks in advance!

    It sounds like your tab characters are actually disappearing from content in the XML. Jeff was responding to the fact that they need to be there, and you state that you originally had them in your document, but they are not showing up once imported through the XML.
    The tabs may be disappearing in the XML document due to the "TAB" character in your text editor not being a tab, or at least not properly-formed XML TAB equivalent, OR because you are not "importing whitespace elements" when you import your XML.
    Importing whitespace elements can wreak havoc on other things in your XML structure and styled layout within the Indesign document, so I would put the XML quivalent of TAB everywhere a tab should be in your XML, and make sure NOT to import whitespace (when importing XML using "Merge Content", select not to import whitespace items from the import options).
    I believe the XML friendly character code for a TAB character is "&#9;" or "&#09;" but have not tested this. Don't include quotes when adding the character code, just the ampersand, semicolon, and everything in-between.
    Also, sounds like your tags are mapping ok for you, so your XML should look something like:
    <sentencetag>&#9;<numbertag>1</numbertag>&#9;The dog runs fast</sentencetag>.
    It should't matter where you put the TAB character equivalent in relation to your nested tag.

  • Edit JS Script CS4 (Add XML Tags All pages automatically)

    Hi, all Scripter
    I have a javascript for add xml tags (ETMV2 Pearson, InDesign CS4).  We have select my powermath equation data then run script. Script automatically insert xml tags both side (open/close). But we select one by one then run script its time taking.
    var d=app.activeDocument,
    root=d.xmlElements[0],
    ie = root.xmlElements.add("inlineequation", app.selection[0]),
    im = root.xmlElements.add("inlinemediaobject", ie.texts[0]),
    to = root.xmlElements.add("textobject", im.texts[0]);
    to.xmlAttributes.add("role", "xpressmath");
    Example 1: My powermath equation data (InDesign CS4)
    [&x^{2}+y *frac*{1}{2x}&]
    Select powermath equation data then run javascript below mention. Script insert xml tags.
    <inlineequation><inlinemediaobject><textobject>[&x^{2}+y *frac*{1}{2x}&]</inlineequation></inlinemediaobject></textobject>
    Its time taking and select one by one
    Result:
    My main concern is that is this possible script find open [& and close &] all poermath equation data automatically then insert (add) xml tags all pages.
    Thank/Regard
    snegig

    Hi,
    John Hawkinson thank you so much your suggestion.
    I am new  this type of discusion (on this page). So i think anybody could not replay my answer. So i repost my question.
    I want insert tags in my Indesign CS4 files. Is this posible when i select my powermath equaiton then run script. Script add tags automatically before/after my equation. Please ignore IDML word.
    Yes i an comfortable with XSLT presently i working with Pearson ETMV2.
    I have one more question when i past my snapshot its appear properly but when i agin see my commant then my snapshot disappear (see small blue rectangle).
    Thank you John again i am new in this industry please guide.
    snegig

  • Map XML tag to an object style

    Hi everyone!
    I am not sure this is the correct place to post it, but i didn't find any "tagging" department of the forums.
    I do import some XML into ID document.
    Text nodes of my XML are imported properly, and i can map any tag of XML to one of the paragraph or table styles.
    But, when i import any images (or another ID documents) with <... href="..." />, how can i map that tag to an object style?
    ///////////// It would be very helpful for example when i'm going to set the stroke of 1pt to all of inline images of text frame.
    Please any feedback would be helpful.
    Alex.

    I will try to give an example, just to give a kick start ........... you need little bit of tweaking to meet your actual requirement:
    suppose you have an xml element "tag" having an attribute "@href" with object style name defined as  it's value. 
    <tag href="object_style_name">
    "object_style_name" is a object style and should exist in your document. To map the tag with the corresponding object style value you can use XMLRules in JS:
    //NOTE: NOT TESTED, BUT SHOULD WORK
    #include "glue code.jsx"
    main();
    function main(){
    if (app.documents.length != 0){
    var myDoc = app.activeDocument;
    var myRuleSet = new Array (
    new findObjAttribute("//*[@href]")
    with(myDoc){
    var elements = xmlElements;
    __processRuleSet(elements.item(0), myRuleSet);
    else{
    alert("You have no document open!");
    exit();
    function findObjAttribute(XPATH){
    this.name = "findObjAttribute";
    this.xpath = XPATH;
    this.apply = function(myElement, myRuleProcessor)
    //Just to check whether the collect element is selected
    var elmName=myElement.markupTag.name;
    var styleName=myElement.xmlAttributes.itemByName("href").value;
    with(myElement){
    try {
    applyObjectStyle(myDoc.objectStyles.item(styleName), true);
         } catch(e){};
    return true;
    HTH,
    Pankaj Chaturvedi

  • Issue mapping XML tags with element id's

    I know how to map standard XML tags into a template, but how do you handle an XML document formatted like this?
    <?xml version="1.0" encoding="UTF-8" ?>
    - <claims>
    - <claim type="institutional">
    - <loop id="HEADER">
    - <seg id="BHT">
    <ele id="BHT01">0019</ele>
    <ele id="BHT02">00</ele>
    <ele id="BHT03">0000</ele>
    <ele id="BHT04">20090806</ele>
    <ele id="BHT05">104133</ele>
    <ele id="BHT06">CH</ele>
    </seg>
    - <seg id="REF">
    <ele id="REF01">87</ele>
    <ele id="REF02">004010X096A1</ele>
    </seg>
    - <loop id="1000A">
    - <seg id="NM1">
    <ele id="NM101">41</ele>
    <ele id="NM102">2</ele>
    <ele id="NM108">46</ele>
    </seg>
    - <seg id="PER">
    <ele id="PER01">IC</ele>
    </seg>
    </loop>

    its again standard way of mapping.
    use attribute and map it.
    what is the requirement ?
    little more info on how you get this xml, how do you want to make the output to be ? etc..

  • Map two tag with single style JS[CS4]??

    I've tried to come up with solution but still fail to get anything positive if I wanted to tag two tag(consecutive) to one style e.g. see sample code
    <Art>
    <Head1>This first heading</Head1>
    <p>This is <it>first</it> para</p>
    <Head2>This <b>second</b> heading</Head2>
    <body-text>This is body <sup><it>this text should be in italic superscript</it></sup> text para</body-text></Art>
    Sample script code:-
    var myDocument = app.documents.item(0);
        var myPage = myDocument.pages.item(0);
    myDocument.xmlImportMaps.add(myDocument.xmlTags.item("Head1"), myDocument.paragraphStyles.item("Head1"));
    myDocument.xmlImportMaps.add(myDocument.xmlTags.item("Head2"), myDocument.paragraphStyles.item("Head2"));
    myDocument.xmlImportMaps.add(myDocument.xmlTags.item("p"), myDocument.paragraphStyles.item("Para"));
    myDocument.xmlImportMaps.add(myDocument.xmlTags.item("body_text"), myDocument.paragraphStyles.item("Body"));
    myDocument.xmlImportMaps.add(myDocument.xmlTags.item("sup"), myDocument.paragraphStyles.item("Sup"));
    myDocument.xmlImportMaps.add(myDocument.xmlTags.item("it"), myDocument.paragraphStyles.item("Italic"));
    myDocument.xmlImportMaps.add(myDocument.xmlTags.item("b"), myDocument.paragraphStyles.item("Bold"));
    //What else could be here kindly suggest
    myDocument.mapXMLTagsToStyles();
    My requirement is to apply "SupItalic" style at bold character tags
    Mac

    Hi Pankaj,
    This requirement will be achieved only by script, no other way.
    Thanks,
    Praveen

  • Need to re-tag some Para styles of imported Word docs

    I'm hoping someone can help. I have a fairly modest-sized help system that is created from imported Word Docs (Office Word 2003). These documents use conventional paragraph styles (Heading 1, Heading 2, etc.).
    In my RoboHelp X5 project, I've created a custom CSS file that I apply to the imported Word docs. After importing any of the docs, some of my paragraph styles become misaligned: for example, my Heading 3 paragraphs are flush with the left margin, rather than indented as they should. When I click inside the mis-aligned paragraph, I see that the paragraph is indeed tagged as Heading 3. At fist I thought it might have been my CSS file style definitions, but they appear to be fine. In fact, all I have to do to correct the paragraph alignment is to reassert the tag (ie From the RB Project window, click the para (the fomating combo box reads Heading 3), reselect (reapply) the style (Heading 3), and then select "Reapply formatting  of the style to the selection" from the Update/Reapply Style dialog. RH then correctly applies the alignment defined for the style in my CSS. Note, this appears only to be an alignment issue; the fonts and other attributes always seem to work on import. Unfortunately, I have to do this hundreds of times because I seem to have several styles that need retagging after import.
    Any ideas? I downloaded a trial copy of RB 8, hoping this was peculiar to X5, but RB8 behaved the same way.  If it's any help, I've pasted the HTML coding for a Heading 3 paragraph, 1) just after import 2) the para after Heading 3 style was reasserted. For some reason RH is "margin left" and "text-indent" attributes.
    1) Immediately after import
    <h3 style=
    "margin-left: 40.3pt; text-indent: -40.3pt;">2.2.1<span style="font: 7.0pt 'Times New Roman';">     
    </span>Using the Stylus</h3> 
    2) After retagging as heading Heading 3
    <h3>
    2.2.1<span style="font: 7.0pt 'Times New Roman';">     </span>Using the Stylus</h3>
    Thanks.....rob

    Judging from the excess spacing between the "2.2.1" and the H3 title, I suspect that your Word file has a tab set in there. I believe replacing the tab with one or two spaces should import the file without the indent.
    As to the font (span) tagging, are you sure that your Heading 3 style in Word is the original, default Heading 3, and not some re-styled Heading 3 based on Normal or something else, or a "Heading 3 + Font: 7 pt, Times New Roman", which would indicate inline modification of the style rather than a global replacement of settings for the style? I've never seen RH add span tagging unless it encounters non-standard styles in the base document.
    Select a test .doc file. Before importing it to RH, try these:
    Use Format Painter in Word to manually re-style any non-standard paragraphs.
    Do not attach a .css to the Word file, only to the resulting RH topic.
    Do you see a difference?
    Good luck,
    Leon

  • Mapping of XML tags with column

    My xml structure is :
    <PARAMS>
    <ROWSET>
    <ROW NUM="1">
    <SID>man123</SID>
    <PO>
    <PO>OBJ1</PO>
    <PI>
    <PI>PARENTOBJ1 INSTANCE</PI>
    </PI>
    </PO>
    </ROW>
    </params>
    My table structure is :
    CREATE TABLE TEMP(SID VARCHAR2(20),PO POBJECT_T)
    where Object types are:
    CREATE OR REPLACE TYPE PINSTANCE_T AS OBJECT (PI VARCHAR2(255),CO COBJECT_T);
    CREATE OR REPLACE TYPE POBJECT_T AS OBJECT (PO VARCHAR2(255),PI PINSTANCE_T);
    To store this XML directly into table i have to have Column with name "PO" (same as XML tag).I am using this same table to store other XML with same tags . With this limitation its difficult to do so.Is there any way to map XML tag to column with different name????
    Thanks

    Hi,
    thx for your Reply,
    seems to work basicly but i get now in the IDE warnings with:
    "Data binding will not be able to detect changes when using
    square bracket operator. For Array, please use
    ArrayCollection.getItemAt() instead. "
    And how can i access the next item something like this didnt
    work right
    try someniceid.lastResult["some-root"]["someother-root"]
    I had to use single quotes (') to get it to work.
    Any ideas?
    Kind regards,
    Marko

  • Export Tags for Paragraph styles in Indesign CC without classes

    With CS6, when you set export tags for para styles, you could export them to epub without classes, for example body text as p, headings as h1 or h2 etc - without need for classes. This made very simple code. With Indesign CC, it seems that classes always get added no matter what. So all your body text is tagged with p with a class of normal or something. Is there a way to go back to setting export tags as straight p of h1, h2 tags??

    Nope. It was an intentional change on our part for CC.
    I do understand there are a number of folks who would like the option to do this on a per Style basis and I'm very actively considering it for a future CC update.
    Douglas Waterfall
    Architect, InDesign Engineering

  • Add XML tag (all power math equation) after/before

    Hi all,
    I have JS code written by (Sir John Hawkinson "http://forums.adobe.com/thread/938603?tstart=90") its work fine. Actually script do add XML tags [&x+2&] after/before this power math equation.
    My problem when i run this script i am select matter (power math equation) one by one is that possible when i select few paragraph script add automatic xml tags select all "power math equation" matter.
    script code below:
    var d=app.activeDocument,
        root=d.xmlElements[0],
        ie = root.xmlElements.add("inlineequation", app.selection[0]),
        im = root.xmlElements.add("inlinemediaobject", ie.texts[0]),
        to = root.xmlElements.add("textobject", im.texts[0]);
    to.xmlAttributes.add("role", "xpressmath");
    Thank's
    Regard
    snegig

    Hello Sir,
    That time you suggest lots of possibility this script code. But 2 and 3 month i am very new in (InDesign, JS and my first jobs) so i have heavy workload so.
    I am really sorry once again could you any change/update this code.
    Thank you so much once again
    Regard
    snegig

  • Find XML Tags then apply para style

    Hi everyone,
    I need your help for find xml tags and apply para graph style in InDesign CS2. We have 200 xml files apply only 7 type of paragraph styles so any one help and any JS/Apply script or any other find and replace method. I am really appreciate of my bottom of heart.
    thank you so much.

    Hi,
    Try:
    #include "../XML Rules/glue code.jsx";
    var myDoc = app.documents.item(0);
    var myRuleSet = new Array (new applyParaStyle());
    with(myDoc){
            var elements = xmlElements;
            __processRuleSet(elements.item(0), myRuleSet);
              function applyParaStyle(){
                        this.name = "Xp";
                        this.xpath = "//restaurant_name";
                        this.apply = function(myElement, myRuleProcessor){
                                  with(myElement){
                    switch(insertionPoints[0].parentTextFrames[0].parentPage.appliedMaster.name){
                        case "X-Master":                   
                        app.select(texts);
                        app.selection[0].fillColor = myDoc.colors.item("xxxx");
                        break;
                        case "guide-Scotland":
                        app.select(texts);
                        app.selection[0].fillColor = myDoc.colors.item("scotland");
                        default:                   
                        break;
                                  return true;

  • [CS5 JS] Problem in Applying character styles xml tag names

    Hi,
    e.g. 1
    <italic>This is a italic text with <sup>superscript value</sup></italic>
    e.g.2
    <sup>This is a superscript text with <bold>Bold superscript</bold></sup>
    <italic>  mapped to character style "italic" and
    <sup> mapped to character style "sup"
    In my java script I already mapped the xml tags to specific character styles. In some of the cases (see e.g.1 and e.g.2) I need to map it to other character styles.
    In e.g.1 I need to apply a new character styles "italicSup" for the text "superscript value" same way
    In e.g.2 I need to apply a new character styles "BoldSup" for the text "Bold superscript".
    Can any know how to do this?
    Green4ever

    FYI, I am using
    Win Xp-SP2, CS5 7.0.3

  • Autogenerate XML tag names from other style palettes

    Map Styles to Tags works great when you already have a bunch of tags named identically to the other styles you want to map. Today, however,  I had to manually create and type in tag names to match about 25 paragraph styles. Ick!
    It would be really neat if you could select a bunch of styles in the Para or character Styles palettes and have a "Create Matching Tags" command that would automatically add tags matching those style names to your Tags list. No muss, no fuss, no typos.
    Thanks! The XML fuctions are mostly extremely cool!

    FYI, I am using
    Win Xp-SP2, CS5 7.0.3

  • Map tags to object styles?

    Hello ID users & developers!
    Well, now i know that tags from imported xml can be mapped to corresponding paragraph or table styles of ID document.
    But, if i have to map any tag to an object style?
    I import images with <Image href='image_path' /> tag.
    Now, how can i bind it to Image object style?
    Thanks in advance, Alex.

    It does not.
    It would be nice though some day.

  • Assign paragraph-styles to xml-tags correctly. How to?

    Hi,
    I want to assign xml-tags to existing paragraph styles in InDesign CS6 on a Mac 10.6.8. The xml itself is organized like this:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <katalog>
    <artikel id="32434">
    <img href="/bilder/32434.tiff" />
    <artikeltextgruppe>
    <artikelmarke>DieselGabana</artikelmarke>
    <artikelheadline>Jeans ist super</artikelheadline>
    <artikeltext>Superjeans knallt rein.</artikeltext><artikelnummer>70238</artikelnummer>
    <artikelmaterial>100% Jeans</artikelmaterial>
    <artikelgroesse>Uni</artikelgroesse>
    <artikelfarbe>Uni</artikelfarbe>
    </artikeltextgruppe>
    </artikel>
    </katalog>
    By selecting the option "Assign formats per name to the tags" (translated from German) I wanted to generate the desired look. But if I start this all I get is the whole textblock of <artikeltextgruppe> assigned to 1 formatstyle. And besides that the whole content of <artikeltextgruppe> looks like one single paragraph without any structure (no linebreaks) The content though is correctly structured because I can highlight the value of e.g. <artikelmarke>separately by doubleclicking this tag in the structure-view.
    a) What can I do to assign the formats correctly AND to have correct linebreaks?
    b) If I drag my node <img href="/bilder/32434.tiff" /> iin the layout I get a message displayed to search again for the correct reference location. And that happens independently on using relative or absolute references (Although I need to use relative ones) What can I do here?
    thanks so much

    First, I would probably do a search and replace to remove the group element using a text editor (the <artikeltextgruppe> and </artikeltextgruppe> elements). They really are not needed.
    Second, I usually create my styles with the same names as the elements themselves. Then, after the XML is imported, I use the "map tags to styles" command from the Structure pane.
    I copied and pasted the single artikel element to create 4 records, added a varition of an image to each element record. Once the paragraph styles were mapped, your XML looked like this in a two column format (to get all 4 records on a page)...
    By default, ID will create a single line to a single line in the XML. So if you desire elements to be on their own line, the XML needs to be formatted that way. If you need different styling within a paragraph, you need to create character styles and alter the elements within an XML group and or paragraph and add the code in the XML accordingly or post process once inside of ID.
    I always need to take the XML I am given and reformat, move elements with the tree, change links to images, remove tabs and or spaces where I do not want them, tag for character styles, etc., to get close to how I want the initial format to be.
    Mike

Maybe you are looking for

  • Video not included in web gallery

    I imported a collection of photos and videos. The videos appear in the library, but not in the web module. Is there a way to include these videos in the exported web gallery? If Lightroom does not support this directly, are there any web tutorials th

  • Does apple have any products to facilitate video input on iMac 27"?

    I want to input video to my iMac 27". I assume you can add a display port video card to a pc, what about VGA and hdmi support?  Has apple addressed this?  I know there was the belkin av360, apple doesnt like It anymore?

  • Email button works in preview mode but not when published to PDF

    I thought I had cracked everything but -  I have set preferences to email results to a specific address. In preview mode this works and outlook is opened with all the details. Once I have published to Acrobat 9 pdf - there is no response to the email

  • Error with mixed AADC after 8.00c.07

    After updating to 8.00c.07 some of our presort reports are not matching with what was populated in the data tables. As an example, the qualification report will show 100 pieces qualifying as 3 digit 945, but the database field for those same statemen

  • Onpen line item indicator in GL account

    Hi, The GL account was not intailly active for open line item management. there was some posting made to that gL account. Later all the posting of that particular Gl account was reversed. now the balance of the GL account is zero. Now i tried to chan